stringtranslate.com

Многомодельная база данных

В области проектирования баз данных многомодельная база данных — это система управления базами данных , предназначенная для поддержки нескольких моделей данных на одном интегрированном сервере. Напротив, большинство систем управления базами данных организованы вокруг единой модели данных, которая определяет, как данные могут быть организованы, сохранены и ими можно манипулировать. [1] Модели документов , графов , реляционные модели и модели «ключ-значение» являются примерами моделей данных, которые могут поддерживаться многомодельной базой данных.

Фон

Реляционная модель данных стала популярной после ее публикации Эдгаром Ф. Коддом в 1970 году . Из-за растущих требований к горизонтальной масштабируемости и отказоустойчивости базы данных NoSQL стали популярными после 2009 года. В базах данных 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 соответственно. Они отметили, что преимущества многомодельных баз данных перед базами данных с одной моделью заключаются в следующем:

  1. они могут без каких-либо дополнительных усилий принимать в хранилище различные форматы данных, такие как CSV (включая графики, реляционные данные) и JSON.
  2. они могут использовать унифицированный язык запросов, такой как AQL, Orient SQL, SQL/XML, SQL/JSON, для получения коррелированных многомодельных данных, таких как граф-JSON-ключ/значение, реляционный XML и реляционный JSON в одном Платформа.
  3. они способны поддерживать многомодельные транзакции ACID в автономном режиме.

Архитектура

Основное различие между доступными многомодельными базами данных связано с их архитектурой. Многомодельные базы данных могут поддерживать разные модели либо внутри механизма, либо через разные уровни поверх механизма. Некоторые продукты могут предоставлять механизм, поддерживающий документы и графики, в то время как другие предоставляют слои поверх хранилища ключей. [9] В многоуровневой архитектуре каждая модель данных предоставляется через отдельный компонент .

Пользовательские модели данных

Помимо предложения нескольких моделей данных в одном хранилище данных, некоторые базы данных позволяют разработчикам легко определять собственные модели данных. Эта возможность обеспечивается транзакциями ACID с высокой производительностью и масштабируемостью. Чтобы пользовательская модель данных поддерживала одновременные обновления, база данных должна иметь возможность синхронизировать обновления по нескольким ключам. ACID-транзакции, если они достаточно производительны, допускают такую ​​синхронизацию. [10] Документы JSON, графики и реляционные таблицы могут быть реализованы таким образом, чтобы унаследовать горизонтальную масштабируемость и отказоустойчивость базового хранилища данных.

Смотрите также

Рекомендации

  1. ^ Группа 451, «Ни рыба, ни мясо: рост многомодельных баз данных»
  2. ^ ab Infoworld, «Рост многомодельных баз данных»
  3. ^ «Мультимодельное хранилище 1/2 одного продукта» . 01.06.2012.
  4. ^ «Конференция Nosql Matters 2012 | NoSQL Matters CGN 2012» (PDF) . 2012.nosql-matters.org . Проверено 12 января 2017 г.
  5. ^ ab Настойчивость полиглота
  6. ^ Ева Плучиенник и Камил Згожалек. «Многомодельные базы данных - обзор». Бдас 2017 : 141–152.
  7. ^ Фабио Роберто Оливейра, Луис дель Валь Кура. «Оценка производительности многомодельных хранилищ данных NoSQL в многоязычных приложениях персистентности». Идеи '16 : 230–235.
  8. ^ Чао Чжан, Цзяхэн Лу, Пэнфэй Сюй, Юйсин Чен. «UniBench: эталон для многомодельных систем управления базами данных» (PDF) . ТПКТС 2018 .{{cite journal}}: CS1 maint: несколько имен: список авторов ( ссылка )
  9. ^ "слой"
  10. ^ ODBMS, «Постоянство полиглотов или несколько моделей данных?»

Внешние ссылки