Технология анализа olap. Создание olap- приложения

Целью курсовой работы является изучение технологии OLAP, понятие ее реализации и структуры.

В современном мире компьютерные сети и вычислительные системы позволяют анализировать и обрабатывать большие массивы данных.

Большой объем информации сильно усложняет поиск решений, но дает возможность получить намного точнее расчеты и анализ. Для решения такой проблемы существует целый класс информационных систем, выполняющих анализ. Такие системы называют системами поддержки принятия решений (СППР) (DSS, Decision Support System).

Для выполнения анализа СППР должна накапливать информацию, обладая средствами ее ввода и хранения. Всего можно выделить три основные задачи, решаемые в СППР:

· ввод данных;

· хранение данных;

· анализ данных.

Ввод данных в СППР осуществляется автоматически от датчиков, характеризующих состояние среды или процесса, или человеком-оператором.

Если ввод данных осуществляется автоматически от датчиков, то данные накапливаются по сигналу готовности, возникающему при появлении информации или путем циклического опроса. Если же ввод осуществляется человеком, то они должны предоставлять пользователям удобные средства для ввода данных, проверяющих их на правильность ввода, а так же выполнять необходимые вычисления.

При вводе данных одновременно несколькими операторами, необходимо решать проблемы модификации и параллельного доступа одних и тех же данных.

СППР предоставляет аналитику данные в виде отчетов, таблиц, графиков для изучения и анализа, именно поэтому такие системы обеспечивают выполнение функции поддержки принятия решений.

В подсистемах ввода данных, называемых OLTP (On-linetransactionprocessing), реализуется операционная обработка данных. Для их реализации используют обычные системы управления БД (СУБД).

Подсистема анализа может быть построена на основе:

· подсистемы информационно-поискового анализа на базе реляционных СУБД и статических запросов с использованием языка SQL;

· подсистемы оперативного анализа. Для реализации таких подсистем применяется технология оперативной аналитической обработки данных OLAP, использующая концепцию многомерного представления данных;

· подсистемы интеллектуального анализа. Данная подсистема реализует методы и алгоритмы DataMining .

С точки зрения пользователя, OLAP-системы представляют средства гибкого просмотра информации в различных срезах, автоматического получения агрегированных данных, выполнения аналитических операций свёртки, детализации, сравнения во времени. Благодаря всему этому OLAP-системы являются решением с большими преимуществами в области подготовки данных для всех видов бизнес-отчетности, предполагающих представление данных в различных разрезах и разных уровнях иерархии, таких как, отчетов по продажам, различных форм бюджетов и других. OLAP-системы имеет большие плюсы подобного представления и в других формах анализа данных, в том числе для прогнозирования.

1.2 Определение OLAP -систем

Технология комплексного многомерного анализа данных получила название OLAP. OLAP - это ключевой компонент организации ХД.

OLAP-функциональность может быть реализована различными способами, как простейшими, такими как анализ данных в офисных приложениях, так и более сложными - распределенными аналитическими системами, основанными на серверных продуктах.

OLAP (On-LineAnalyticalProcessing) – технология оперативной аналитической обработки данных использующая средства и методы для сбора, хранения и анализа многомерных данных и целях поддержки процессов принятия решений.

Основное назначение OLAP-систем - поддержка аналитической деятельности, произвольных запросов пользователей-аналитиков. Целью OLAP-анализа является проверка возникающих гипотез.

OLAP-отчет отличается от обычного тем, что вы сами определяете те параметры, по которым хотите получить информацию. В системе iiko такие отчеты могут быть построены для анализа любых данных. Например, о суммах выручки, пользующихся популярностью блюдах, эффективности работы сотрудников, расходе товаров и т. д.

Если торговое предприятие входит в сеть, управление которой ведется с помощью iikoChain, то OLAP-отчеты могут быть настроены централизованно в Chain и затем реплицированы в RMS. Редактирование и удаление таких «централизованных» OLAP-отчетов в отдельных торговых предприятиях невозможно.

При репликации отчеты в iikoRMS заменяются аналогичными по названию «централизованными» отчетами, загруженными из iikoChain.

В системе существует два вида OLAP-отчетов:

  • OLAP Отчет по продажам для анализа любой информации, проходящей по пробитым чекам. Что означают параметры отчета и как они рассчитываются, см. в статье Поля OLAP-отчета по продажам .
  • OLAP Отчет по проводкам для анализа информации по зарегистрированным проводкам. Проводка – это отражение какой-либо операции, которая вызвала движение денежных средств по внутренним счетам системы.

Например, в отчете о продажах можно посмотреть информацию о количестве реализованных блюд и количестве гостей, покупавших их каждый день, но для того, чтобы посмотреть, как списывались ингредиенты проданных блюд, необходимо использовать Отчет по проводкам . Это связано с тем, что для системы продажа – это, помимо полученных от гостя денег, списание со склада товаров, являющихся ингредиентами блюд. Каждое такое списание – это отдельная проводка.

Данные отчеты расположены в пункте меню Отчеты . Кроме того, OLAP Отчет по продажам можно построить из списка кассовых смен. Для этого в пункте меню Розничные продажи Кассовые смены отметьте галочками интересующие смены и в меню Действия выберите пункт Создать новый OLAP-отчет .

В OLAP-Отчете по продажам уже преднастроены отчеты для анализа сумм выручки. Чтобы построить один из этих отчетов, нужно просто выбрать его название в поле Формат отчета .

Чтобы добавить новый отчет:

  1. Перетащите параметры в область данных.
  2. Нажмите кнопку Сохранить как .
  3. Введите название и выберите тип отчета:
  • «Для всех пользователей» – отчет доступен всем пользователям.
  • «Только для меня» – отчет доступен только создателю.
  1. Нажмите кнопку Сохранить .

Пользователь с правом «Редактировать общие OLAP-отчеты» (B_ESOR ) может создавать и редактировать все отчеты, в том числе доступные всем пользователям.

Если права «Редактировать общие OLAP-отчеты» (B_ESOR ) у пользователя нет, то он может создавать и сохранять только личные отчеты. Общие ему доступны только для чтения и редактирования без сохранения изменений

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

Для построения отчета перетащите интересующие параметры в области строк, колонок или данных таблицы. Область, в которой вы можете разместить параметр, будет подсвечиваться синим.

Для облегчения поиска нужного показателя введите его название в поисковую строку:

Все параметры разбиты на группы. Кнопка с названием группы подсвечивается синим цветом. Если нажать на нее, тем самым сняв подсветку, то кнопки с относящимися к этой группе параметрами исчезнут из списка. Например, если при построении определенного отчета вас не интересует информация о том, в каком из мест обслуживания (отделений) была оформлена позиция и на какой кассе был закрыт заказ, то можно скрыть параметры группы «Организация».

В качестве дополнительного отбора данные отчета могут быть ограничены одним или несколькими значениями интересующего параметра. Для этого:


Значения параметров вы можете отбирать определенным образом, используя для этого тип фильтрации:

  • Включающий : в отчете будут представлены данные только по значениям, отмеченным в фильтре галочками. Значения, которых не было в списке в момент настройки фильтра, в дальнейшем в отчет не попадут (например, если появились новые блюда, то в отчете по продажам они отображены не будут).
  • Исключающий : в отчете будут представлены данные по всем значениям кроме тех, которые отмечены галочками в данном фильтре. Для выбора этого типа нажмите на кнопку Включающий , в результате на ней изменится надпись и применится тип фильтра Исключающий .

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

Если вы строите или перестраиваете отчет, содержащий много данных, то рекомендуется снимать галочку с поля Автообновление , так это может сильно увеличить время формирования отчета. Если галочка в данном поле стоит, то в реальном времени отслеживаются все изменения данных, представленных в отчете, и незамедлительно отображаются в нем.

Информацию по продажам и проводкам, зарегистрированным в iiko, вы также можете получить через Интернет с помощью

Цель доклада

В данном докладе речь пойдет об одной из категорий интеллектуальных технологий, которые являются удобным аналитическим инструментом – OLAP-технологиях.

Цель доклада: раскрыть и осветить 2 вопроса: 1) понятие OLAP и их прикладное значение в финансовом управлении; 2) реализация OLAP-функциональности в программных решениях: различия, возможности, преимущества, недостатки.

Сразу хочу отметить, что OLAP – это универсальный инструмент, который может быть использован в любой прикладной области, а не только в финансах (как это может быть понято из названия доклада), требующей анализа данных различными методами.

Управление финансами

Управление финансами – область, в которой как ни в какой другой важен анализ. Любое финансово-управленческое решение возникает как результат определенных аналитических процедур. Сегодня управление финансами приобретает важную роль для успешного функционирования предприятия. Не смотря на то, что финансовый менеджмент является вспомогательным процессом на предприятии, он требует особого внимания, так как ошибочные финансово-управленческие решения могут привести к большим потерям.

