OLAP в основном для хранилищ данных только для чтения. Классический OLAP - это хранилище данных или хранилище данных, и мы работаем с кубом OLAP. Концептуально вы можете думать о кубе OLAP как о огромной сводной таблице Excel. Это структура со сторонами (измерениями) и пересечениями данных (фактами), в которой нет СОЕДИНЕНИЙ.
Структура данных является одной из причин того, что OLAP намного быстрее запрашивает, чем OLTP. Другой причиной является концепция агрегации, в которой хранятся пересечения на уровне выше листа (внизу). Пример будет следующим:
Вы можете загрузить куб с данными о продажах (то есть, сколько в долларах, сколько в единицах и т. Д.) Одной строкой (или фактом) для каждой суммы продаж по следующим параметрам: время, продукты, клиенты и т. д. Уровень, на котором вы загружаете каждое измерение, например, продажи по КАЖДОМУ дню и КАЖДОМУ клиенту и т. д., - это конечные данные. Конечно, вы часто будете запрашивать агрегированные значения, то есть продажи по месяцам, по клиентам в определенном ГОРОДЕ и т. Д. *
Эти агрегации могут быть рассчитаны во время запроса или предварительно агрегированы и сохранены при загрузке куба. Во время запроса кубы OLAP используют комбинацию сохраненных и вычисленных агрегаций. В отличие от индексов OLTP, можно использовать ЧАСТИЧНЫЕ агрегации.
В дополнение к этому, большинство кубов OLAP имеют расширенное кэширование, настроенное по умолчанию, и большинство также допускают очень детальную настройку кэша (предварительную загрузку).
Другое соображение заключается в том, что сравнительно недавно BI-память (или OLAP) предлагается все большим числом поставщиков. Очевидно, что если в памяти больше данных OLAP, то результирующие запросы будут ДАЖЕ быстрее, чем традиционные OLAP. Чтобы увидеть пример куба в памяти, взгляните на мою слайд-деку о SQL Server 2012 BISM.