27150

ВВЕДЕНИЕ В OLAP

Доклад

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

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

Русский

2013-08-19

336.95 KB

9 чел.

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

ВВЕДЕНИЕ В 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

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

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

 

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


 

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

34024. Возникновение христианства как мировой религии. Средневековая философия. Доказательства бытия Бога. Принцип средневековой философии 25.5 KB
  Доказательства бытия Бога. Существование бога самоочевидно но если мы не знаем что такое бог то эта очевидность сомнительна. Невозможно определить бытие бога. Человек не может познать бога.
34025. Философия эпохи Возрождения 24 KB
  2 Расширение кругозора человека возникновение естествознания. Место человека периферийное т. Книги понижали достоинство человека в мире низводят человека с божественной высоты до земной. Гуманизм человек предстает как высшая ценность способности которой должны быть раскрыты полностью всё для блага человека.
34026. Проблема рационализма и сенсуализма начала 19 в. (сравнить Декарта и Локка) 30 KB
  разуме в центре работы теория познания Всякое познание это сближение с опытом. Он создаёт психологическую теорию познания. Что является самым главным в процессе познания По Декарту: чувства делятся на пришедшие из вне врожденные обнаруживаются нами самими. считает что элементы познания возникают только из чувственного опыта.
34027. Томас Гоббс 26.5 KB
  Власть проистекает из инстинкта самосохранения. Власть становится результатом конвенции разумного решения. Появляется общественная власть. Договор может быть расторгнут если власть не может больше защищать.
34028. Французское Просвещение (Вольтер, Руссо) 31 KB
  Крупнейшими мыслителями и идеологами этой эпохи стали Вольтер Дидро Гольбах Гельвеций Ламетри Руссо и др. Своим метким пером он поражал старое отжившее свой век его сатира и насмешка были убийственны для феодальной камарильи смех Вольтера разрушил больше чем плач Руссо. Мировоззренческая система Жан Жака Руссо завоевала огромную популярность еще при жизни он был признанным властителем дум большинства французов второй половины XVIII века.
34029. Философия Канта 27 KB
  Основные достижения Канта теория познания гносеология и этика. Основные положения идеи теории познания. Кант ставит вопрос о диалектике познания говоря о двух понятиях: субъект и объект познания эти понятия составляют диалектическую противоположность противоречие познания. Суть этой диалектики: ведущим началом источником познания является не объект а субъект познания.
34030. Философия Фейербаха. Антропологический материализм Фейербаха 28.5 KB
  С точки зрения Фейербаха идеализм есть не что иное как рационализированная религия а философия и религия по самому их существу считал Фейербах противоположны друг другу. Религия и близкая к ней по духу идеалистическая философия возникают по мнению Фейербаха из отчуждения человеческой сущности посредством приписывания богу тех атрибутов которые в действительности принадлежат самому человеку. Материализм Фейербаха характеризуется как антропологический так как в центре внимания Фейербаха не отвлеченное понятие материи а человек как...
34031. К.Маркс (1818 - 1883) 45 KB
  Маркс первоначально занимался философским творчеством. Несмотря на то что Маркс не создал целостного философского учения он привнес много новых идей в различные разделы философского знания и по сути дела заложил основы качественно нового мировоззрения. В гносеологии Маркс развивал идеи немецкой классики об активном характере познающего субъекта. Практику Маркс определяет как целенаправленную материальнопреобразующую деятельность общественного субъекта.