Управление финансами направлено на обеспечение предприятия финансовыми ресурсами в необходимых объемах, в нужное время и в нужном месте с целью получения максимального эффекта от их использования путем оптимального распределения.

Пожалуй, трудно определить уровень «максимальной эффективности использования ресурсов», но в любом случае,

Финансовый директор всегда должен знать:

  • сколько финансовых ресурсов имеется?
  • откуда будут поступать средства и в каких объемах?
  • куда вкладывать более эффективно и почему?
  • и в какие моменты времени все это необходимо совершать?
  • сколько нужно для обеспечения нормальной деятельности предприятия?

Чтобы получать обоснованные ответы на эти вопросы необходимо иметь, анализировать и знать как анализировать достаточно большое количество показателей деятельности. Кроме того, ФУ охватывает огромное количество областей: анализ денежных потоков (движения денежных средств), анализ активов и пассивов, анализ прибыльности, маржинальный анализ, анализ рентабельности, ассортиментный анализ.

Знания

Поэтому ключевым фактором эффективности процесса управления финансами является наличие знаний:

  • Личные знания в предметной области (можно сказать теоретико-методологические), включая опыт, интуицию финансиста/финансового директора
  • Общие (корпоративные) знания или систематизированная информация о фактах свершения финансовых операций на предприятии (т. е. информация о прошлом, настоящем и будущем состоянии предприятия, представленная в различных показателях и измерениях)

Если первое лежит в области действий этого финансиста (или директора по персоналу, который нанимал этого работника), то второе должно целенаправленно создаваться на предприятии совместными усилиями работников финансовых и информационных служб.

Что есть сейчас

Однако сейчас на предприятиях типична парадоксальная ситуация: информация есть, ее очень много, слишком много. Но она пребывает в хаотическом состоянии: неструктурированна, несогласованна, разрознена, не всегда достоверна и часто ошибочна, ее практически невозможно найти и получить. Производится длительная и зачастую бесполезная генерация гор финансовой отчетности, которая неудобна для финансового анализа, трудна для восприятия, так как создается не для внутреннего управления, а для предоставления внешним контролирующим органам.

По результатам исследования, проведенного фирмой Reuters среди 1300 международных менеджеров, 38% опрошенных утверждают, что тратят много времени, пытаясь найти нужную информацию. Получается, что высококвалифицированный специалист тратит высокооплачиваемое время не на анализ данных, а на сбор, поиск и систематизацию необходимой для этого анализа информации. В то же время менеджеры испытывают тяжелую загрузку данными, часто не имеющими никакого отношения к делу, что опять таки снижает эффективность их работы. Причина такой ситуации: избыток информации и недостаток знаний.

Что надо делать

Информация должна превращаться в знания. Для современного бизнеса ценная информация, ее систематическое приобретение, синтез, обмен, использование – это своего рода валюта, но для того, чтобы ее получать, необходимо управлять информацией, как и любым бизнес-процессом.

Ключом к управлению информацией является доставка нужной информации в надлежащем виде заинтересованным лицам в пределах организации в конкретное время. Цель такого управления заключается в том, чтобы помочь людям лучше работать вместе, используя возрастающие объемы информации.

Информационные технологии в данном случае выступают средством, с помощью которого можно было бы систематизировать информацию на предприятии, предоставить определенным пользователям к ней доступ и дать им инструментальные средства для превращения этой информации в знания.

Базовые понятия OLAP-технологий

OLAP-технологии (от англ. On-Line Analytical Processing) – это название не конкретного продукта, а целой технологии оперативного анализа многомерных данных, накопленных в хранилище. Для того, чтобы понять сущность OLAP необходимо рассмотреть традиционный процесс получения информации для принятия решений.

Традиционная система поддержки принятия решений

Здесь, конечно, тоже может быть много вариантов: полный информационный хаос или же наиболее типичная ситуация, когда на предприятии существуют оперативные системы, с помощью которых регистрируются факты свершения определенных операций и их хранение в базах данных. Для извлечения данных из баз для аналитических целей построена система запросов определенных выборок данных.

Но такой способ поддержки принятия решений лишен гибкости и имеет много недостатков:

  • используется ничтожно малое количество данных, которые могут быть полезны для принятия решений
  • иногда создаются сложные многостраничные отчеты, из которых реально используются 1-2 строчки (остальное – на всякий случай) – информационная перегрузка
  • медленная реакция процесса на изменения: если необходимо новое представление данных, то запрос должен быть формально описан и закодирован программистом, только затем выполнен. Время ожидания: часы, дни. А возможно решение необходимо сейчас, немедленно. А ведь после получения новой информации, возникнет новый вопрос (уточняющий)

Если отчеты по запросам представляются в одномерном формате – то проблемы бизнеса обычно многомерные и многогранные. Если требуется получить ясную картину бизнеса компании, то необходимо анализировать данные в различных разрезах.

Многие компании создают прекрасные реляционные базы данных, идеально разложив по полочкам горы неиспользуемой информации, которая сама по себе не обеспечивает ни быстрой, ни достаточно грамотной реакции на рыночные события. ДА - реляционные БД были, есть и будут наиболее подходящей технологией для хранения корпоративных данных. Речь идет не о новой технологии БД, а, скорее, об инструментальных средствах анализа, дополняющих функции существующих СУБД и достаточно гибких, чтобы предусмотреть и автоматизировать разные виды интеллектуального анализа, присущие OLAP.

Понимание OLAP

Что дает OLAP?

  • Развитые инструменты доступа к данным хранилища
  • Динамическое интерактивное манипулирование данными (вращения, консолидации или детализации)
  • Наглядное визуальное отображение данных
  • Быстрота – анализ осуществляется в реальном режиме времени
  • Многомерное представление данных - одновременный анализ ряда показателей по нескольким измерениям

Для получения эффекта от использования OLAP-технологий необходимо: 1) понимать сущность самих технологий и их возможности; 2) четко определиться, какие процессы необходимо анализировать, какими показателями они будут характеризоваться и в каких измерениях их целесообразно видеть, т. е. создать модель анализа.

Базовые понятия, которыми оперируют OLAP-технологии, следующие:

Многомерность

Для понимания многомерности данных, сначала следует представить таблицу, отображающую, например, выполнение Затрат предприятия по экономическим элементам и бизнес-единицам.

Эти данные представлены в двух измерениях:

  • статья
  • бизнес-единица

Эта таблица не информативная, так как показывает продажи за один какой-то один промежуток времени. Для различных временных периодов, аналитикам придется сопоставлять несколько таблиц (за каждый временной период):

На рисунке видно 3-е измерение, Время, в дополнение к первым двум. (Статья, бизнес-единица)

Другой способ показать многомерные данные – это представить их в форме куба:

OLAP-кубы позволяют аналитикам получать данные на различных срезах для получения ответов на вопросы, которые ставит бизнес:

  • Какие затраты в каких бизнес-единицах критичны?
  • Как изменяются затраты бизнес-единиц во времени?
  • Как изменяются статьи затрат во времени?

Ответы на подобные вопросы необходимы для принятия управленческих решений: о сокращении определенных статей затрат, влиянии на их структуру, выявление причин изменений затрат во времени, отклонений от плана и их ликвидация – оптимизация их структуры.

В этом примере рассмотрены только 3 измерения. Трудно изобразить более 3-х измерений, но это работает таким же образом, как и в случае с 3-мя измерениями.

Обычно OLAP-приложения позволяют получать данные по 3 и более измерениям, например, можно добавить еще одно измерение – План-Факт, Категория затрат: прямые, косвенные, по Заказам, по Месяцам. Дополнительные измерения позволяют получать больше аналитических срезов и обеспечивают ответы на вопросы с несколькими условиями.

Иерархичность

OLAP также позволяет аналитикам организовывать каждое измерение в виде иерархии, состоящей из групп и подгрупп и итоговых значений, отражающих показатель по всей организации – наиболее логичный способ анализировать бизнес.

Например, затраты целесообразно сгруппировать иерархично:

OLAP позволяет аналитикам получить данные общему сводному показателю (на самом верхнем уровне), а затем детализировать до нижнего и последующего за ним уровня, и таким образом, открыть точную причину изменения показателя.

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

Изменение направлений анализа в кубе (вращение данных)

Как правило, оперируют понятиями: измерения, заданные в столбцах, строках (их может быть несколько), остальные формируют срезы, содержание таблицы формируют размерности (продажи, затраты, денежные средства)

Как правило, OLAP позволяют изменять ориентацию измерений куба, тем самым, представляя данные в различных представлениях.

Отображение данных куба зависит от:

  • ориентации измерений: какие измерения заданы в строках, столбцах, срезах;
  • групп показателей, выделенных в строках, столбцах, срезах.
  • Изменение измерений лежит в области действий пользователя.

