Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Средства OLAP (реферат)

.pdf
Скачиваний:
82
Добавлен:
28.06.2014
Размер:
367.07 Кб
Скачать

Национальный исследовательский институт

Московский Энергетический Институт (Технический Университет)

Институт автоматики и вычислительной техники Кафедра Прикладной математики

РЕФЕРАТ

на тему:

Средства OLAP

Выполнил:

Бочаров Иван Андреевич Проверила:

доц. Сидорова Наталья Петровна

Москва

2011 г.

Оглавление

 

Введение...................................................................................................................

3

Процесс анализа на предприятии ..........................................................................

4

Базовые концепции OLAP......................................................................................

5

Варианты хранения информации в OLAP ............................................................

7

Признаки OLAP-продукта......................................................................................

8

Правила Кодда......................................................................................................

9

Тест FASMI...........................................................................................................

9

Обзор программных продуктов ...........................................................................

12

Примеры областей применения ...........................................................................

12

Продажи ..............................................................................................................

12

Результаты выборов...........................................................................................

15

Потребление электроэнергии............................................................................

15

Заключение ............................................................................................................

17

2

Введение

Трудно найти в современном компьютерном мире человека, который хотя бы на интуитивном уровне не понимал, что такое базы данных и зачем они нужны. В отличие от традиционных реляционных СУБД, концепция OLAP не так широко известна, хотя этот загадочный термин периодически встречается в публикациях технической направленности. Далее мы попробуем разобраться более детально, что конкретно следует понимать под термином Online Analytical Processing.

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

3

Процесс анализа на предприятии

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

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

Здесь "Страна", "Товар", "Год" являются атрибутами, а "Объем продаж" - тем самым числовым значением. Задачей аналитика, повторимся, является выявление стойких взаимосвязей между атрибутами и числовыми параметрами. Посмотрев на таблицу, можно заметить, что ее легко можно перевести в три измерения, отложив страны по одной из осей, товары – по другой, годы – по третьей. Значениями в этом трехмерном массиве у нас будут соответствующие объемы продаж.

4

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

Базовые концепции OLAP

Рассмотренный трехмерный массив в терминах OLAP называется кубом. На самом деле, с точки зрения строгой математики кубом такой массив будет далеко не всегда: у настоящего куба количество элементов во всех измерениях должно быть одинаковым, а у кубов OLAP такого ограничения нет. Тем не менее, несмотря на эти детали, термин "кубы OLAP" ввиду своей краткости и образности стал общепринятым. Куб OLAP совсем не обязательно должен быть трехмерным. Он может быть и двух-, и многомерным - в зависимости от решаемой задачи. Особо матерым аналитикам может понадобиться порядка 20 измерений (большее количество уже вряд ли будет востребовано) - и серьезные OLAP-продукты (такие, как

SAP BW, Microsoft Analysis Services) именно на такое количество и рассчитаны. Более простые настольные приложения поддерживают обычно около 6 измерений.

Измерения OLAP-кубов состоят из так называемых меток или членов (members). Например, измерение "Страна" состоит из меток "Аргентина", "Бразилия", "Венесуэла" и так далее.

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

5

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

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

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

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

6

Пример иерархии

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

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

Дадим краткие характеристики существующим вариантам хранения информации

Варианты хранения информации в OLAP

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

7

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

MOLAP (Multidimensional OLAP) - и детальные данные, и

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

Microsoft Analysis Services, Oracle OLAP Option, Essbase, SAS OLAP Server, TM1, PowerPlay.

ROLAP (Relational OLAP) - детальные данные остаются там, где они "жили" изначально - в реляционной БД; агрегаты хранятся в той же БД в специально созданных служебных таблицах.

HOLAP (Hybrid OLAP) - детальные данные остаются на месте (в реляционной БД), а агрегаты хранятся в многомерной БД.

Примеры таких продуктов — SAP BW, Microstrategy Intelligence Server, Mondrian.

Каждый из этих способов имеет свои преимущества и недостатки и должен применяться в зависимости от условий - объема данных, мощности реляционной СУБД и т. д.

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

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

Признаки OLAP-продукта

