OLAP-анализ данных: решаемые задачи, технологии, актуальные проблемы
Проблема анализа сохраняемой во всевозможных системах информации возникла вскоре после появления самой возможности накапливать данные.
В 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
Литература:
- 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
- Thomsen E. OLAP Solutions: Building Multidimensional Information Systems. Second Edition. Wiley, 2002.
- Rafanelli M. Multidimensional Databases — Problems and Solutions. Idea Grouping Publ., Hershey, London, Melbourne, Singapore, Beijing, 2003
- Celko J. Analytics and OLAP in SQL. Morgan Kaufmann, 2006.
- Karloff H., Mihail M. On the complexity of View-Selection Problem, PODS 2000.
- Oracle Model By Syntax&Semantics (http://www.psoug.org/reference/model_clause.html).
- XML for Analysis (www.xmla.org).
-
|