Таким образом, OLAP позволяет проводить различные виды анализа и понимать их взаимосвязи их результатов.

  • Анализ отклонений – анализ выполнения плана, который дополняется факторным анализом причин отклонений путем детализации показателей.
  • Анализ зависимостей: OLAP позволяет выявлять различные зависимости между различными изменениями, например, при удалении из ассортимента пива в течение первых двух месяцев обнаружилось падение продаж воблы.
  • Сопоставление (сравнительный анализ). Сравнение результатов изменения показателя во времени, для заданной группы товаров, в различных регионах и др.
  • Анализ динамики позволяет выявить определенные тенденции изменения показателей во времени.

Оперативность : можно сказать, что в основу OLAP положены законы психологии: возможность обработки информационных запросов в «реальном времени» - в темпе процесса аналитического осмысления данных пользователем.

Если из реляционной базы данных можно считать около 200 записей в секунду и записать 20, то хороший OLAP-сервер, используя расчетные строки и столбцы, может консолидировать 20 000-30 000 ячеек (эквивалентно одной записи в реляционной базе данных) в секунду.

Наглядность : Следует подчеркнуть, что OLAP предоставляет развитые средства графического представления данных конечному пользователю. Человеческий мозг способен воспринимать и анализировать информацию, которая представлена в виде геометрических образов, в объеме на несколько порядков большем, чем информацию, представленную в алфавитно-цифровом виде. Пример : Пусть Вам требуется найти знакомое лицо на одной из ста фотографий. Я полагаю, что этот процесс займет у Вас не более минуты. А теперь представьте себе, что вместо фотографий Вам предложат сто словесных описаний тех же лиц. Думаю, что Вам вообще не удастся решить предложенную задачу.

Простота : Главной особенностью этих технологий является то, что они ориентированы на использование не специалистом в области информационных технологий, не экспертом-статистиком, а профессионалом в прикладной области - менеджером кредитного отдела, менеджером бюджетного отдела, наконец, директором. Они предназначены для общения аналитика с проблемой, а не с компьютером .

Несмотря на большие возможности OLAP (кроме того, идея сравнительно давняя – 60-е года) реально применение его практически не встречается на наших предприятиях. Почему?

  • отсутствует информация или не понятны возможности
  • привычка мыслить двумерно
  • ценовой барьер
  • чрезмерная технологичность статей, посвященных OLAP: отпугивают непривычные термины - OLAP, «раскопка и срезы данных», «нерегламентированные запросы», «выявление существенных корреляций»

Наш подход и западный к применению OLAP

Кроме того, у нас также есть специфическое понимание прикладной полезности OLAP даже при понимании его технологических возможностей.

Наши и российские авторы различных материалов, посвященных OLAP, выражают следующее мнение по отношению к полезности OLAP: большинство воспринимает OLAP как такой инструмент, который позволяет разворачивать и сворачивать данные просто и удобно, осуществляя манипуляции, которые приходят аналитику в голову в процессе анализа. Чем больше «срезов» и «разрезов» данных аналитик видит, тем больше у него идей, которые, в свою очередь, для проверки требуют все новых и новых «срезов». Это неправильно.

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

Прикладное использование OLAP

  • Бюджет
  • Движение денежных средств

Одна из самых благодатных областей применения OLAP-технологий. Не даром ни одна современная система бюджетирования не считается завершенной без наличия в ее составе OLAP-инструментария для анализа бюджета. Большинство бюджетных отчетов легко строятся на основе OLAP-систем. При этом отчеты отвечают на очень широкую гамму вопросов: анализ структуры расходов и доходов, сравнение расходов по определенным статьям у разных подразделений, анализ динамики и тенденций расходов на определенные статьи, анализ себестоимости и прибыли.

OLAP позволит анализировать приходы и оттоки денежных средств в разрезе бизнес-операций, контрагентов, валют и времени с целью их оптимизации потоков.

  • Финансовая и управленческая отчетность (с аналитикой, которая необходима руководству)
  • Маркетинг
  • Balanced Scorecard
  • Анализ прибыльности

При наличии соответствующих данных можно найти различное приложение OLAP-технологии.

OLAP -продукты

В данном разделе будет идти речь об OLAP как о программном решении.

Общие требования к OLAP-продуктам

Имеется много путей реализации OLAP приложений, то никакая конкретная технология не должна была быть обязательной, или даже рекомендованной. При разных условиях и обстоятельствах один подход может быть предпочтительнее другого. Техника реализации включает много различных патентованных идей, которыми так гордятся поставщики: разновидности архитектуры «клиент-сервер», анализ временных рядов, объектная ориентация, оптимизация хранения данных, параллельные процессы и т. д. Но эти технологии не могут быть частью определения OLAP.

Есть характеристики, которые должны соблюдаться во всех OLAP-продуктах (если это OLAP-продукт), в которых и заключается идеал технологии. Это 5 ключевых определений, которые характеризуют OLAP (так называемый, тест FASMI): Быстрый Анализ Разделяемой Многомерной Информации .

  • Быстрый (FAST) - означает, что система должна обеспечивать выдачу большинства ответов пользователям в пределах приблизительно пяти секунд. Даже если система предупредит, что процесс будет длиться существенно дольше, пользователи, могут отвлечься и потерять мысль, при этом качество анализа страдает. Такую скорость не просто достигнуть с большими количествами данных, особенно, если требуются специальные вычисления «на лету». Поставщики прибегают к широкому разнообразию методов, чтобы достигнуть этой цели, включая специализированные формы хранения данных, обширные предварительные вычисления, или же ужесточая аппаратные требования. Однако полностью оптимизированных решений на сегодняшний день нет. На первый взгляд может казаться удивительным, что при получении отчета за минуту, на который не так давно требовались дни, пользователь очень быстро начинает скучать во время ожиданий, и проект оказывается намного менее успешным, чем в случае мгновенного ответа, даже ценой менее детального анализа.
  • Разделяемой означает, что система дает возможность выполнять все требования защиты данных и реализовывать распределенный и одновременный доступ к данным для различных уровней пользователей. Система должна быть способна обработать множественные изменения данных своевременным, безопасным способом. Это - главная слабость многих OLAP продуктов, которые имеют тенденцию предполагать, что во всех приложениях OLAP требуется только чтение, и предоставляют упрощенные средства защиты.
  • Многомерной - ключевое требование. Если бы необходимо было определить OLAP одним словом, то выбрали бы его. Система должна обеспечить многомерное концептуальное представление данных, включая полную поддержку для иерархий и множественных иерархий, поскольку это определяет наиболее логичный способ анализировать бизнес. Минимальное число измерений, которые должны быть обработаны, не устанавливается, поскольку это также зависит от приложения, и большинство продуктов OLAP, имеет достаточное количество измерений для тех рынков, на которые они нацелены. И опять же, мы не определяем, какая основная технология базы данных должна использоваться, если пользователь получает действительно многомерное концептуальное представление информации. Эта особенность - сердцевина OLAP
  • Информации. Необходимая информация должна быть получена там, где она необходима, независимо от ее объема и места хранения. Однако многое зависит от приложения. Мощность различных продуктов измеряется в терминах того, сколько входных данных они могут обрабатывать, но не сколько гигабайт они могут хранить. Мощность продуктов весьма различна - самые большие OLAP продукты могут оперировать, по крайней мере, в тысячу раз большим количеством данных по сравнению с самыми маленькими. По этому поводу следует учитывать много факторов, включая дублирование данных, требуемую оперативную память, использование дискового пространства, эксплуатационные показатели, интеграцию с информационными хранилищами и т. п.
  • Анализ означает, что система может справляться с любым логическим и статистическим анализом, характерным для данного приложения, и обеспечивает его сохранение в виде, доступном для конечного пользователя. Пользователь должен иметь возможность задавать новые специальные вычисления как часть анализа без необходимости программирования. То есть все требуемые функциональные возможности анализа должны обеспечиваться интуитивным способом для конечных пользователей. Средства анализа могли бы включать определенные процедуры, типа анализа временных рядов, распределения затрат, валютных переводов, поиска целей и др. Такие возможности широко отличаются среди продуктов, в зависимости от целевой ориентации.

Другими словами, эти 5 ключевых определений - это цели, на достижение которых ориентированы OLAP-продукты.

Технологические аспекты OLAP

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

Компоненты OLAP-систем (из чего состоит OLAP-система?)

Как правило, OLAP-система включает в себя следующие компоненты:

  • Источник данных
    Источник, из которого берутся данные для анализа (хранилище данных, база данных оперативных учетных систем, набор таблиц, комбинации перечисленного).
  • OLAP-сервер
    Данные из источника переносятся или копируются на OLAP-сервер, где они систематизируются и подготавливаются для более быстрого впоследствии формирования ответов на запросы.
  • OLAP-клиент
    Пользовательский интерфейс к OLAP-серверу, в котором оперирует пользователь

