Корреляционная база данных - Correlation database

База данных корреляции является системой управления базами данных (СУБД) , которые представляют собой данные модели независимые и предназначены для эффективной обработки незапланированных специальных запросов в аналитической среде системы.

В отличие от систем управления реляционными базами данных, ориентированных на строки , которые используют подход к хранению на основе записей, или баз данных, ориентированных на столбцы, которые используют метод хранения на основе столбцов, корреляционная база данных использует архитектуру хранения на основе значений (VBS), в которой все уникальные данные значение сохраняется только один раз, и автоматически сгенерированная система индексации поддерживает контекст для всех значений.

Структура

Поскольку корреляционная СУБД сохраняет каждое уникальное значение данных только один раз, размер физической базы данных значительно меньше, чем у реляционных или столбцовых баз данных, без использования методов сжатия данных . Более 30 ГБ корреляционная СУБД может стать меньше, чем набор необработанных данных.

Модель VBS, используемая CDBMS, состоит из трех основных физических наборов объектов, которые хранятся и управляются:

  • словарь данных ( метаданные );
  • набор данных индексации и связывания (дополнительные метаданные); и
  • фактические значения данных, которые содержат сохраненную информацию.

В модели VBS каждое уникальное значение в необработанных данных сохраняется только один раз; поэтому данные всегда нормализуются на уровне уникальных значений. Это избавляет от необходимости нормализовать наборы данных в логической схеме.

Значения данных хранятся вместе в упорядоченных наборах на основе типов данных: все целые числа в одном наборе, символы в другом и т. Д. Это оптимизирует процессы обработки данных, которые обращаются к значениям.

В дополнение к типичным значениям данных, хранилище значений данных содержит специальный тип данных для хранения взаимосвязей между таблицами. Это функционирует аналогично внешним ключам в структурах РСУБД, но в CDBMS связь известна словарю и сохраняется как значение данных, что делает навигацию между таблицами полностью автоматической.

Словарь данных содержит типичные метаданные плюс дополнительные статистические данные о таблицах, столбцах и вхождениях значений в логической схеме . Он также поддерживает информацию о взаимосвязях между логическими таблицами. Хранилище индекса и связывания включает в себя все данные, используемые для поиска содержимого записи из упорядоченных значений в хранилище данных.

Хотя CDBMS и не является системой хранения на основе RAM , она предназначена для использования столько RAM, сколько может предоставить операционная система . Для больших баз данных дополнительная оперативная память повышает производительность. Как правило, 4 ГБ ОЗУ обеспечивают оптимальное время доступа примерно до 100 миллионов записей. 8 ГБ ОЗУ достаточно для баз данных, размер которых в 10 раз больше. Поскольку инкрементное потребление ОЗУ уменьшается по мере роста базы данных, 16 ГБ ОЗУ обычно поддерживают базы данных, содержащие примерно до 20 миллиардов записей.

Сравнение структур хранения СУБД

Примеры записей, показанные ниже, иллюстрируют физические различия в структурах хранения, используемых в реляционных, столбцовых и корреляционных базах данных.

Идентификатор клиента Имя Город Состояние
12222 ABC Corp Миннеаполис MN
19434 A1 Производитель Дулут MN
20523 J&J Inc св. Павел MN

Хранилище в СУБД

Структура на основе записей, используемая в СУБД, хранит элементы в одной строке рядом друг с другом. Такие варианты, как кластерная индексация, могут изменить последовательность строк, но все строки, столбцы и значения будут сохранены, как в таблице. Приведенная выше таблица может храниться как:

      12222,ABC Corp,Minneapolis,MN;19434,A1 Mfg,Duluth,MN;20523,J&J Inc,St. Paul,MN

Хранение в базах данных, ориентированных на столбцы

В структуре на основе столбцов элементы одного столбца хранятся рядом друг с другом. Последовательные дубликаты в одном столбце могут быть автоматически удалены или эффективно сжаты.

      12222,19434,20523;ABC Corp,A1 Mfg,J&J Inc;Minneapolis,Duluth,St.Paul;MN,MN,MN

Хранение в CDBMS

В структуре VBS, используемой в CDBMS, каждое уникальное значение сохраняется один раз и получает абстрактный (числовой) идентификатор, независимо от количества вхождений или местоположений в исходном наборе данных. Затем создается исходный набор данных, ссылаясь на эти логические идентификаторы. Индекс корреляции может напоминать хранилище ниже. Обратите внимание, что значение «MN», которое встречается в приведенных выше данных несколько раз, включается только один раз. По мере роста количества повторяющихся данных это преимущество увеличивается.

      1:12222,2:19434,3:20523,4:ABC Corp,5:A1 Mfg,6:J&J Inc,7:Minneapolis,8:Duluth,9:St.Paul,10:MN

Записи в приведенной выше таблице примеров могут быть выражены как:

      11:[1,4,7,10],12:[2,5,8,10],13:[3,6,9,10]

Этот процесс корреляции является формой нормализации базы данных . Точно так же, как можно получить некоторые преимущества хранения с ориентацией на столбцы в РСУБД, можно также добиться некоторых преимуществ корреляционной базы данных за счет нормализации базы данных. Однако в традиционной СУБД этот процесс нормализации требует работы в форме конфигурации таблицы, хранимых процедур и операторов SQL. Мы говорим, что база данных является корреляционной базой данных, когда она естественным образом выражает полностью нормализованную схему без этой дополнительной конфигурации. В результате корреляционная база данных может иметь более целенаправленную оптимизацию для этой полностью нормализованной структуры.

Этот процесс корреляции аналогичен тому, что происходит в инвертированном индексе, ориентированном на текстовый поиск .

Преимущества и недостатки

Для приложений аналитического хранилища данных CDBMS имеет несколько преимуществ перед альтернативными структурами баз данных. Во-первых, поскольку ядро ​​базы данных само индексирует все данные и автоматически генерирует свою собственную схему на лету во время загрузки, ее можно быстро реализовать и легко обновить. Нет необходимости в предварительном физическом проектировании и в реструктуризации базы данных. Во-вторых, CDBMS позволяет создавать и выполнять сложные запросы, такие как ассоциативные запросы («показать все, что связано с x »), которые сложно, если вообще возможно, смоделировать в SQL . Основным преимуществом CDBMS является то, что она оптимизирована для выполнения специальных запросов - запросов, которые не ожидаются на этапе проектирования хранилища данных.

У CDBMS есть два недостатка по сравнению с альтернативами баз данных. В отличие от реляционных баз данных, которые можно использовать в самых разных приложениях, корреляционная база данных разработана специально для аналитических приложений и не обеспечивает функций управления транзакциями; его нельзя использовать для обработки транзакций . Во-вторых, поскольку она индексирует все данные в процессе загрузки, физическая скорость загрузки CDBMS ниже, чем у реляционных структур или структур, ориентированных на столбцы. Однако, поскольку это устраняет необходимость в логическом или физическом предварительном проектировании, общее «время использования» CDBMS, как правило, аналогично или несколько быстрее, чем у альтернативных структур.

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