OLAP

OLAP

OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу. Реализации технологии OLAP являются компонентами программных решений класса Business Intelligence[1].

Основоположник термина OLAP — Эдгар Кодд, предложил в 1993 году «12 законов аналитической обработки в реальном времени».

Содержание

Действие OLAP

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

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

Например, все клиенты могут быть сгруппированы по городам или по регионам страны (Запад, Восток, Север и т. д.), таким образом, 50 городов, 8 регионов и 2 страны составят 3 уровня иерархии с 60 членами. Также клиенты могут быть объединены по отношению к продукции; если существуют 250 продуктов по 20 категориям, 3 группы продукции и 3 производственных подразделения, то количество агрегатов составит 16560. При добавлении измерений в схему количество возможных вариантов быстро достигает десятков миллионов и более.

OLAP-куб содержит в себе базовые данные и информацию об измерениях (агрегаты). Куб потенциально содержит всю информацию, которая может потребоваться для ответов на любые запросы. При огромном количестве агрегатов зачастую полный расчёт происходит только для некоторых измерений, для остальных же производится «по требованию».

Существуют три типа OLAP:[2]

  • многомерная OLAP (Multidimensional OLAP — MOLAP);
  • реляционная OLAP (Relational OLAP — ROLAP);
  • гибридная OLAP (Hybrid OLAP — HOLAP).

MOLAP — это классическая форма OLAP, так что её часто называют просто OLAP. Она использует суммирующую БД, специальный вариант процессора пространственных БД и создаёт требуемую пространственную схему данных с сохранением как базовых данных, так и агрегатов.
ROLAP работает напрямую с реляционным хранилищем, факты и таблицы с измерениями хранятся в реляционных таблицах, и для хранения агрегатов создаются дополнительные реляционные таблицы.
HOLAP использует реляционные таблицы для хранения базовых данных и многомерные таблицы для агрегатов.
Особым случаем ROLAP является ROLAP реального времени (Real-time ROLAP — R-ROLAP). В отличие от ROLAP в R-ROLAP для хранения агрегатов не создаются дополнительные реляционные таблицы, а агрегаты рассчитываются в момент запроса. При этом многомерный запрос к OLAP-системе автоматически преобразуется в SQL-запрос к реляционным данным.

Каждый тип хранения имеет определённые преимущества, хотя есть разногласия в их оценке у разных производителей. MOLAP лучше всего подходит для небольших наборов данных, он быстро рассчитывает агрегаты и возвращает ответы, но при этом генерируются огромные объёмы данных. ROLAP оценивается как более масштабируемое решение, использующее к тому же наименьшее возможное пространство. При этом скорость обработки значительно снижается. HOLAP находится посреди этих двух подходов, он достаточно хорошо масштабируется и быстро обрабатывается. Архитектура R-ROLAP позволяет производить многомерный анализ OLTP-данных в режиме реального времени.

Сложность в применении OLAP состоит в создании запросов, выборе базовых данных и разработке схемы, в результате чего большинство современных продуктов OLAP поставляются вместе с огромным количеством предварительно настроенных запросов. Другая проблема — в базовых данных. Они должны быть полными и непротиворечивыми.

Реализации OLAP

Исторически первой многомерной системой управления базами данных, по существу являющейся OLAP-реализацией, считается система Express, разработанная в 1970 году компанией IRI (позднее права на продукт были приобретены корпорацией Oracle и превращён в OLAP-опцию для Oracle Database)[3]. Термин OLAP ввёл Эдгар Кодд в публикации в журнале Computerworld в 1993 году[4], в которой он предложил 12 принципов аналитической обработки, по аналогии с 12 правилами для реляционных баз данных, сформулированными им же десятилетием ранее, в качестве референтного продукта, удовлетворяющего предложенным принципам, Кодд указал систему Essbase компании Arbor (поглощённой в 1997 году компанией Hyperion, которую, в свою очередь, в 2007 году купила Oracle). Примечательно, что впоследствии публикация была изъята из архивов Computerworld из-за возможного конфликта интересов, так как Кодд позднее оказывал консультационные услуги для Arbor[5].

С точки зрения реализации делятся на «физическую OLAP» и «виртуальную» (реляционную, англ. Relational OLAP, ROLAP). «Физическая», в свою очередь, в зависимости от реализации подразделяется на многомерную (англ. Multidimensional OLAP, MOLAP) и гибридную — (англ. Hybrid OLAP, HOLAP).

В первом случае наличествует программа, выполняющая на этапе предварительной загрузки данных в OLAP из источников предварительный расчёт агрегатов (вычислений по нескольким исходным значениям, например «итог за месяц»), которые затем сохраняются в специальную многомерную базу данных, обеспечивающую быстрое извлечение и экономичное хранение.