Следует отметить, что не все компоненты обязательны. Существуют настольные OLAP-системы, позволяющие анализировать данные, хранящиеся непосредственно на компьютере пользователя, и не требующие OLAP-сервера.

Однако какой элемент обязателен так это источник данных: наличие данных – это важный вопрос. Если они есть, в любом виде, как Excel-таблица, в базе данных учетной системы, в виде структурированных отчетов филиалов ИТ-специалист сможет интегрировать с OLAP-системой напрямую или с промежуточным преобразованием. Для этого OLAP-системы имеют специальные инструменты. Если этих данных нет, или они имеют недостаточную полноту и качество, OLAP не поможет. То есть OLAP – это только надстройка над данными, а если их нет они становятся бесполезной вещью.

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

Следует отметить, что термин «OLAP» неразрывно связан с термином «хранилище данных» (Data Warehouse). Хранилище данных - это предметно-ориентированное, привязанное ко времени и неизменяемое собрание данных для поддержки процесса принятия управляющих решений. Данные в хранилище попадают из оперативных систем (OLTP-систем), которые предназначены для автоматизации бизнес-процессов, хранилище может пополняться за счет внешних источников, например статистических отчетов.

Несмотря на то, что они содержат заведомо избыточную информацию, которая и так есть в базах или файлах оперативных систем, хранилища данных необходимы потому, что:

  • разрозненность данных, хранение их в форматах различных СУБД;
  • повышается производительность получения данных
  • если на предприятии все данные хранятся на центральном сервере БД (что бывает крайне редко), аналитик наверняка не разберется в их сложных, подчас запутанных структурах
  • сложные аналитические запросы к оперативной информации тормозят текущую работу компании, надолго блокируя таблицы и захватывая ресурсы сервера
  • возможность осуществить очистку и согласование данных
  • анализировать данные оперативных систем напрямую невозможно или очень затруднительно;

Задача хранилища - предоставить «сырье» для анализа в одном месте и в простой, понятной структуре. То есть концепция Хранилищ Данных - это не концепция анализа данных, скорее это концепция подготовки данных для анализа. Она предполагает реализацию единого интегрированного источника данных.

OLAP-продукты: архитектуры

При использовании OLAP-продуктов важны 2 вопроса: как и где хранить и обрабатывать данные. В зависимости от того, как реализуются 2 этих процесса различают архитектуры OLAP. Существует 3 способа хранения данных для OLAP и 3 способа обработки этих данных. Многие производители предлагают несколько вариантов, некоторые пытаются доказать, что их подход – единственный самый благоразумный. Это, конечно, абсурд. Однако совсем немного продуктов могут оперировать в более, чем в одном режиме качественно.

Варианты хранения OLAP-данных

Хранение в данном контексте означает содержание данных в постоянно обновляющемся состоянии.

  • Реляционные базы данных: это типичный выбор, если на предприятии учетные данных хранятся в РБД. В большинстве случаев, данные следует хранить в денормализованной структуре (самая приемлемая схема «звезда»). Нормализованная база данных не приемлема по причине очень низкой производительности выполнения запросов при формировании агрегированных величин для OLAP (часто итоговые данные хранятся в агрегированных таблицах).
  • Файлы баз данных на клиентском компьютере (киоски или витрины данных): эти данные могут заранее распространяться или создаваться по запросам на клиентских компьютерах.

Многомерные базы данных: предполагают, что данные хранятся в многомерной базе данных на сервере. Она может включать данные, извлеченные и просуммированные из других систем и реляционных баз данных, файлов конечных пользователей и др. В большинстве случаев, многомерные базы данных хранятся на диске, но некоторые продукты позволяют использовать и оперативную память, вычисляя наиболее часто используемые данные «на лету». Очень в малом количестве продуктов, основанных на многомерных базах данных, возможно множественное редактирование данных, многие продукты позволяют одиночное изменение, но множественное чтение данных, в то время как другие ограничиваются только чтением.

Эти три места хранения данных имеют различные возможности по объемам хранения, и они расположены в снижающемся по возможностям порядке. Они также имеют различные характеристики производительности при реализации запросов: реляционные базы данных работают гораздо медленнее, чем последние два варианта.

Варианты обработки OLAP-данных

Существует 3 тех же самых варианта обработки данных:

  • Использование SQL: этот вариант, конечно же, используется при хранении данных в РБД. Однако SQLне позволяет осуществлять многомерные вычисления одним запросом, поэтому требуется написание сложных SQL-запросов для того, чтобы достичь не более чем обычную многомерную функциональность. Однако это не останавливает разработчиков от попыток. В большинстве случаев, они выполняют ограниченное количество соответствующих вычислений на SQL, с результатами, которые можно получить и при многомерной обработке данных или с клиентской машины. Возможно также использование оперативной памяти, которая может хранить данные, используя более, чем один запрос: это кардинально улучшило отклик.
  • Многомерная обработка на клиенте: клиентский OLAP-продукт производит вычисления самостоятельно, но такая обработка доступна только в том случае, если пользователи имеют относительно мощные ПК.

Многомерная обработка на сервере: это популярное место для осуществления многомерных вычислений в клиент-серверных OLAP-приложениях, используется во многих продуктах. Производительность обычно высокая, потому что большинство вычислений уже выполнено. Однако это требует большого дискового пространства.

Матрица OLAP-архитектур

Соответственно путем сочетаний вариантов хранение/обработка, можно получить матрицу архитектур OLAP-систем. Соответственно теоретически может существовать 9 сочетаний этих способов. Однако, так как 3 из них лишены здравого смысла, то в реальности существует только 6 вариантов хранения и обработки OLAP-данных.

Варианты хранения многомерных
данных

Варианты
многомерной
обработки данных

Реляционная база данных

Серверная многомерная база данных

Клиентский компьютер

Cartesis Magnitude

Многомерная серверная обработка

Crystal Holos (ROLAP mode)

IBM DB2 OLAP Server

CA EUREKA:Strategy

Informix MetaCube

Speedware Media/MR

Microsoft Analysis Services

Oracle Express (ROLAP mode)

Pilot Analysis Server

Applix iTM1

Crystal Holos

Comshare Decision

Hyperion Essbase

Oracle Express

Speedware Media/M

Microsoft Analysis Services

PowerPlay Enterprise Server

Pilot Analysis Server

Applix iTM1

Многомерная обработка на клиентском компьютере

Oracle Discoverer

Informix MetaCube

Dimensional Insight

Hyperion Enterprise

Cognos PowerPlay

Personal Express

iTM1 Perspectives

Так как именно хранение определяет обработку, то принято группировать по вариантам хранения, то есть:

  • ROLAP-продукты в секторах 1, 2, 3
  • Настольный OLAP – в секторе 6

MOLAP-продукты – в секторах 4 и 5

HOLAP-продукты (позволяющие как многомерный, так и реляционный вариант хранения данных) – во 2 и 4 (выделены курсивом)

Категории OLAP-продуктов

Существует более 40 OLAP-поставщиков, хотя всех их нельзя считать конкурентами, потому что они возможности их очень сильно отличаются и, фактически, работают они в различных рыночных сегментах. Они могут быть сгруппированы в 4 принципиальные категории, в основе отличия которых лежат понятия: функциональность сложная – функциональность простая, производительность – дисковое пространство. Удобно изобразить категории в форме квадрата, потому что это четко показывает взаимосвязи между ними. Отличительная черта каждой из категорий представлена на его стороне, а сходства с другими – на примыкающих сторонах, следовательно, категории на противоположных сторонах – принципиально отличны.

Особенности

Преимущества

Недостатки

Представители

Прикладной OLAP

Законченные приложения, с богатой функциональностью. Практически все требуют многомерной базы данных, хотя некоторые работают и с реляционной. Многие из этой категории приложений специализированы, например, продажи, производство, банковское дело, бюджетирование, финансовая консолидация, анализ продаж

Возможность интеграции с различными приложениями

Высокий уровень функциональности

Высокий уровень гибкости и масштабируемости

Сложность приложения (необходимость обучения пользователя)

Высокая стоимость

Hyperion Solutions

Crystal Decisions

Information Builders

В основе продукта лежит нереляционная структура данных, обеспечивающая многомерное хранение, обработку и представление данных. Данные в процессе анализа выбираются исключительно из многомерной структуры. Несмотря на высокий уровень открытости, поставщики склоняют покупателей приобретать их же инструментарий

Высокая производительность (быстрые вычисления суммарных показателей и различные многомерные преобразования по любому из измерений). Среднее время ответа на нерегламентированный аналитический запрос при использовании многомерной БД обычно на 1-2 порядка меньше, чем в случае РБД

