27150

ВВЕДЕНИЕ В OLAP

Доклад

Информатика, кибернетика и программирование

И если количество аналитиков в десятки раз меньше числа кассиров то объемы данных необходимых для анализа превышают размер средней транзакции на несколько порядков величины. Технология OLAP Online Analytical Processing представляет собой методику оперативного извлечения нужной информации из больших массивов данных и формирования соответствующих отчетов. Однако вскоре выяснилось что OLAPсистемы очень плохо справляются с ролью посредника между различными транзакционными системами источниками данных и клиентскими приложениями.

Русский

2013-08-19

336.95 KB

11 чел.

Анализ данных

ВВЕДЕНИЕ В OLAP

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

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

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

Технология OLAP (Online Analytical Processing) представляет собой методику оперативного извлечения нужной информации из больших массивов данных и формирования соответствующих отчетов.

История OLAP начинается в 1993. Первоначально казалось, что разделения транзакционных и аналитических систем (OLTP – OLAP) вполне достаточно. Однако вскоре выяснилось, что OLAP–системы очень плохо справляются с ролью посредника между различными транзакционными системами - источниками данных и клиентскими приложениями.

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

 

Эволюция понимания места OLAP в архитектуре

Так появились ХД, предназначенные для надежного хранения информации, и системы извлечения, очистки и загрузки данных (ETL). OLAP-системы работали поверх хранилищ данных.

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

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

Зачем строить хранилища данных - ведь они содержат заведомо избыточную информацию, которая и так "живет" в базах или файлах оперативных систем? Ответить можно кратко: анализировать данные оперативных систем напрямую невозможно или очень затруднительно. Это объясняется разрозненностью данных, хранением их в форматах различных СУБД и в разных "уголках" корпоративной сети.

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

Централизация и удобное структурирование - это далеко не все, что нужно аналитику. Ему ведь еще требуется инструмент для просмотра, визуализации информации. Традиционные отчеты, даже построенные на основе единого хранилища, лишены одного - гибкости. Их нельзя "покрутить", "развернуть" или "свернуть", чтобы получить желаемое представление данных. В качестве такого инструмента и выступает OLAP.

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

Принцип организации многомерного куба

В ячейке 1 будут располагаться факты, относящиеся к продаже цемента ООО «Спецстрой» 3 ноября, в ячейке 2 — к продаже плит ЗАО «Пирамида» 6 ноября, а в ячейке 3 — к продаже плит ООО «Спецстрой» 4 ноября.

Фактами в данном случае могут быть Цена, Количество, Сумма. Тогда выделенный сегмент будет содержать информацию о том, сколько плит, на какую сумму и по какой цене приобрела фирма ЗАО «Строитель» 3 ноября.


Измерения и факты в многомерном кубе

Работа с измерениями

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

  1. сечение (срез);
  2. транспонирование (вращение);
  3. свертка (консолидация);
  4. детализация.

А) Сечение

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

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

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

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

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


Сечения гиперкуба

Здесь изображен двумерный срез куба для одного факта - Unit Sales (продано штук) и двух "неразрезанных" измерений - Store (Магазин) и Время (Time).


Двумерный срез куба для одного факта

Здесь представлено лишь одно "неразрезанное" измерение - Store, но зато здесь отображаются значения нескольких мер - Unit Sales (продано штук), Store Sales (сумма продажи) и Store Cost (расходы магазина).


Двумерный срез куба для нескольких фактов

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


Двумерный срез куба с несколькими измерениями на одной оси

Метки

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

Иерархии и уровни

Метки могут объединяться в иерархии, состоящие из одного или нескольких уровней (levels). Например, метки измерения "Магазин" (Store) естественно объединяются в иерархию с уровнями:

   All (Мир)

      Country (Страна)

         State (Штат)

            City (Город)

               Store (Магазин).

В соответствии с уровнями иерархии вычисляются агрегатные значения, например объем продаж для USA (уровень "Country") или для штата California (уровень "State"). В одном измерении можно реализовать более одной иерархии - скажем, для времени: {Год, Квартал, Месяц, День} и {Год, Неделя, День}.

