[ Russian ] [ English ]

OLAP-анализ данных: решаемые задачи, технологии, актуальные проблемы

Кудрявцев Юрий,
ВМиК МГУ,
mail@ykud.com

Проблема анализа сохраняемой во всевозможных системах информации возникла вскоре после появления самой возможности накапливать данные.

В 1993 году Кодд ввел новый термин - OLAP(Online Analytical Processing) [1], и описал классы систем, попадающих под это определение. Но описание было неформальным и, более того, предвзятым.

Несмотря на широкое маркетинговое использование термина OLAP и большое количество научных публикаций (среди авторов фигурируют такие значимые для CS-сообщества люди, как Джим Грей, Майкл Стоунбрейкер, Роберт Эйрли), до сих пор не существует точного определения OLAP-данных или OLAP систем [2].

Более того нет единого мнения по многим пунктам:

  • Как хранить OLAP-данные (в реляционном или многомерном виде). При хранении в реляционном виде возникает проблемы материализации представлений для ускорения обработки аналитических запросов, NP-полнота которой доказана [5]. Однако в развитие реляционных баз данных вложены огромные усилия, и в данный момент они лучше подходят для хранения больших объемов информации нежели многомерные базы данных [3].
  • Язык запросов к OLAP-данным. Стандарт SQL расширяется, включая все новые и новые типы аналитических запросов[4], активно развивают аналитические возможности SQL крупнейшие вендоры программного обеспечения систем баз данных[6]. Однако многие отмечают все возрастающую сложность написания подобных запросов и отсутствие понятной семантики SQL при работе с многомерными данными. Microsoft продвигает разработанный ею язык MDX (MultiDimensional eXpressions), оппоненты которого указывают на закрытость процесса разработки, отсутствие комитета стандартизации.
  • Стандартные протоколы доступа к OLAP-данным. Существовавшая инициатива разработки открытого API для OLAP данных (JOLAP, разрабатываемый OLAPCouncil), является de-facto провалившейся. XML\A [7], продвигаемый Microsoft, является сервисной оболочкой, в основе которой лежат MDX-запросы, что порождает уже упомянутые проблемы.
  • В докладе предполагается осветить проблемы современных систем анализа данных, историю термина OLAP и его применимость, расширения стандарта SQL средствами для аналитических запросов (стандарты SQL:1999 и SQL-2003), задачи, требующие специальных многомерных баз данных (Microsoft Analysis Services, Oracle Express), стандарты JOLAP и XML\A и возможные тенденции развития СУБД в области анализа данных.

Также в докладе обсуждаются практические вопросы OLAP-систем:

  • Появился ли OLAP в середине 1990-х (после публикации Кодда) или существовал ранее?
  • Какое отношение имеет OLAP к SQL?
  • Как будут развиваться технологии баз данных с точки зрения поддержки аналитики?

Слайды к докладу в формате Power Point: kudryavcev-olap.ppt

Литература:

  1. Codd E.F. Providing OLAP for end-user analysys: An IT mandate. http://dev.hyperion.com/resource_library/white_papers/providing_olap_to_user_analysts.pdf
  2. Thomsen E. OLAP Solutions: Building Multidimensional Information Systems. Second Edition. Wiley, 2002.
  3. Rafanelli M. Multidimensional Databases — Problems and Solutions. Idea Grouping Publ., Hershey, London, Melbourne, Singapore, Beijing, 2003
  4. Celko J. Analytics and OLAP in SQL. Morgan Kaufmann, 2006.
  5. Karloff H., Mihail M. On the complexity of View-Selection Problem, PODS 2000.
  6. Oracle Model By Syntax&Semantics (http://www.psoug.org/reference/model_clause.html).
  7. XML for Analysis (www.xmla.org).
Supported by Synthesis Group