Высокий уровень открытости: большое количество продуктов, с которыми возможна интеграция

Легко справляются с задачами включения в информационную модель разнообразных встроенных функций, проведения пользователем специализированного анализа и т. п.

Необходимость большого дискового пространства для хранения данных (из-за избыточности данных, которые хранятся). Это крайне неэффективное использование памяти - за счет денормализации и предварительно выполненной агрегации объем данных в многомерной базе соответствует в 2.5-100 раз меньшему объему исходных детализированных данных. В любом случае, MOLAP не позволяют работать с большими базами данных. Реальный предел - база объемом в 10-25 гигабайт

Потенциальная возможность «взрыва» базы данных – неожиданное, резкое, непропорциональное возрастание ее объемов

Отсутствие гибкости при необходимости модификации структур данных. Любое изменение в структуре измерений почти всегда требует полной перестройки гиперкуба

Для многомерных БД, в настоящее время отсутствуют единые стандарты на интерфейс, языки описания и манипулирования данными

Hyperion (Essbase)

DOLAP (Desktop OLAP)

Клиентские OLAP-продукты, которые достаточно легко внедрить и которые требуют низких затрат в расчете на одно место

Речь идет о такой аналитической обработке, где гиперкубы малы, размерность их небольшая, потребности скромны, и для такой аналитической обработки достаточно персональной машины на рабочем столе

Цель производителей этого рынка – автоматизация сотен и тысяч рабочих мест, но пользователи должны производить достаточно простой анализ. Покупателей зачастую ориентируют покупать больше рабочих мест, чем это необходимо

Хорошая интеграция с базами данных: многомерными, реляционными

Возможность совершения комплексных покупок, что снижает стоимость проектов внедрения

Простота использования приложений

Весьма ограниченная функциональность (не сравнимы в этом плане со специализированными продуктами)

Весьма ограниченная мощность (малые объемы данных, небольшое количество измерений)

Cognos (PowerPlay)

Business Objects

Crystal Decisions

Это самый маленький сектор рынка.

Детальные данные остаются там, где они были изначально - в реляционной БД; некоторые агрегаты хранятся в той же БД в специально созданных служебных таблицах

Способны работать с очень большими объемами данных (экономичное хранение)

Предусматривают многопользовательский режим работы, в том числе и в режиме редактирования, а не только чтения

Более высокий уровень защиты данных и хорошие возможности разграничения прав доступа

Возможно частое внесение изменений в структуру измерений (не требуют физической реорганизации БД)

Низкая производительность, значительно проигрывают по скорости отклика многомерным (отклик на сложные запросы измеряется в минутах или даже часах, чем в секундах). Это более удобные построители отчетов, чем интерактивные аналитические инструменты

Сложность продуктов. Требуют значительных затрат на обслуживание специалистами по информационным технологиям. Для обеспечения производительности, сравнимой с MOLAP, реляционные системы требуют тщательной проработки схемы базы данных и настройки индексов, то есть больших усилий со стороны администраторов БД

Дорогостоящие для внедрения

Ограничения SQL остаются реальностью, что не позволяет реализовать в РСУБД многие встроенные функции, легко обеспечиваемых в системах основанных на многомерном представлении данных

Information Advantage

Informix (MetaCube)

Следует отметить, что потребители гибридных продуктов, которые позволяют выбирать режим ROLAPи MOLAP, таких как Microsoft Analysis Services, OracleExpress, Crystal Holos, IBM DB2 OLAPServer, почти всегда выбирают режим MOLAP.

Каждая из представленных категорий имеет свои сильные и слабые стороны, нет единственно оптимального выбора. Выбор влияет на 3 важных аспекта: 1) производительность; 2) дисковое пространство для хранения данных; 3) возможности, функциональность и особенно на масштабируемость OLAP-решения. При этом необходимо учитывать объемы обрабатываемых данных, мощность техники, потребности пользователей и искать компромисс между быстродействием и избыточностью дискового пространства, занятого базой данных, простой и многофункциональностью.

Классификация Хранилищ Данных в соответствии с объёмом целевой БД

Недостатки OLAP

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

Выбор OLAP-продукта

Правильно выбрать OLAP-продукт сложно, но очень важно, если вы хотите, чтобы проект не провалился.

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

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

В процессе выбора необходимо рассмотреть 2 вопроса:

  • оценить потребности и возможности предприятия
  • оценить существующее на рынке предложение, важны также и тенденции развития

Затем все это сопоставить и, собственно говоря, произвести выбор.

Оценка потребностей

Нельзя сделать рациональный выбор продукта без понимания того, для чего он будет использоваться. Многие компании хотят получить «самое лучшее изделие» без четкого понимания, как оно должно использоваться.

Для того чтобы проект был успешно реализован, финансовый директор должен как минимум грамотно сформулировать перед руководителем и специалистами службы автоматизации свои пожелания и требования. Множество проблем возникает из-за недостаточной подготовленности и информированности для выбора OLAP, специалисты по ИТ и конечные пользователи испытывают трудности общения уже только потому, что манипулируют при разговоре разными понятиями и терминами и выдвигают противоречивые предпочтения. Нужна согласованность в целя в рамках компании.

Некоторые факторы уже стали очевидными после ознакомления с обзором категорий OLAP-продуктов, а именно:

Технические аспекты

  • Источники данных: корпоративное хранилище данных, OLTP-система, табличные файлы, реляционные базы данных. Возможность увязки OLAP-инструментария со всеми СУБД, используемыми в организации. Как показывает практика, интеграция разнородных продуктов в устойчиво работающую систему - один из наиболее важных вопросов, и его решение в ряде случаев может быть связано с большими проблемами. Необходимо разобраться, насколько просто и надёжно можно интегрировать средства OLAP с существующими в организации СУБД. Важно также оценить возможности интеграции не только с источниками данных, но и с другими приложениями, в которые, возможно, понадобится экспортировать данные: электронная почта, офисные приложения
  • Изменчивость данных, которые учитываются
  • Платформа сервера: NT, Unix, AS/400, Linux - но не следует настаивать, чтобы заданные спецификацией OLAP продукты выполнялись на сомнительных или умирающих платформах, которые Вы все еще используете
  • Стандарты клиентской части и браузера
  • Разворачиваемая архитектура: локальная сеть и модемная связь PC, высокоскоростной клиент/сервер, intranet, extranet, Internet
  • Международные особенности: многовалютная поддержка, многоязычные операции, коллективное использование данных, локализация, лицензирование, обновление Windows

Объемы входной информации, которые имеются и которые появятся в будущем

Пользователи

  • Сферу приложения: анализ продаж/маркетинга, составление бюджета/планирование, анализ показателей деятельности, анализ бухгалтерских отчетов, качественный анализ, финансовое состояние, формирование аналитических материалов (отчетов)
  • Число пользователей и их размещение, требования к разделению прав доступа к данным и функциям, секретность (конфиденциальность) информации
  • Вид пользователя: высшее руководство, финансы, маркетинг, HR, продажи, производство и т.д
  • Опыт пользователя. Уровень квалификации пользователя. Рассмотреть вопрос о проведении обучения. Очень важно, чтобы клиентское OLAP-приложение было таким, чтобы пользователи чувствовали себя уверенно и могли эффективно его использовать.

Ключевые особенности: потребность в обратной записи данных, распределенные вычисления, сложные валютные преобразования, потребности в печати отчетов, интерфейс электронной таблицы, сложность логики приложения, необходимая размерность, типы анализа: статистический, поиск цели, анализ «что если»

Внедрение

  • Кто будет заниматься внедрением и эксплуатацией: внешние консультанты, внутренняя служба ИТ или конечные пользователи
  • Бюджет: программное обеспечение, аппаратные средства, услуги, передача данных. Помните, что оплата лицензий OLAP-продукта это только маленькая часть общей стоимости проекта. Внедрение и аппаратные затраты могут быть больше, чем плата за лицензию, а длительная поддержка, эксплуатация и затраты администрации почти наверное значительно больше. И если Вы приняли неправильное решение покупки неподходящего продукта только потому, что оно более дешевое, окончательно Вы можете иметь более высокую общую стоимость проекта из-за более высоких расходов на обслуживание, администрацию и(или) аппаратных затрат при том, что вероятно, Вы получите более низкий уровень деловых выгод. При прикидке общих затрат не забудьте выяснить следующие вопросы: Насколько широк выбор источников для внедрения, обучения, и поддержки? Является ли потенциальный общий фонд (служащих, подрядчиков, консультантов) склонным к росту или сокращению? Насколько широко может быть использован свой производственный профессиональный опыт?

Несмотря на то, что стоимость аналитических систем даже сегодня остается достаточно высокой, а методологии и технологии реализации таких систем находятся ещё в стадии их становления, уже сегодня, экономический эффект обеспечиваемый ими существенно превышает эффект от традиционных оперативных систем.