Б) Транспонирование

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

В) Свертка

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

 

Проиллюстрируем результаты свертки: в табл. 2 представлена исходная таблица, а в табл. 3 — результат ее свертки по измерению Товар.

Таблица 2. Исходная таблица 

Группа 

Товар 

Сумма 

Стройматериалы

Кирпич

22 000

Цемент

12 000

Керамзит

4500

Доска

7400

Инструмент

Отвертка

1200

Электропила

7600

Дрель

2450

Шпатель

780

Таблица 3. Результат свертки исходной таблицы по измерению «Товар» 

Группа 

Сумма 

Стройматериалы

45 900

Инструмент

12 030

В) Детализация

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

 

Например, если при анализе данных о продажах в Северной Америке выполнить операцию детализации для измерения "Регион", то будут отображены такие элементы, как "Канада", "Восточные штаты США" и "Западные штаты США". В результате дальнейшей детализации элемента "Канада" будут отображены элементы "Торонто", "Ванкувер" и т.д.


 

А также другие работы, которые могут Вас заинтересовать

59075. Погода рідного краю. Природознавство 4-й клас 46.5 KB
  Мета: познайомити учнів зі складом атмосфери планети Земля, утворенням хмар, вітру, збагатити уявлення про опади, дати поняття про погоду, указати на значення прогнозу погоди для людини, розвивати спостережливість, уяву, логічне мислення, узагальнювати знання про явища природи...
59076. Урок-телерепортаж із природознавства у 4-му класі. Подорож бутерброда 49 KB
  Обладнання: додатковий теоретичний матеріал таблицямозаїка Органи травлення модель бутерброда картки моніторингу Дерево підсумків. Сьогодні ми познайомимося з органами травлення. Що ж таке травлення Що ви уявляєте коли вимовляєте це слово Які асоціації воно викликає у вас...
59077. Урок математики з використанням інтерактивних методів навчання. Подорож до зимового лісу 30 KB
  Мета: учити додавати двоцифрові числа; розвивати логічне мислення, уміння аналізувати, класифікувати, узагальнювати; виховувати охайність, самостійність, інтерес до математики, дбайливе ставлення до природи.
59078. Виховне заняття 3-5-ті класи. Подорож до країни мультиплікації 41.5 KB
  Мета: привернути увагу дітей до вітчизняних мультфільмів, познайомити з історією мультиплікації, сформувати уявлення про механізм створення анімаційних фільмів, розвивати комунікативні здібності дітей у різних формах ігрової діяльності.
59079. Поняття про офіційно-діловий стиль. План роботи 30.5 KB
  Мета: ознайомити учнів з поняттям офіційноділовий стиль; вчити учнів правильно його відрізняти серед інших стилів мовлення; навчати учнів вмінню складати план роботи; розвивати в учнів мислення та мовлення; виховувати працьовитість уважність.
59080. Права дитини 36 KB
  Хто автор цієї книги Степан Гавриш Про що розповідається в цій книзі В історичному минулому яких країн ми побували Яка історія вразила вас найбільше Чому Які випробування випали на долю хлопчика зі Скіфії Петрика та Оксанки з України...
59081. Права національних меншин 57.5 KB
  Текст Хто такі національні меншини Національні меншини в Україні. Вправа Національні меншини: згоден не згоден. Текст Національні меншини.
59082. Привітаймо наших мам. Святкування Дня Матері 52 KB
  Учень Здрастуй березень наш крилатий Перший місяць весни теплий день. Учень Сьогодні привітати хочемо Ми любих мам із днем весни І побажати щиро хочемо Щоб завжди гарними були Учень Щоб не сивіло в вас волосся І щоб не морщилось чоло Щоб вам кохані наші мами...
59083. Прийом на роботу 32 KB
  Якщо група застрягає можна підказати їй таке: вік зовнішність одяг і походження людини не мають ніякого значення; усі кандидати заповнили заяви для прийому на роботу однаково добре; керівник не був ознайомлений з ними заздалегідь.