Многомерная база данных (Multi-dimensional Database)

Синонимы: СУМБД, Многомерное хранилище данных, СУБД с изменяемой размерностью

Разделы: Источники данных

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

Математический аппарат многомерных СУБД был разработан выдающимся американским математиком Доном Нельсоном в 60-х годах по заказу министерства обороны США.

Большинство реальных бизнес-процессов описывается множеством показателей, свойств, атрибутов. Например, для описания процесса продаж могут понадобиться сведения о наименованиях товаров или их групп, о поставщике и покупателе, о городе, где производились продажи, а также о ценах, количествах проданных товаров и общих суммах. Кроме того, для отслеживания процесса во времени должен быть введен в рассмотрение такой атрибут, как дата.

Если собрать всю эту информацию в таблицу, то она окажется сложной для визуального анализа и осмысления. Более того, она может оказаться избыточной: если, например, один и тот же товар продавался в один и тот же день в различных городах, то придется несколько раз повторить одно и то же соответствие «город — товар» с указанием различных суммы и количества.

Все это затрудняет извлечение из такой таблицы полезной информации. Указанные проблемы возникают по одной простой причине: в «плоской» таблице хранятся многомерные по своей природе данные.

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

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

В качестве недостатков многомерных баз данных можно выделить:

  • сложность изменения структуры данных;
  • неэффективное использование памяти.

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

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

Несмотря на то, что многомерные базы данных появились практически одновременно с реляционными, их интенсивное внедрение началось только в начале 1990-х в связи с развитием OLAP-технологий.