Многомодельная база данных
В области проектирования баз данных многомодельная база данных — это система управления базами данных, предназначенная для поддержки нескольких моделей данных на одном интегрированном сервере. Напротив, большинство систем управления базами данных организованы вокруг единой модели данных, которая определяет, как данные могут быть организованы, сохранены и ими можно манипулировать. [1] Модели документа , графа , реляционные модели и модели «ключ-значение» являются примерами моделей данных, которые могут поддерживаться многомодельной базой данных.
Предыстория [ править ]
Реляционная стали популярными после 2009 года . модель данных стала популярной после ее публикации Эдгаром Ф. Коддом в 1970 году. Из-за растущих требований к горизонтальной масштабируемости и отказоустойчивости базы данных NoSQL В базах данных NoSQL используются различные модели данных: документ , график и Популярность моделей «ключ-значение». [2]
Многомодельная база данных — это база данных, которая может хранить, индексировать и запрашивать данные в более чем одной модели. В течение некоторого времени базы данных в основном поддерживали только одну модель, такую как: реляционная база данных , документо-ориентированная база данных , графовая база данных или тройное хранилище . База данных, сочетающая многие из них, является многомодельной.
В течение некоторого времени, [ нечеткий ] было почти забыто (или считалось неуместным), что существуют какие-либо другие модели баз данных, кроме реляционных. [ нужна ссылка ] Реляционная модель и понятие третьей нормальной формы были стандартом по умолчанию для всех хранилищ данных. Однако до доминирования моделирования реляционных данных, примерно с 1980 по 2005 год, иерархическая модель базы данных широко использовалась . С 2000 или 2010 года популярны многие NoSQL нереляционные модели , включая документы, тройки, хранилища «ключ-значение» и графы. Можно утверждать, что геопространственные данные, временные данные и текстовые данные также являются отдельными моделями, хотя индексированные текстовые данные, доступные для запроса, обычно называют « поисковой системой », а не базой данных. [ нужна ссылка ]
Впервые слово «мультимодель» было связано с базами данных 30 мая 2012 года в Кельне, Германия, во время Луки Гарулли выступления « Внедрение NoSQL – какой следующий шаг? ». [3] [4] Лука Гарулли предвидел эволюцию продуктов NoSQL 1-го поколения в новые продукты с большим количеством функций, которые можно использовать в различных сценариях использования.
Идея многомодельных баз данных восходит к объектно-реляционным системам управления данными (ORDBMS) в начале 1990-х годов, а в более широком смысле — даже к федеративным и интегрированным СУБД в начале 1980-х годов. Система ORDBMS управляет различными типами данных, такими как реляционные, объектные, текстовые и пространственные, путем подключения типов данных, функций и реализаций индексов, специфичных для предметной области, к ядрам СУБД. Многомодельная база данных является прямым ответом на подход « полиглотного постоянства », заключающийся в объединении нескольких продуктов баз данных, каждый из которых передает свою модель, для достижения многомодельных возможностей, как описано Мартином Фаулером. [5] У этой стратегии есть два основных недостатка: она приводит к значительному увеличению операционной сложности и отсутствует поддержка поддержания согласованности данных в отдельных хранилищах данных, поэтому многомодельные базы данных начали заполнять этот пробел.
Многомодельные базы данных предназначены для предоставления преимуществ моделирования данных, связанных с сохранением многоязычия. [5] без его недостатков. Операционная сложность, в частности, снижается за счет использования единого хранилища данных. [2]
многомодельных Бенчмаркинг данных баз
Поскольку предлагается все больше и больше платформ для работы с многомодельными данными, существует несколько работ по сравнительному анализу многомодельных баз данных. Например, Плучиенник. [6] Оливейра, [7] и UniBench [8] рассмотрел существующие многомодельные базы данных и предпринял попытку сравнить многомодельные базы данных и другие базы данных SQL и NoSQL соответственно. Они отметили, что преимущества многомодельных баз данных перед базами данных с одной моделью заключаются в следующем:
- они могут без каких-либо дополнительных усилий принимать в хранилище различные форматы данных, такие как CSV (включая графические, реляционные), JSON.
- они могут использовать унифицированный язык запросов, такой как AQL, Orient SQL, SQL/XML, SQL/JSON, для получения коррелированных многомодельных данных, таких как граф-JSON-ключ/значение, реляционный XML и реляционный JSON в одном платформа.
- они способны поддерживать многомодельные транзакции ACID в автономном режиме.
Архитектура [ править ]
Основное различие между доступными многомодельными базами данных связано с их архитектурой. Многомодельные базы данных могут поддерживать разные модели либо внутри механизма, либо через разные уровни поверх механизма. Некоторые продукты могут предоставлять механизм, поддерживающий документы и графики, в то время как другие предоставляют слои поверх хранилища ключей. [9] В многоуровневой архитектуре каждая модель данных предоставляется через собственный компонент .
Пользовательские модели данных [ править ]
Помимо предложения нескольких моделей данных в одном хранилище данных, некоторые базы данных позволяют разработчикам легко определять собственные модели данных. Эта возможность обеспечивается транзакциями ACID с высокой производительностью и масштабируемостью. Чтобы пользовательская модель данных поддерживала одновременные обновления, база данных должна иметь возможность синхронизировать обновления по нескольким ключам. ACID-транзакции, если они достаточно производительны, допускают такую синхронизацию. [10] Документы JSON, графики и реляционные таблицы могут быть реализованы таким образом, чтобы наследовать горизонтальную масштабируемость и отказоустойчивость базового хранилища данных.
См. также [ править ]
- Сравнение многомодельных баз данных
- КИСЛОТА
- Большие данные
- NoSQL
- Сравнение программного обеспечения структурированного хранилища
- Транзакция базы данных
- Анализ данных
- Распределенная база данных
- Распределенный SQL
- Распределенная транзакция
- Документоориентированная база данных
- База данных графов
- Реляционная модель
Ссылки [ править ]
- ^ Группа 451, «Ни рыба, ни мясо: рост многомодельных баз данных»
- ^ Jump up to: Перейти обратно: а б Infoworld, «Расцвет многомодельных баз данных»
- ^ «Мультимодельное хранилище 1/2 одного продукта» . 01.06.2012.
- ^ «Конференция Nosql Matters 2012 | NoSQL Matters CGN 2012» (PDF) . 2012.nosql-matters.org . Проверено 12 января 2017 г.
- ^ Jump up to: Перейти обратно: а б Полиглот Настойчивость
- ^ Ева Плучиенник и Камиль Згожалек. «Многомодельные базы данных - обзор». Бдас 2017 : 141–152.
- ^ Фабио Роберто Оливейра, Луис дель Валь Кура. «Оценка производительности многомодельных хранилищ данных NoSQL в многоязычных приложениях персистентности». Идеи '16 : 230–235.
- ^ Чао Чжан, Цзяхэн Лу, Пэнфэй Сюй, Юйсин Чен. «UniBench: эталон для многомодельных систем управления базами данных» (PDF) . ТПКТС 2018 .
{{cite journal}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ "слой"
- ^ ODBMS, «Постоянство полиглотов или несколько моделей данных?»