Технология ОLAP (On-Line Analytical Processing) приобрела особую популярность в последние два-три года. Популярность ее настолько высока, что поддержка OLAP базами данных стала такой же серьезной характеристикой их возможностей, как и публикация данных в Web или наличие инструментов визуальной настройки и разработки. Что же представляет собой OLAP?
Технология OLAP обеспечивает возможность представления и анализа многомерных данных. Предположим, что вы — преуспевающий бизнесмен, владелец фирмы, занимающейся оптовой торговлей продуктами питания, с красивым названием Northwind (Борей). Отделения фирмы разбросаны по всему земному шару. Все данные о вашем бизнесе — продажи, цены, клиенты, поставщики, регионы, сроки — сведены в базе данных Northwind. У вас периодически возникают предположения о тех или иных аспектах вашего бизнеса. Например, вы думаете, что продажа определенных продуктов связана с временем года в одних регионах и не связана с ним — в других. Вас терзают смутные подозрения о том, что можно было бы весной поставлять на склады в Берлине соленые орешки, а на склады в Лондоне — чай и сгущенку более крупными партиями, экономя при этом на перевозках. Открыв базу данных, вы обнаружите там некоторые сведения, собранные в обычных «плоских» таблицах: отдельно сведения о покупателях, отдельно о поставщиках, отдельно о товарах, отдельно таблицу со счетами, в которой нет никаких сведений о том,
|
|
какой именно товар был оплачен этим счетом.
Сделав пару запросов к базе данных, отфильтровав данные так и этак, вы придете к выводу, что вам нужно что-то, что может свести все необходимые вам сведения в одну «картинку», желательно с возможностью быстрого переключения степени детализации просмотра и возможностью выбора товаров, регионов и покупателей для анализа. Другими словами, в этом случае вы приходите к выводу, что вам необходимо использовать технологию OLAP.
Вообще говоря, OLAP подразделяют на два основных типа: ROLAP (реляционная обработка данных) и MOLAP (многомерная обработка данных). В первом случае вы извлекаете и сводите в одно многомерное представление (так называемый куб) данные из обычной реляционной базы данных, во втором — вы изначально накапливаете данные в многомерном представлении в специальной базе данных, называемой «многомерным хранилищем». Обработка данных по технологии OLAP считается «истинной» именно во втором случае.,
На самом деле, если количество единиц данных по каждому из трех-четырех (а иногда и гораздо большему количеству) измерений достигает десятков миллионов, то выборка данных из реляционных таблиц может затянуться на десятки минут. В этом случае слово «online» в термине On-Line Analytical Processing начинает приобретать несколько ироничный оттенок. Извлечение данных из хранилища, где они уже представлены и накапливаются в многомерном виде, происходит практически мгновенно. Однако у хранилищ данных есть и своя оборотная сторона: хранение многомерного представления данных требует в сотни раз больше дискового пространства и в десятки раз больше процессорных ресурсов, чем хранение данных в реляционных таблицах.
|
|
Несомненно, для использования OLAP в первую очередь нужна четкая формулировка задачи. Если вы не можете сформулировать, что именно вы хотите получить в конечном многомерном представлении, то вы в лучшем случае не сможете получить ничего. Куда хуже, если вы получите нервное расстройство от попыток воспользоваться тем, что выдал вам компьютер.
Процессы извлечения и отображения данных, предназначенных для обработки по технологии OLAP, в таблицах Excel мы рассмотрим на практическом примере.