Хранилище данных против OLAP-куба?

Может ли кто-нибудь объяснить, в чем на самом деле разница между хранилищем данных и кубами OLAP?

Есть ли у них разные подходы к одному и тому же?

Один из них устарел по сравнению с другим?

Есть ли проблемы с производительностью в одном из них?

Любое объяснение приветствуется


person veljasije    schedule 20.09.2013    source источник
comment
Я нашел первый ответ. полезно: quora.com/   -  person Shiwangini    schedule 25.04.2020


Ответы (3)


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

OLAP - это набор операций, которые можно выполнять с набором данных, таких как поворот, нарезка, нарезание кубиками, детализация. Например, можно выполнять операции OLAP со сводными таблицами Excel. Существуют определенные операторы SQL, предназначенные для OLAP, такие как PIVOT, group by CUBE(), group by ROLLUP() и group by GROUPING SETS(), а также различные оконные функции.

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

Вы можете иметь хранилище данных и вообще не использовать OLAP (вы просто запускаете отчеты).

Вы также можете выполнять операции OLAP не с хранилищем данных, например с плоским файлом.

Есть ли у них разные подходы к одному и тому же?

Нет, хранилище данных - это место для хранения данных в легко анализируемом формате, а OLAP - это метод анализа данных.

Один из них устарел по сравнению с другим?

Нет, они дополняют друг друга в том смысле, что хранилище данных упрощает анализ данных с помощью OLAP, а OLAP может сделать анализ хранилища данных более полезным.

Есть ли проблемы с производительностью в одном из них?

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

См. Также: https://dba.stackexchange.com/questions/45655/what-are-measures-and-dimensions-in-cubes

в отличие от упрощения / большей интеграции транзакций

person Neil McGuigan    schedule 20.09.2013
comment
Хранилище данных - это не база данных с размерным дизайном. DW - это предметно-ориентированный, интегрированный, энергонезависимый и изменчивый по времени набор данных. Архитектура хранилища данных может включать или не включать размерные проекты - обычно только для витрин, не обязательно как часть DW. - person nvogel; 26.09.2013
comment
@sqlvogel Я не пытался дать окончательное определение хранилища данных, просто противопоставляя его OLAP, используя простой язык. Я обновил свой ответ, чтобы учесть DW, в которых не используется размерный дизайн. - person Neil McGuigan; 26.09.2013
comment
На мой взгляд, хранилище данных - это подготовка к OLAP-операциям. Это правильно? Операции OLAP также имеют концепции dimension и fact. - person mingchau; 16.04.2019
comment
@mingchau несколько. Вы можете выполнять операции OLAP с плоским файлом, файлом Excel или двоичным кубом. Но источником часто является хранилище данных. И хранилища данных, и OLAP имеют концепции измерений и фактов. - person Neil McGuigan; 06.11.2019

Хранилище данных содержит данные, по которым вы хотите создавать отчеты, анализировать и т. Д.

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

Например, в вашем хранилище данных у вас есть все ваши продажи, но выполнение сложных SQL-запросов может занять много времени. Итак, из своего хранилища данных вы создаете куб, который индексирует и предварительно вычисляет данные. В вашем кубе вы можете иметь все эти предварительно вычисленные измерения: продажи по месяцам, по неделям, по продавцам, по клиентам, по географическому региону, по цвету продукта и т. Д. Затем вы можете запускать запросы OLAP в своем кубе, чтобы получить общее, среднее и максимальные продажи по (месяц, продавец, регион), или (цвет, регион), или (продавец, месяц). Поскольку все данные предварительно вычисляются и индексируются, запросы выполняются очень быстро.

person sthiy    schedule 20.09.2013
comment
Разве DW еще не имеет меры в таблицах фактов и измерения в таблицах измерений? - person veljasije; 20.09.2013
comment
Из Википедии: Основной источник данных очищается, преобразуется, каталогизируется и становится доступным для использования менеджерами и другими бизнес-профессионалами для интеллектуального анализа данных, онлайн-аналитической обработки. Данные из транзакционной базы данных преобразуются при передаче в DW, но не индексируются так сильно, как в кубе. У вас есть таблицы измерений и таблица фактов в вашем DW, но вы не можете детализировать и агрегировать свои факты так быстро и легко, как в кубе. - person sthiy; 20.09.2013

Есть ли у них разные подходы к одному и тому же?

Нет, хранилище данных - это место для хранения данных в легко анализируемом формате, а OLAP - это метод анализа данных.

Нет, они действительно делают то же самое! OLAP более просчитан, чем DWH. OLAP похож на агрегаты в DWH

person user3657020    schedule 20.05.2014