Для управления данными, которые не подходят под реляционную модель, используют NoSQL базы данных. Для хранения таких данных есть разные виды нереляционных моделей – графовые, ключ-значение, документные и другие [1, с. 32-34]. Данные в таких моделях характеризуются неоднородностью, что создаёт сложность в концептуальном моделировании проектируемой базы данных – недостаток структурированности порождает сложности в описании сущностей и связей между ними.
В отличие от проектирования SQL баз данных, NoSQL-проектирование необязательно начинается с концептуального дизайна. В систематическом обзоре научной литературы 2023-года был произведён анализ подходов к моделированию нереляционных схем [7].
Рассмотрим основные подходы:
Первый – моделирование, основанное на концептуальном дизайне. Оно аналогично проектированию реляционных баз данных, начиная с высокоуровнего представления системы с помощью построения абстрактной схемы, например, UML или ER-подобных диаграмм. Этот подход неоднороден, так как нет единого стандарта в концептуальном моделировании нереляционных баз данных. Для него используют различные расширенные варианты UML и ER диаграмм, которые адаптируются для нужд конкретного вида базы данных.
В статье Olivera H.V «Data Modeling for NoSQL Document-Oriented Databases» был предложен подход к концептуальному моделированию документо-ориентированных баз данных на основе ER-диаграмм, в котором коллекции документов отображались в качестве классов, атрибутами служили поля соответствующих документов, а связи между документами обозначались стрелками с указанием кардинальности.
В 2024 году была предложена модификация нотации «вороньей лапки», которая была дополнена элементами, позволяющими обозначать особенности нереляционных моделей, например символ для обозначения вложенного документа, символы дополнительных характеристик атрибутов сущности [6, с. 32-42]. Клемешева А. С. в своей статье «Разработка графической нотации моделирования мультимодельных баз данных» рассмотрела возможность дополнения нотации новыми обозначениями для моделирования мультимодельных баз данных.
Второй подход к моделированию NoSQL баз данных – это моделирование, управляемое рабочей нагрузкой и предметной областью. Это разнородные подходы, которые фокусируются на особенностях конкретных моделей данных и предметной области. В них акцент смещается с рассмотрения связей между сущностями на оптимизацию работы, ускорение запросов к базе данных. В работе [7] были проанализированы 48 первичных исследований, в которых встречается 65 упоминаний различных видов нереляционных моделей. Из них 44,6% приходились на документно-ориентированные модели, 32,3% – на колоночные, 12,3% – на модели «ключ-значение», 10,8% – на графовые.
Для моделей «ключ-значение» данный вид моделирования сосредоточен на прагматичном использовании ключа и оптимизации хранения. Например, здесь используются составные ключи для представления вложенных структур, что позволяет группировать данные и предоставлять к ним доступ по ключу без необходимости во вложенных структурах и связях между записями.
Для колоночных моделей подходы направлены на работу с большими объёмами данных и частыми запросами по диапазонам. Модель строится прямо из потока данных, например, временных рядов или геоданных. Цель моделирования здесь – это быстрый поиск нужных колонок без сканирования всей таблицы. Схема появляется из анализа того, как часто и какие данные запрашивают.
Для документо-ориентированных моделей наблюдается подход, в котором в одном документе хранится вся необходимая информация о сущности, что избавляет от необходимости соединения данных из различных файлов. Это ускоряет и упрощает запросы к базе данных
Для графовых – модель строится из связей между объектами – кто с кем дружит, что рекомендует, как связаны датчики. Схема рождается из реальной топологии: узлы – это объекты, рёбра – отношения. Цель моделирования здесь – это быстрый поиск коротких путей по связям между узлами.
Обобщая данные о двух направлениях в моделировании нереляционных баз данных, можно сказать, что концептуальное моделирование имеет место, как метод, позволяющий подробно проследить связи между сущностями и спроектировать схему базы данных, в то время как второе – направлено, в первую очередь, на ускорение и упрощение запросов к базе данных, что может повысить эффективность системы за счёт денормализации данных.
Если говорить о вопросе стандартизации процесса моделирования, то это целесообразно рассматривать в рамках концептуального моделирования, потому что оно, как и в реляционных моделях, может быть применено к различным предметным областям, в то время как подходы, направленные на ускорение и производительность, могут иметь различия, которые зависят от конкретного случая, что и наблюдается в рассмотренном систематическом обзоре литературе.
Концептуальное моделирование нереляционных баз данных сталкивается не только с проблемой отсутствия единого стандарта, но и со сложностями самой разработки такого стандарта. Так, из-за неоднородности и неструктурированности данных возникает проблема описания как самих сущностей - они могут не иметь постоянной структуры - так и связей между ними.
В области NoSQL проектирования баз данных существует понятие schema-less подхода, который подразумевает разработку без предварительного определения схемы базы данных. Это упрощает процесс разработки на начальных этапах и делает базу данных более масштабируемой. Однако вместе с этим возникает проблема отсутствия полного понимания её структуры, особенно в сложных системах, что может сказаться на дальнейшей разработке и понимании структуры базы данных в целом.
Стоит отметить, что процесс обратного проектирования позволяет получить схему существующей базы данных, что помогает восстановить структуру. Однако – это будет отражать лишь текущее состояние базы данных, а не её желаемую структуру, как в случае с предварительной разработкой схемы. Таким образом, это даст понимание того, как она устроена на данный момент, но не пояснит, какой она должна быть для разрабатываемой информационной системы.
На основе рассмотрения schema-less подхода и процесса обратного проектирования можно сказать, что это лишь один из возможных подходов к разработке баз данных для неоднородных данных, он не может быть универсальным стандартом для разработки сложных систем [4, с. 10-17]. Использование концептуальной модели базы данных позволяет сделать разработку более предсказуемой и безопасной [5]. Это, как было показано ранее также не является универсальным подходов, но имеет место для систем, где важно на этапе высокоуровневой разработки понимать детали работы системы.
Для современных сложных информационных систем также используют и мультимодельные базы данных. Они позволяют использовать различные модели хранения данных – как реляционные, так и нереляционные – в рамках одной СУБД, что позволяет проектировать гибкие связи между сущностями и описывать взаимодействие различных типов данных между собой [1, с. 32-34]. Но с расширением функциональности по сравнению с мономодельными реляционными и нереляционными базами данных происходит и усложнение упомянутых проблем – сложность описания отношений между сущностями одной модели дополняется необходимостью в описании связей между сущностями различных моделей данных [3, с. 22-41].
В уже упомянутой статье [6, с. 32-42] предлагается нотация для концептуального моделирования нереляционных и мультимодельных баз данных, однако, возможность её практического использования для мультимодельного моделирования ещё предстоит изучить. Возможность же использования для мономодельных нереляционных схем была продемонстрирована в статье для различных предметных областей.
Сфера концептуального моделирования также не ограничивается SQL и NoSQL - в сфере NewSQL также можно найти примеры использования диаграмм для построения схемы базы данных. В частности, в работе [3, с. 22-41] используется расширение UML-диаграммы классов, в которой описываются сущности предметной области. На основе полученной схемы строится вложенная реляционная модель, из которой затем строятся NoSQL-схемы.
Выводы
Анализ современных подходов к моделированию нереляционных и мультимодельных баз данных показал, что растущие объемы данных обусловливают востребованность технологий NoSQL и мультиданных структур. Исследования показывают наличие множества подходов, каждый из которых уникален и предназначен для удовлетворения потребностей определённых типов проектов. Каждый подход обладает своими преимуществами и недостатками. Универсального рецепта для всех случаев не существует, поэтому важнейшим аспектом успешного внедрения становится тщательное изучение предметной области и постановка четких целей перед началом реализации проекта. Дальнейшие исследования должны сделать акцент на разработке универсальных методологий моделирования, объединяющих лучшие практики существующих подходов Необходимо продолжать работу над созданием открытых стандартов, позволяющих легко переносить данные между разными NoSQL-платформами и обеспечивать поддержку различных бизнес-задач и технических условий.
.png&w=384&q=75)
.png&w=640&q=75)