Abstract

Nowadays it has become clear that no data store is all-purpose. SQL-based systems have been prevalent for several decades though this approach leads to serious issues in modern high scalability architectures. Thus, a number of different data stores have been designed to fulfill the needs of large-scale Web applications. Moreover, a single application often tends to use multiple data stores for different purposes and data. This paper covers common approaches to data persistence implementation and data store abstraction and also reveals basic considerations for design of a multi-store persistence layer for scalable Web applications. The paper consists of five sections. The first section (Introduction) discusses a problem of data management in the context of modern approaches to Web-applications design and development. The second section describes the most popular solutions of this problem based on traditional SQL-based DBMSs. Some limitations of these solutions are considered. The third section of the paper presents an overview of adventures and limitations of approached based on NoSQL DBMSs. A proposed novel approach of combine use SQL-based and NoSQL systems to develop and run Web-applications is a theme of the forth section. The final section concludes the paper.

Highlights

  • SQL-based systems have been prevalent for several decades though this approach leads to serious issues in modern high scalability architectures

  • A number of different data stores have been designed to fulfill the needs of large-scale Web applications

  • The second section describes the most popular solutions of this problem based on traditional SQL-based DBMSs

Read more

Summary

Введение

В последнее время Web-приложения приобрели огромную популярность. С развитием Интернета всё острее встаёт проблема разработки приложений, которые могут легко масштабироваться, то есть адаптироваться к постоянно возрастающим нагрузкам. Наиболее часто используемой для Web-приложений архитектурой является Модель – Вид – Контроллер (Model – View – Controller, MVC). В данной статье будут рассматриваться вопросы, связанные с Моделью, которая обычно состоит из объектной модели предметной области (ключевые абстракции и связи между ними), слоя доступа к данным, структур для проверки прав доступа, форм, правил проверки корректности данных и других компонентов, реализующих бизнес-логику приложения. Так как объектная модель приложения и модель данных хранилища имеют различные структуры и оперируют разными понятиями, то необходим промежуточный слой доступа к данным, осуществляющий отображение между объектами языка программирования и базой данных и предоставляющий интерфейс вышестоящим уровням. В данной статье рассматриваются различные аспекты реализации доступа к данным: выбор подходящего хранилища, модели и уровня согласованности данных, взаимосвязь абстракции и производительности, а также совместное использование различных СУБД для решения задач масштабирования

Web-приложения и SQL
SQL и ООП
Проблемы реализации ORM
Масштабирование на уровне SQL СУБД
Web-приложения и NoSQL
Согласованность данных
NoSQL и ООП
Преимущества и проблемы NoSQL
Совместное использование SQL и NoSQL-систем
Абстракция от деталей хранения
Проблемы реализации и возможные решения
Заключение
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call