OLAP - это технология обработки информации, которая позволяет быстро получать ответы на многомерные аналитические запросы. OLAP является частью такого широкого понятия, как бизнес-аналитика, также включает такие дисциплины как реляционная отчетность и извлечения данных. Служит для подготовки отчетов по маркетингу, в целях управления, для прогнозирования, финансовой отчетности и в схожих областях.
Базы данных, сконфигурированные для OLAP, использующих многомерные модели данных, что позволяет выполнять сложные аналитические и специализированные запросы за короткий промежуток времени. Они заимствуют отдельные аспекты навигационных и иерархических баз данных, которые являются быстрее, чем реляционные БД.
Обычно результаты OLAP-запросов представляют в форме матриц, где замеры составляют строки и колонки, а значениями матрицы являются размеры.
Главная причина использования OLAP для обработки запросов - это скорость. Эта структура удобна для операционных БД (системы OLTP), но сложные многотабличные запросы в ней выполняются относительно медленно. Удобной моделью для выполнения запросов (но не для внесения изменений) является пространственная БД .
Концепция OLAP
Ядром любой OLAP-системы является идея OLAP-куба (многомерный куб, или гиперкуб). Он состоит из многочисленных фактов (размеров), распределение по измерениям. Существует две схемы соединения таблиц: «звезда» и «снежинка». В центре «звезды» находится таблица, содержащая факты, по которым создаются запросы. Эти таблицы показывают, как могут анализироваться агрегированные реляционные данные. Количество возможных агрегаций определяется количеством способов. Например, все клиенты могут быть сгруппированы по городам, или по регионам страны (Запад, Восток, Север и т.д.), таким образом, 50 городов, 8 регионов и 2 страны составят 3 уровня иерархии с 60 членами. Также клиенты могут быть объединены по отношению к продукции; если существуют 250 продуктов по двум категориям, 3 группы продукции и 3 производственных подразделения, то количество агрегатов составит 16560. При добавлении измерений в схему, количество возможных вариантов быстро достигает десятков миллионов и более.
OLAP-куб содержит в себе базовые данные и информацию об измерении (агрегаты). Куб потенциально содержит всю информацию, которая может оказаться необходимой для ответов на любые запросы. Для огромного количества агрегатов, зачастую полный расчет происходит только для некоторых измерений, для последних же проводится «по требованию».