Проблема, которая вставшая перед учеными с самого начала исследований OLAP, заключалась в решении того, какой продукт правомерно относить к категории OLAP. Решить является ли продукт "именно OLAP" становилось все сложнее в связи с тем, что все больше и больше поставщиков утверждали, что они имеют "именно OLAP", в то время как это могло означать все что угодно. Нельзя было полагаться на собственные описания поставщиков независимо от их членства в Совете OLAP (OLAP Council). Такое членство не являлось надежным индикатором

8

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

OLAP.

Правила Кодда

В 1993 Е. Ф. Кодд с партнерами опубликовали статью, инициированную компанией Arbor Software(сегодня это Hyperion Solutions), озаглавленную «Обеспечение OLAP (оперативной аналитической обработки) для пользователей - аналитиков», как некий "мандат" информационной технологии. Доктор Кодд, конечно, хорошо известен, как классик теории реляционных баз данных, созданной в период 60-80-х годов, однако его требования к OLAP оказались достаточно спорными, так как были спонсированы поставщиком, а не обоснованы математически. Кроме того, не очень ясно, насколько велика роль самого Кодда в написании этой статьи, есть основания полагать, что его роль, вероятно, не очень значительна. Эта статья воспринимается как документ, опубликованный поставщиком (а так оно и есть) скорее, нежели как научный труд (каковой эта публикация и не является).

Эта статья включала 12 правил, которые теперь хорошо известны. В 1995 году к ним были добавлены еще шесть (которые известны в значительно меньшей степени). Доктор Кодд разбил на четыре группы эти правила, назвав их "особенностями". Заметим, что сегодня они редко цитируются и мало используются.

Тест FASMI

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

Построенное определение должно было быть коротким и простым. Помнить 12 правил или 18 особенностей слишком обременительно для большинства людей. В результате специалистами была разработана концепция FASMI:

Fast

Analysis

9

of Shared

Multidimensional

Information

Это определение впервые было сформулировано в начале 1995 года и с тех пор не нуждалось в пересмотре.

Дадим более развернутое описание каждому из пунктов:

FAST(Быстрый) - означает, что система должна обеспечивать выдачу большинства ответов пользователям в пределах приблизительно пяти секунд. При этом самые простые запросы обрабатываются в течение одной секунды и очень немногие - более 20-ти секунд. Недавнее исследование в Нидерландах показало, что конечные пользователи воспринимают процесс неудачным, если результаты не получены по истечении 30 секунд. Они способны нажать "Alt+Ctrl+Del", если система не предупредит их, что обработка данных требует больше времени. Даже если система предупредит, что процесс будет длиться существенно дольше, пользователи, могут отвлечься и потерять мысль, при этом качество анализа страдает. Такую скорость не просто достигнуть с большими количествами данных, особенно, если требуются специальные вычисления "на лету". Поставщики прибегают к широкому разнообразию методов, чтобы достигнуть этой цели, включая специализированные формы хранения данных, обширные предварительные вычисления, или же ужесточая аппаратные требования. Впрочем, не существует единого оптимального подхода к решению проблемы сокращения времени ожидания ответа. В частности, подход предварительных вычислений дает сбои с очень большими, разреженными приложениями, так как базы данных просто становятся слишком большими (проблема взрыва базы данных). Следует принять во внимание, что выполнение вычислений "на лету" - слишком медленное при работе с большими базами данных, даже при использовании экзотических аппаратных средств. На первый взгляд может казаться удивительным, что при получении отчета за минуту, на который не так давно требовались дни, пользователь очень быстро начинает скучать во время ожиданий, и проект оказывается намного менее успешным, чем в случае мгновенного ответа, даже ценой менее детального анализа.

ANALYSIS (Анализ) означает, что система может справляться с любым логическим и статистическим анализом, характерным для данного приложения, и обеспечивает его сохранение в виде, доступном для конечного пользователя. Кроме того, необходимо позволить пользователю определять новые специальные вычисления как часть анализа и формировать отчеты любым желательным способом, без необходимости программирования, поэтому по этому пункту обычно исключаются продукты (подобно Oracle

10