Гибридная реализация является комбинацией: сами данные хранятся в реляционной базе данных, а агрегаты — в многомерной.

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

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

Известные производители коммерческих OLAP-продуктов, согласно OLAP Report на 2007 год: Microsoft, Hyperion, Cognos, Business Objects, MicroStrategy, SAP, Cartesis, Systems Union/MIS AG, Oracle, Applix.

Среди коммерческих продуктов можно выделить: Microsoft SQL Server и Analysis Services, Hyperion Essbase, Cognos PowerPlay, BusinessObjects, MicroStrategy, SAP BW, Cartesis Magnitude, Oracle Express, OLAP Option, Applix TM1. Существует несколько open-source решений, включая Mondrian и Palo[6]

См. также

Примечания

  1. IT Term Definitions  (англ.). Gartner (2011). Архивировано из первоисточника 3 февраля 2012. Проверено 12 июня 2011.
  2. Krzysztof J. Cios, Data Mining: A Knowledge Discovery Approach, Springer 2007, ISBN 978-0387333335 - Page 123 "4.2 OLAP Server Architectures"
  3. Pendse, Nigel The origins of today’s OLAP products  (англ.). OLAP Report (20 July 2002). — «1992. Essbase launched. First well-marketed OLAP product, which went on to become the market leading OLAP server by 1997.»  Архивировано из первоисточника 6 октября 2002. Проверено 3 января 2011.
  4. Codd, Edgar F. Providing OLAP to User-Analysts: An IT Mandate // Computerworld. — Т. 27. — № 30. — ISSN 0010-4841. Архивировано из первоисточника 11 ноября 1998.
  5. Whitehorn, Mark OLAP and the need for SPEED. In another dimension  (англ.). Developer. The Register (26 January 2007). — «After the paper was published it gained some notoriety because Codd had undertaken consulting work for Arbour Software (now Hyperion). This was unfortunate because the paper actively discussed one of Arbour’s products, Essbase. In the end, Computerworld took the unusual step of retracting the article; nevertheless this paper clearly marks the start of the term’s use»  Архивировано из первоисточника 3 февраля 2012. Проверено 11 октября 2011.
  6. Krzysztof J. Cios, Data Mining: A Knowledge Discovery Approach, Springer 2007, ISBN 978-0387333335 - Page 127 "4.5 Example Commercial OLAP Tools"

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "OLAP" в других словарях:

  • OLAP — es el acrónimo en inglés de procesamiento analítico en línea (On Line Analytical Processing). Es una solución utilizada en el campo de la llamada Inteligencia empresarial (o Business Intelligence) cuyo objetivo es agilizar la consulta de grandes… …   Wikipedia Español

  • OLAP —   [Abk. für Online Analytical Processing, dt. »analytische Online Verarbeitung«], Konzept der entscheidungsorientierten Informationsverarbeitung, insbesondere der Datenfilterung. Man fasst unter diesem Begriff alle Technologien, Methoden und… …   Universal-Lexikon

  • Olap — Olap, Pflanze, ist Sterculia foetida …   Pierer's Universal-Lexikon

  • OLAP — es el acrónimo en inglés de procesamiento analítico en línea (online analytical processing). Es una solución que suministra respuestas rápidas a consultas a una base de datos compleja. Se usa en informes de negocios de ventas, márketing, informes …   Enciclopedia Universal

  • OLAP — (online analytical processing) category of software programs designed to enable many types of analyses of data stored in a database (Computers) …   English contemporary dictionary

  • OLAP — Online Analytical Processing (OLAP) wird neben dem Data Mining (auch Datenschürfung) zu den Methoden der analytischen Informationssysteme gezählt. OLAP wird weiterhin den hypothesengestützten Analysemethoden zugeordnet. Der Analyst muss vor der… …   Deutsch Wikipedia

  • OLAP — Online Analytical Processing Online Analytical Processing (OLAP) désignait à l origine les bases de données multidimensionnelles (aussi appelées cubes ou hypercubes) destinées à des analyses complexes sur des données. Ce terme a été défini par… …   Wikipédia en Français

  • OLAP cube — An OLAP cube (for online analytical processing) is a data structure that allows fast analysis of data.[1] It can also be defined as the capability of manipulating and analyzing data from multiple perspectives. The arrangement of data into cubes… …   Wikipedia

  • OLAP-куб — OLAP куб  многомерный массив данных, как правило, разрежённый и долговременно хранимый. Может быть реализован на основе универсальных реляционных СУБД или специализированным программным обеспечением (см. также OLAP). В программных продуктах… …   Википедия

  • OLAP сервер Mondrian — Mondrian OLAP Server Файл:Modrian logo.png Тип OLAP Server Разработчик Pentaho Corporation ОС Cross platform (JVM) Версия …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»