Эффект от правильной организации, стратегического и оперативного планирования развития бизнеса трудно заранее оценить в цифрах, но очевидно, что он в десятки и даже сотни раз может превзойти затраты на реализацию таких систем. Однако не следует и заблуждаться. Эффект обеспечивает не сама система, а люди с ней работающие. Поэтому не совсем корректны декларации типа: «система Хранилищ Данных и OLAP-технологий будет помогать менеджеру принимать правильные решения». Современные аналитические системы не являются системами искусственного интеллекта и они не могут ни помочь, ни помешать в принятии решения. Их цель своевременно обеспечить менеджера всей информацией необходимой для принятия решения в удобном виде. А какая информация будет запрошена и какое решение будет принято на её основе, зависит только от конкретного человека ее использующего.

Остается сказать только одно, эти системы могут помочь разрешить многие бизнес-проблемы и могут иметь далеко идущий положительный эффект. Остается только ждать, кто первым осознает преимущества этого подхода и окажется впереди других.

Настольные OLAP-программы и OLAP-компоненты

Классификация OLAP - программ

Сначала повторим общеизвестное определение OLAP. OLAP (On Line Analytical Processing) - процесс оперативного анализа - это класс программного обеспечения, предоставляющий пользователю возможность мгновенно, в режиме реального времени получать ответы на произвольные аналитические запросы.

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

Программы, реализующие эту методику, делятся на следующие категории:

  1. OLAP-сервер или MOLAP-многомерная СУБД. Это машина вычислений и многомерная база данных, к которой обращаются клиентские программы с командами на получение данных и выполнение вычислений. В MOLAP хранятся - наборы данных, фактов и измерений, с заранее вычисленными агрегатами.
  2. MOLAP-компонента. Это инструмент программиста, при помощи которого разрабатываются клиентские программы, получающие вычисленные кубов от OLAP-сервера по какому-либо интерфейсу, например OLE DB for OLAP корпорации Microsoft.
  3. ROLAP-компонента. Это тоже инструмент программиста. В отличие от визуальной OLAP-компоненты она содержит собственную OLAP-машину для преобразования реляционных данных или многомерной матрицы в многомерные кубы. Другими словами, эта программа по запросу пользователя в оперативной памяти вычисляет агрегаты и сама же их отображает на экране.
  4. ROLAP-сервер. Относительно новый класс программного обеспечения. В отличие от OLAP-сервера не имеет в своем составе многомерной базы данных, а преобразует данные реляционной СУБД в многомерные кубы по запросу многих клиентских приложений.
  5. OLAP-программа. Это законченное решение, содержащее в своем составе OLAP-компоненту, средства описания произвольных запросов (Ad-hoc query) и интерфейс доступа к базам данных. В свою очередь такие программы можно разбить на две группы: MOLAP- и ROLAP-программы.

OLAP-компоненты

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

Подавляющее большинство поставщиков OLAP, а их в мире насчитывается около 140, не продают свои компоненты. Нам известно только три компоненты, которые можно купить для собственной разработки. Это Decision Cube компании Inprise в составе компиляторов Delphi и C++ Builder, Pivot Table корпорации Microsoft в составе MS Office, и Dynamic Cube компании Data Dynamic, специализирующейся на разработке OLAP-компонент.

Decision Cube компании Inprise поставляется как VCL-компонента. По нашей классификации относится к ROLAP-компонентам, то есть содержит в своем составе OLAP-машину и предназначен только для работы с реляционными СУБД или локальными таблицами. Он отличается весьма скромными возможностями. Например, в нем нельзя открыть один элемент измерения, или установить фильтр по нескольким измерениям, отобразить несколько фактов одновременно. Производительность компоненты невысока. Пределом является около 4000 записей при 5 измерениях. Компонента отображает в таблице одновременно только один факт. Неприятной особенностью является наличие в исходных текстах нескольких ошибок, в результате чего только высококвалифицированные программисты после исправления этих ошибок могут использовать компоненту в своих разработках. К достоинствам можно отнести простоту применения и освоения компоненты. При правильном использовании и небольших объемах данных продукты на базе этой компоненты могут оказаться полезными и приемлемыми по быстродействию.

Pivot Table корпорации Microsoft поставляется в двух вариантах: как составная часть MS Excel и как Web-компонента. Web-компонента (ActiveX) может быть использована как в браузере, так и собственном Windows-приложении. Pivot Table является одновременно и MOLAP- и ROLAP-компонентой. По протоколу OLE DB for OLAP он может взаимодействовать с многомерной СУБД MS OLAP Server, или другими 70-ю многомерными СУБД, разработчики которых поддержали этот протокол. По протоколу OLE DB Pivot Table может получать данные от реляционной СУБД и выполнять вычисления кубов в памяти. И конечно данные могут быть получены из заданной области таблицы MS Excel. В этом случае его производительность не отличается от производительности Decision Cube. Компонента отображает в таблице одновременно только один факт. Однако инструментарий компоненты шире, чем у Decision Cube - реализована произвольная фильтрация и раскрытие одного элемента измерения. Основным назначением компоненты является создание интерфейсов к OLAP-серверу в рамках концепции Business Intelligent корпорации Microsoft.

Dynamic Cube компании Data Dynamic является классической ROLAP-компонентой. Он поставляется как VCL для программистов Delphi и C++ Builder и как COM для приверженцев компонентной модели. OLAP- машина компоненты весьма мощна. Она с легкостью обрабатывает десятки и чуть медленнее даже сотни тысяч записей. Есть множественная фильтрация, открытие элемента одного измерения, некоторые дополнительные функции. Компонента позволяет отображать в таблице одновременно несколько фактов. Однако эта компонента довольно дорога, особенно впечатляет ее стоимость для профессиональных разработчиков.

Все три описанные выше компоненты по сравнению с готовыми продуктами многих поставщиков имеют весьма скупую функциональность, ограничивающуюся классическими функциями OLAP: drill down, move, rotate и пр. В то же время в некоторых готовых продуктах часто встречается инструментальная панель, наполненная кнопками дополнительных удобных функций. Таких как, и даже кнопками, выполняющими популярные аналитические задачи, например классический маркетинговый анализ 20/80.

Настольные OLAP-программы

Еще недавно поставщики OLAP-серверов продавали свои продукты по таким ценам, что их покупатели должны были быть богаты как арабские шейхи. Так, приобретение Oracle Express обошлось бы в $100 000 за рабочие места двух аналитиков и двух администраторов. Но, даже после выхода на рынок компании Microsoft, которая обрушила цены, предоставив OLAP-сервер бесплатно в составе MS SQL Server, создание Хранилищ данных или витрин данных остается серьезным мероприятием, требующим привлечения профессионального разработчика, администрирования в процессе эксплуатации и других расходов.

Поэтому на рынке появился особый класс продуктов - DOLAP (Desktop OLAP) - настольный OLAP. Это программа, которая устанавливается на каждый персональный компьютер. Она не требует сервера, имеет "нулевое администрирование". Программа позволяет пользователю настроиться на существующие у него базы данных; как правило, при этом создается словарь, скрывающий физическую структуру данных за ее предметным описанием, понятным специалисту. После этого программа выполняет произвольные запросы и результаты их отображает в OLAP-таблице. В этой таблице, в свою очередь, пользователь может манипулировать данными и получать на экране или на бумаге сотни различных отчетов.

По способу получения данных такие программы можно разделить на локальные и корпоративные:

  • Локальные манипулируют данными таблицы MS Excel или небольших баз данных типа Access, DBF, Paradox.
  • Корпоративные DOLAP имеют доступ к SQL-серверам или многомерным базам данных и, таким образом, тоже делятся на две категории.

Корпоративные DOLAP, предназначенные для анализа данных SQL-серверов позволяют анализировать уже имеющиеся в корпорации данные, хранящиеся в OLTP-системах. Однако вторым их назначением может быть быстрое и дешевое создание Хранилищ или витрин данных, когда программистам организации требуется лишь создать совокупности таблиц типа "звезда" и процедуры загрузки данных. Наиболее трудоемкая часть работы - разработка интерфейсов с многочисленными вариантами пользовательских запросов, интерфейсов и отчетов становится ненужной. Это буквально за несколько часов реализуется в DOLAP-программе. Освоение же такой программы конечным пользователем требует 30 минут.

DOLAP программы поставляются самими разработчиками баз данных, многомерных и реляционных. Это SAS Corporate Reporter, являющийся почти эталонным по удобству и красоте продуктом, Oracle Discovery, комплекс программ MS Pivot Services и Pivot Table и другие. Эти продукты, за исключением программ Microsoft, стоят недешево. Так SAS Corporate Reporter обойдется в $2000 на одного пользователя.

