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

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

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

Структура

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

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

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

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

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

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

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

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

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

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

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

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

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

      12222, ABC Corp, Миннеаполис, Миннесота; 19434, A1 Mfg, Дулут, Миннесота; 20523, J&J Inc, St. Пол, Миннесота

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

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

      12222,19434,20523; ABC Corp, A1 Mfg, J&J Inc; Миннеаполис, Дулут, Сент-Пол; Миннесота, Миннесота, Миннесота

Хранение в CDBMS

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

      1: 12222,2: 19434,3: 20523,4: ABC Corp, 5: A1 Mfg, 6: J&J Inc, 7: Миннеаполис, 8: Дулут, 9: Сент-Пол, 10: Миннесота

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

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

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

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

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

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

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

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

  1. ^ Рааб, Дэвид М.«Параметры аналитической базы данных». Журнал управления информацией 1 июля 2008 г.
  2. ^ Раден, Нил."Базы данных ЖИВЫЕ". Интеллектуальное предприятие 18 апреля 2008 г.
  3. ^ Пауэлл, Джеймс Э.«Корреляционная база данных Illuminate ускоряет и расширяет запросы бизнес-аналитики». Журнал корпоративных систем 9 апреля 2008 г.
  4. ^ Swoyer, Стивен.«Подробно: навсегда ликвидировать разрыв в производительности специальных запросов». Журнал корпоративных систем 9 июля 2008 г.