.



   

 Каталог

Корпоративные порталы
Информационные порталы
Экспертные порталы
Порталы приложений
Порталы совместной работы
Порталы управления знаниями
Порталы интеграции корпоративных систем

Методологии
Системы поддержки принятия решений (Decision Support Systems — DSS)
Data Warehouse - хранилища данных
Data Mart - Витрины данных
OLAP (On-Line Analytical Processing) - интерактивная аналитическая обработка
Business Intelligence (BI) - бизнес-интеллект
Интеллектуальный анализ данных (Data Mining)
Управление знаниями (Knowledge Management)

Корпоративные сети
Экстранет (Extranet , Экстрасеть)
Защита корпоративных сетей
Интернет (Internet)
Интранет (Intranet)

О проекте

             

Портал о Корпоративных порталах
Консалтинг, создание, внедрение и поддержка

УслугиЭнциклопедияСтатьиРесурсыИсторияНовости
Главная > Статьи > Методологии > OLAP (On-Line Analytical Processing) - интерактивная аналитическая обработка

Применение OLAP технологий при извлечении данных

 
OLAP (Online Analyzing Processing) –это один из способов добычи и анализа данных. Суть заключается в том, что информация представляется в виде многомерного куба с возможностью произвольного манипулирования ею. По сухому описанию довольно трудно понять, зачем OLAP нужен и как он работает. Чтобы это лучше понять, я расскажу, как мы создавали свою OLAP систему –Cube. История очень показательна. Скорее всего, вы с аналогичными ситуациями встречались. Речь будет идти не о конкретной программе, а технологии.

Все началось после ввода в эксплуатацию информационной системы управляющей товародвижением организации –приход, отгрузка, заказ, оплата и т.п. После того, как были решены все проблемы с документооборотом, встал вопрос о получении нужной информации из системы. В программу была встроена возможность построения произвольных запросов и интеграция с Excel. Но этого не хватало. Дело в том, что для того, чтобы добыть информацию из базы данных, нужно знать его структуру и язык SQL. Пользователи, конечно, шарахались и от того и от другого как черт от ладана. Этим занимался программист. Все было хорошо, пока от системы не стали требовать слишком много отчетов. Новые отчеты появлялись чуть ли не каждый день. Каждому из сотрудников требовалось что-то свое. Спустя месяц их количество перевалило за полсотни. Пользователи перестали вообще хоть что-то понимать. А как понять, что скрывается за отчетом с названием –«Остатки товара»? Какие там сведения, как сгруппированы, что входит в этот отчет, а что нет? На самом деле дела обстояли еще хуже, т.к. даже сам программист перестал разбираться. Чтобы ответить на вопрос –«А какую информацию мы получим из этого отчета?», он должен был посмотреть текст SQL запроса. В общем, было ясно, что ситуация тупиковая. Мы пытались решать проблему при помощи стандартизации. «Давайте решим, какие отчеты Вам нужны, и мы их подготовим». На что нам обычно отвечали –«Мы бы с удовольствием. Нам и самим все это надоело. Но мы четко не знаем, что нам потребуется завтра и вообще не имеем представления, какую информацию через 5 минут потребует шеф». Пришлось искать радикальное решение проблемы.

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

Речь дальше пойдет не о конкретной программе, а о технологии OLAP, т.к. как бы вы ее ни реализовывали, вы все равно столкнетесь с теми же проблемами, с которыми сталкивались мы при создании Cube.

Общий принцип работы любой OLAP системы прост. Давайте вначале представим себе отчет в виде куба.

Город Товар Январь Февраль Март Итого
Москва Утюг 10 22 15 47
  Пылесос 2 7 5 14
  Чайник 17 34 20 71
Итого   29 63 40 132
Рязань Холодильник 2 0 3 5
  Чайник 5 6 3 14
  Телефон 12 22 7 41
Итого   19 28 13 60
Владивосток Утюг 7 7 5 19
  Телефон 10 12 15 37
  Пылесос 2 3 0 5
Итого   19 22 20 61
Рис.1. Данные в трехмерном кубе

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

Город Январь Февраль Март Итого
Москва 29 63 40 132
Рязань 19 28 13 60
Владивосток 19 22 20 61
Итого 67 113 73 253

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

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

У любой технологии есть свои минусы и плюсы, и OLAP тоже не без греха. Во-первых, OLAP рассчитан в первую очередь на анализ процессов. Отгрузка, поступления, оплата –это эму дается легко. Если вы хотите анализировать объекты, то лучше использовать другой инструментарий. Во-вторых, при работе с OLAP исходят из предположения, что вы четко знаете, какую информацию вы хотите получить из базы данных. OLAP –это прежде всего инструмент добычи информации. Если вам нужно получить ответы на нечетко поставленные вопросы, например, –отобрать 10 лучших клиентов, тут будут проблемы. Вам нужно использовать другие методы анализа, т.к. нет простого определения понятия хороших клиентов, а следовательно невозможно сформировать SQL запрос к базе данных, а SQL –это фундамент на котором все это работает. В-третьих, к OLAP нужно относиться осторожно. Вещь очень мощная, но может мгновенно загрузить все ресурсы сервера. Так что отсекайте как можно больше информации, а лучше строить отдельные хранилища данных. Это оптимальный вариант. Соберите информацию из разных источников, систематизируйте, влейте в хранилище и анализируйте. Вот тут OLAP-у будет где разгуляться. Создание хранилища данных –очень серьезная работа, но чудесного способа решения всех проблем с информацией не существует. Если ваши данные разбросаны где попало и не систематизированы, вам ничто не поможет.

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

Арустамов Алексей
BaseGroup Labs.



16.04.2007



Кроме этой статьи Вы можете посмотреть по тематеке текущего раздела:
1 статью в разделе "Энциклопедия"
7 статей в разделе "Статьи".
2 статей в разделе "История".
__________________
Версия для печати

 


 
 

        Поиск

   
        Расширенный поиск

Статьи

Оперативная аналитическая обработка данных: концепции и технологии

Основы OLAP

OLAP - чудесное превращение данных в информацию

Ядро OLAP системы. Часть 3 -- построение срезов куба

Ядро OLAP системы. Часть 2 -- внутри гиперкуба

Ядро OLAP системы. Часть 1 -- принципы построения

Что следует понимать под термином OLAP?

История

Истоки сегодняшних продуктов OLAP

История OLAP (On-Line Analytical Processing)

Энциклопедия

OLAP - Оперативная аналитическая обработка (данных)

Ресурсы

OLAP: Панацея для систем управления информацией?

Мобильный OLAP

Оперативная аналитическая обработка данных OLAP. Интеллектуальные информационные системы.

OLAP. Часть 1. Старо как мир компьютерный

OLAP что в имени твоем?

Клад, который лежит под ногами

CorPortal.ru Все права защищены. Инспро

Рейтинг@Mail.ru
!