Большая группа программ поставляется в рамках компании "OLAP в массы", которую проводит корпорация Microsoft. Эти программы предназначены для работы с MS OLAP Services. Как правило, они являются улучшенными вариантами Pivot Table и предназначены для использования в рамках MS Office или Web. Это Matryx, Knosys и т.д.

Благодаря простоте, дешевизне и огромной эффективности этот класс продуктов приобрел огромную популярность на Западе. Большие корпорации строят свои Хранилища с распределенным доступом на основе таких программ.

OLAP-продукты компании "Intersoft Lab"

Контур Стандарт

Основным продуктом компании "Intersoft Lab" является большая информационно-управленческая система "Контур Корпорация", построенная по принципам Хранилища данных. Однако в процессе общения с клиентами компании осознала, что далеко не все готовы на инвестиции и организационные мероприятия, связанные с построением серьезного Хранилища данных. Первым шагом на этом пути для многих банков и предприятий мог бы стать OLAP-анализ данных из имеющихся OLTP-систем и собственных аналитических базах данных.

Для этих целей был создан DOLAP-продукт "Контур Стандарт".

Контур Стандарт 1.0 Первая версия системы относилась к классу локальных DOLAP. Средства программы позволяли организовать прямой доступ к dbf- и paradox-файлам. Кроме того, в состав дистрибутивного пакета входил мигратор данных, который помогал собрать в локальные таблицы данные из имеющихся у организации систем.

Контур Стандарт 2.0 В дальнейшем, для расширения мощности продукта в системе "Контур Стандарт" 2.0 был обеспечен и доступ к произвольным SQL-серверам на уровне таблиц и, что не встречается в зарубежных аналогах, хранимых процедур. Это превратило программу в корпоративную информационно-аналитическую систему. Отдельно был реализован интерфейс к системе "Контур Корпорация".

Одновременно для удобства администрирования программа была разделена на две редакции. Редакция "Developer" позволяет IT-специалисту описать источники данных и выборки. При этом создаются семантические словари, которые скрывают от конечного пользователя физический слой и переводят данные на язык предметной области. Редакция "Run-Time" позволяет анализировать данные и выпускать отчеты. Основным способом манипуляции данными является OLAP-компонента, которая позволяет без программирования и специальных навыков создавать необходимые отчеты. Одновременно были созданы и новые виды удобных аналитических инструментов, которые формально не являются OLAP-таблицами, но являются OLAP-средствами по духу, т.е. реализуют on-line анализ, но в другой форме представления данных.

В первых двух версиях применялась ROLAP-компонента Decision Cube компании Inprise. Однако ее невысокая мощность и функциональная упрощенность сдерживала применение программы в банках и организациях для анализа больших объемов данных. Поэтому было принято решение о ее замене. Маркетинговый анализ и ревизия интеллектуальных и производственных мощностей самой компании привели к решению о создании собственной OLAP-компоненты. В результате разработки компоненты, которую назвали Contour Cube, появилась следующая версия программы - "Контур Стандарт" 3.0, которая позволяет обрабатывать выборки данных до миллиона записей и обладает расширенной аналитической функциональностью.

Contour Cube

Компонента Contour Cube компании "Intersoft Lab" является представителем ROLAP-компонент. Она состоит из OLAP-машины, интерфейса доступа к данным, находящимся в SQL-серверах и других источниках, и визуальной части.

Компонента будет реализована в нескольких версиях для различных применений.

Версия VCL для использования в средах Delphi и C++ Builder компании Inprise. В этом случае данные поставляются через стандартный Data Set этих компиляторов. Доступ к источникам обеспечивается как при помощи BDE, так и ADO, поддержанной в последних версиях этих сред.

Версия COM предназначена для разработчиков на Visual Basic, Visual С++ и т.д. Она обеспечивает доступ к данным при помощи ADO. В будущих версиях будет поддержан и доступ к OLAP-серверам через интерфейс OLE DB for OLAP.

Версия ActiveX является Web-компонентой для создания аналитических Интернет-интерфейсов в стиле, предложенном Microsoft.

Версия DHTML состоит из сервера и DHTML-страниц. Она предназначена для создания аналитических Интернет-интерфейсов в среде UNIX, а также для бурно развивающегося рынка мобильных Интернет-устройств.

Основными достоинствами компоненты являются:

  • Обработка больших объемов данных.
  • Минимальные требования к памяти.
  • Расширенная функциональность.

Высокие характеристики компоненты достигнуты за счет уникальной математической модели, созданной специалистами компании.

Создание множества версий компоненты стало возможно благодаря ее многослойной архитектуре. Слой OLAP Engine является относительно независимой частью компоненты. Он реализован как кросс-платформенная библиотека, имеющая API для различных слоев визуализации. Этот API обладает функциями загрузки данных, вычисления срезов многомерного куба и выполнения аналитических и сервисных функций. Сам слой OLAP Engine состоит из машины вычислений и абстрактного многомерного Хранилища данных, которое может сохраняться в виде файла для передачи другим пользователям или длительного использования.

Обработка больших объемов данных

Тесты на персональном компьютере с процессором Intel Celeron 400 и оперативной памятью 64 Мб дали следующие результаты. Загрузка 60 000 записей с 6-ю измерениями занимает 5 секунд; дальнейшие манипуляции, такие как полный поворот таблицы, drill down и drill up выполняются за десятые доли секунды.

Это лучшие по порядку величины (sic!) результаты из известных нам OLAP-компонент. Так, Decision Cube и Pivot Table (без использования OLAP Services) требуют десятки секунд для загрузки и поворота таблицы объемом в 4000 записей и 6-ю измерениями. Скорость работы Dynamic Cube ниже, чем у Contour Cube, в среднем на 30% на средних объемах данных и в разы на предельных объемах.

Таким образом, во многих случаях благодаря своей мощности компонента делает необязательным использование OLAP-сервера. Это значительно упрощает процессы внедрения и администрирования корпоративной системы.

Минимальные требования к памяти

В момент работы с данными компонента занимает наименьший объем оперативной памяти по сравнению с одноклассниками. Так при загрузке 40 000 записей Contour Cube потребляет 7 МБ, Decision Cube 15 МБ.

Расширенная функциональность

В компоненте объединены функции лучших OLAP-компонент:

  • Множественный фильтр по измерениям.
  • Генерация как стандартных временных периодов ("Год", "Квартал", "Месяц", "Декада", "Неделя", etc.), так и задаваемых пользователем ("Финансовый год", "Сезон", "Время суток") по измерению типа "дата".
  • Сортировка по измерениям.
  • Сортировка по фактам.
  • Открытие одного значения измерения (ветви).
  • Автоматическое управление диаграммой.
  • Ручная настройка диаграммы.
  • Множество фактов.
  • Множество стандартных алгоритмов агрегации фактов.
  • Алгоритм агрегации "Остаток счета".

Уникальное свойство компоненты - алгоритм агрегации "Остаток счета". В связи с тем, что в основном OLAP-компоненты предназначаются для анализа продаж и других суммирующих видов анализов, они агрегируют по времени и остатки счетов. Это является ошибкой - остаток счета за квартал не является суммой остатков счета за день, а является остатком за последний день квартала. Реализация этого алгоритма позволяет использовать компоненту для анализа балансов и делает ее полезной не только для экономистов и маркетологов, но и для бухгалтеров.

Для того чтобы при использовании компоненты за минимальное время создавались мощные законченные продукты, в нее встроен набор часто встречающихся в реальной работе аналитических функций. Каждая из этих функций реализована как кнопка в инструментальной панели визуальной части компоненты. Вот перечень этих функций:

  • Удалить нулевые колонки, удалить нулевые строки, удалить нулевые колонки и строки. Применяется для сжатия разреженных таблиц.
  • Полный поворот. При этом колонки и строки таблицы меняются местами. Применяется для улучшения восприятия таблиц аналитиком, для подбора лучшей печатной формы.
  • Фильтр по факту. Позволяет задать абсолютные граничные значения факта или количество наибольших или наименьших элементов. Является одним из инструментов факторного анализа.
  • Кластерный анализ. Разбиение данных на заданное количество групп по предельным значениям факта. Например, разбиение клиентов на крупных, средних и мелких по объемам полученных от них доходов.
  • 80/20. Популярная на Западе разновидность кластерного анализа в маркетинге. Пример ее применения: показать 20% клиентов, которые приносят 80% прибыли.
  • Ранжирование. Генерация нового измерения "место в списке" по значению заданного факта и сортировка по нему. Полезно для анализа избирательных компаний, сравнения банков, предприятий, филиалов по заданному показателю.
  • Отображение одновременно нескольких статистических итогов, таких как среднее, среднеквадратическое отклонение и т.д. Эта функция понравится продвинутым специалистам, особенно в области финансового, фондового анализа.
  • Выгрузка в форматы MS Excel, MS Word, html. Позволяют продолжить анализ привычными средствами MS Excel, создать отчет произвольной формы, опубликовать отчет в Интернет.

В связи с невозможностью защиты авторских прав в России на программные продукты, физическая защита которых принципиально не реализуема, компонента как коммерческий продукт будет поставляться только на Западный рынок. Однако российские потребители могут воспользоваться ее достоинствами для развития собственного бизнеса в продуктах "Контур Стандарт" и "Контур Корпорация".

После того как данные получены, очищены, приведены к единому виду и помещены в хранилище, их необходимо анализировать. Для этого используется технология OLAP.

Двенадцать определяющих принципов OLAP были сформулированы в 1993 году Е.Ф.Коддом, "изобретателем" реляционных баз данных. OLAP - это OnLine Analytical Processing, то есть оперативный анализ данных. Позже определение Кодда было переработано в так называемый тест FASMI (Fast Analysis of Shared Multidimensional Information - быстрый анализ разделяемой многомерной информации), который требует, чтобы OLAP-приложение предоставляло следующие возможности быстрого анализа разделяемой многомерной информации: высокая скорость; анализ; разделение доступа; многомерность; работа с информацией..

Высокая скорость . Анализ должен производиться одинаково быстро по всем аспектам информации. При этом допустимое время отклика составляет не более 5 секунд.

Анализ . Должна существовать возможность производить основные типы числового и статистического анализа - предопределенного разработчиком приложения или произвольно определяемого пользователем.

Разделение доступа. Доступ к данным должен быть многопользовательским, при этом должен контролироваться доступ к конфиденциальной информации.

Многомерность . Основная, наиболее существенная характеристика OLAP.

Работа с информацией. Приложение должно иметь возможность обращаться к любой нужной информации, независимо от ее объема и места хранения.

Многомерное представление. OLAP предоставляет организациям максимально удобные и быстрые средства доступа, просмотра и анализа деловой информации. Что наиболее важно - OLAP обеспечивает пользователя естественной, интуитивно понятной моделью данных, организуя их в виде многомерных кубов (Cubes). Осями (dimensions) многомерной системы координат служат основные атрибуты анализируемого бизнес-процесса. Например, для процесса продаж это может быть категория товара, регион, тип покупателя. Практически всегда в качестве одного из измерений используется время. Внутри куба находятся данные, количественно характеризующие процесс, - так называемые меры (Measures). Это могут быть объемы продаж в штуках или в денежном выражении, остатки на складе, издержки и т.п. Пользователь, анализирующий информацию, может "нарезать" куб по разным направлениям, получать сводные (например, по годам) или, наоборот, детальные (по неделям) данные и осуществлять прочие операции, которые необходимы ему для анализа.

Хранение данных OLAP . В первую очередь нужно сказать о том, что, поскольку аналитик всегда оперирует некими суммарными (а не детальными) данными, в базах данных OLAP практически всегда хранятся наряду с детальными данными и так называемые агрегаты, то есть заранее вычисленные суммарные показатели. Примерами агрегатов может служить суммарный объем продаж за год или средний остаток товара на складе. Хранение заранее вычисленных агрегатов - это основной способ повышения скорости выполнения OLAP-запросов.


Однако построение агрегатов может привести к значительному увеличению объема базы данных.

Другой проблемой хранения OLAP-данных является разреженность многомерных данных. Например, если в 2000 году продаж в некотором регионе не было, то на пересечении соответствующих измерений куба не будет никакого значения. Если OLAP-сервер будет хранить в таком случае некое отсутствующее значение, то при значительной разреженности данных количество пустых ячеек (требующих, тем не менее, места для хранения) может во много раз превысить количество заполненных, и в результате общий объем неоправданно возрастет. Решения, предлагаемые для этого компанией Microsoft, приводятся ниже.

Разновидности OLAP. Для хранения OLAP-данных могут использоваться:

Специальные многомерные СУБД (OLAP-серверы). В этом случае говорят о MOLAP (Multidimensional OLAP) . При выполнении сложных запросов, анализирующих данные в различных измерениях, многомерные СУБД обеспечивают большую производительность, чем реляционные. При этом скорость выполнения запроса не зависит от того, по какому измерению производится «срез» многомерного куба.

Традиционные реляционные СУБД - ROLAP (Relational OLAP) . Применение специальных структур данных - схемы «звезды» (star) и «снежинки» (snowflake), а также хранение вычисленных агрегатов делают возможным многомерный анализ реляционных данных. Реляционные СУБД исторически более привычны, и в них сделаны значительные инвестиции, поэтому пока ROLAP более распространен.

Комбинированный вариант - HOLAP (Hybrid OLAP) , совмещающий и тот и другой вид СУБД. Одним из вариантов совмещения двух типов СУБД является хранение агрегатов в многомерной СУБД, а детальных данных (имеющих наибольший объем) - в реляционной.

Компания Microsoft предлагает следующие средства OLAP-анализа:

В комплект Microsoft SQL Server 7.0 входит полнофункциональный OLAP-сервер - SQL Server OLAP Services. Сервер, естественно, предназначен для обслуживания запросов клиентов, а для этого требуется некий протокол взаимодействия и язык запросов. Например, для взаимодействия клиента с серверной реляционной СУБД - SQL Server - используются протоколы ODBC или OLE DB и язык запросов SQL. Для доступа к OLAP-серверу компанией Microsoft был разработан протокол OLE DB for OLAP и язык запросов к многомерным данным - MDX (MultiDimensional eXpression). Аналогично тому, как для упрощения и удобства над OLE DB разработан слой объектов ADO (ActiveX Data Objects), над OLE DB for OLAP построен ADO MD (MultiDimensional ADO).

Средства анализа данных в Microsoft Office 2000. Microsoft Excel 2000 содержит новый механизм сводных таблиц - OLAP PivotTable, который заменил собой одноименный механизм предыдущих версий. Наряду с прежними возможностями анализа реляционных данных, механизм PivotTable теперь включает возможности анализа OLAP-данных, то есть выступает в качестве OLAP-клиента. В качестве сервера может использоваться Microsoft SQL Server 7.0, а также любой продукт, поддерживающий интерфейс OLE DB for OLAP. Механизм сводных таблиц Excel в полном объеме поддерживает возможности, предоставляемые описанным выше сервисом PivotTable Services (PTS). Таким образом, анализируемые OLAP-данные могут находиться как в локальных кубах, так и на OLAP-сервере.

Microsoft Office 2000 содержит также набор ActiveX-компонентов, называемых Office 2000 Web Components , которые позволяют организовать анализ OLAP-данных средствами просмотра Web. К ним относятся следующие четыре компонента:

Spreadsheet - реализует ограниченную функциональность листа Excel.

PivotTable - "близнец" сводных таблиц Excel; может работать с данными OLAP Services.

Chart - позволяет строить диаграммы, основанные как на реляционных, так и на OLAP-данных.

Data Source - служебный компонент для привязки остальных компонентов к источнику данных.

При работе с OLAP-данными Web Components обращаются к PivotTable Services.

5.5. ТЕХНОЛОГИЯ АНАЛИЗА «DATA MINING»

Появление технологии Data Mining связано с необходимостью извлекать знания из накопленных информационными системами разнородных данных. Возникло понятие, которое по-русски стали называть «добыча», «извлечение» знаний. За рубежом утвердился термин «Data Mining».

Широко использовавшиеся раньше методы математической статистики оказались полезными главным образом для проверки заранее сформулированных гипотез (verification-driven data mining) и для «грубого» разведочного анализа, составляющего основу оперативной аналитической обработки данных (online analytical processing – OLAP).

Ключевое достоинство «Data Mining» по сравнению с предшествующими методами – возможность автоматического порождения гипотез о взаимосвязи между различными параметрами или компонентами данных. Работа аналитика при работе с традиционным пакетом обработки данных сводится фактически к проверке или уточнению одной-двух порожденных им самим гипотез. В тех случаях, когда начальных предположений нет, а объем данных значителен, существующие системы теряют работоспособность и превращаются в пожирателей времени аналитика.

Еще одна важная особенность систем Data Mining возможность обработки многомерных запросов и поиска многомерных зависимостей. Уникальна также способность систем data mining автоматически обнаруживать исключительные ситуации – т.е. элементы данных, "выпадающие" из общих закономерностей.

Выделяют пять стандартных типов закономерностей, которые позволяют выявлять методы Data Mining

ассоциация

последовательность

классификация

кластеризация

прогнозирование

Поиск шаблонов производится методами, не ограниченными рамками априорных предположений о структуре выборки и виде распределений значений анализируемых показателей. Примеры заданий на такой поиск при использовании Data Mining приведены в таблице 1.

Таблица 1 – Сравнение формулировок задач при использовании методов OLAP и Data Mining