Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow ИНФОРМАЦИОННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ ПРОИЗВОДСТВЕННОЙ КОМПАНИЕЙ
Посмотреть оригинал

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

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

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

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

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

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

Многомерный куб

Рис. 3.4. Многомерный куб

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

Если трехмерный куб можно представить графически, то куб с количеством измерений более трех визуализировать уже невозможно. Поэтому в реальности для анализа используют срезы куба. Срез куба — это результат выборки данных куба по выбранным пользователем значениям измерений, которые называются метками (members). Например, аналитик хочет сравнить продажи трех групп товаров в Москве и Санкт-Петербурге за январь и февраль. В этом случае он должен расположить значения измерения «Товар» по строкам, значения измерений «Город» и «Время» — по столбцам и выбрать в измерениях интересующие его позиции. Срез куба будет иметь вид, представленный на рис. 3.5.

Срез куба

Рис. 3.5. Срез куба

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

Срез куба с фиксированными измерениями в среде Deductor

Рис. 3.6. Срез куба с фиксированными измерениями в среде Deductor

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

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

  • поворот — транспонирование, в результате которого меняются местами строки и столбцы таблицы;
  • проекция — агрегирование значений в ячейках, лежащих на оси проекции, по определенному закону (суммирование, нахождение среднего, определение количества непустых ячеек и др.);
  • раскрытие, или детализация (drill-down), — замена одного из значений измерения совокупностью значений из следующего уровня иерархии измерения;
  • свертка, или консолидация (roll-up/drill-up), — операция, обратная раскрытию;
  • сечение (slice-and-dice) — получение «среза» данных путем задания параметров их выборки из куба.

В общем случае алгоритм работы OLAP включает в себя выполнение следующих действий:

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

Впервые определение OLAP-технологии было дано Е. Коддом в 1993 г[1]. Коддом были описаны возможности многомерного анализа и сформулированы 12 правил OLAP, к которым чуть позже (в 1995 г.) были добавлены еще несколько. Рассмотрим их подробнее.

  • 1. Многомерное концептуальное представление данных (Multi- Dimensional Conceptual View). В продукте OLAP используется многомерная модель представления данных, при которой категориальные атрибуты данных рассматриваются как измерения, а количественные — как факты.
  • 2. Прозрачность (Transparency). От пользователя должно быть скрыто, как реализована многомерная модель, какие конкретные средства используются для хранения и обработки данных, как данные организованы и откуда берутся.
  • 3. Доступность (Accessibility). Инструментарий OLAP должен обеспечивать пользователю доступ к данным независимо от их места и способа хранения. При этом должна поддерживаться единая, согласованная и целостная модель данных.
  • 4. Устойчивая производительность (Consistent Reporting Performance). Должна быть обеспечена высокая производительность OLAP независимо от количества измерений многомерной модели и размеров базы данных.
  • 5. Клиент-серверная архитектура (Client-Server Architecture). Для обеспечения оперативной аналитической обработки распределенных данных OLAP-продукт должен работать на основе клиент-серверной архитектуры. Для обобщения и консолидации данных из различных физически разделенных корпоративных баз данных инструмент должен поддерживать построение общей концептуальной схемы данных.
  • 6. Равноправие измерений (Generic Dimensionality). Для всех измерений в многомерном кубе должен быть доступен одинаковый набор функций. При необходимости любому измерению могут быть добавлены дополнительные характеристики. Базовая структура данных, формулы расчета и форматы отчетов не должны быть привязаны к какому-то одному измерению.
  • 7. Динамическая обработка разреженных матриц (Dynamic Sparse Matrix Handling). Поскольку кросс-таблицы, формируемые инструментом OLAP, часто бывают разреженными, должна обеспечиваться их оптимальная обработка. Инструмент должен обеспечивать высокую скорость обработки вне зависимости от расположения ячеек данных, от количества измерений в кубе и разреженности данных.
  • 8. Поддержка многопользовательского режима (Multi-User Support). Инструмент OLAP должен позволять работать с одними и теми же данными одновременно нескольким пользователям и обеспечивать при этом целостность и защиту данных.
  • 9. Неограниченная поддержка кроссмерных операций (Unrestricted Crossdimensional Operations). При выполнении манипуляций данными (операций среза, поворота, консолидации, детализации) должно обеспечиваться сохранение функциональных отношений между ячейками многомерного куба, описанных с помощью формул. Преобразования установленных отношений должны выполняться системой самостоятельно, без необходимости их переопределения пользователем.
  • 10. Интуитивное манипулирование данными (Intuitive Data Manipulation). Пользовательский интерфейс для выполнения манипуляций данными должен быть максимально удобным, естественным и комфортным.

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

12. Неограниченное количество измерений и уровней агрегации (Unlimited Dimensions and Aggregation Levels). OLAP-инструмент должен поддерживать аналитическую модель данных, в которой может содержаться до 20 измерений. При этом инструмент должен позволять пользователю определять для каждого измерения неограниченное количество уровней агрегации по любому направлению консолидации.

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

Для определения OLAP как аналитического инструмента в качестве универсального критерия используется тест FASMI (Fast Analysis of Shared Multidimensional Information — быстрый анализ разделяемой многомерной информации). Рассмотрим детально каждую из составляющих этой аббревиатуры.

Fast (быстрый). Запросы пользователей должны обрабатываться OLAP- системой с высокой скоростью, при этом среднее время обработки запроса не должно превышать 5 с, большинство запросов должно обрабатываться в пределах 1 с, самые сложные запросы, требующие больших вычислений, должны обрабатываться не более 20 с.

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

Shared (разделяемый доступ). OLAP-инструмент должен обеспечивать работу в многопользовательском режиме.

Multidimensional (многомерный). OLAP-приложение должно обеспечивать многомерное представление данных с поддержкой иерархических измерений.

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

В зависимости от ответа на вопрос, существует ли многомерный куб как отдельная физическая структура или лишь как виртуальная модель данных, различают системы MOLAP (Multidimensional OLAP) и ROLAP (Relational OLAP). В MOLAP реализуется многомерное представление данных на физическом уровне в виде многомерных кубов. Системы ROLAP используют классическую реляционную модель, характерную для OLTP-систем. При этом данные хранятся в реляционных таблицах, но специальные структуры эмулируют их многомерное представление. Также выделяют гибридные OLAP (HOLAP — Hybrid OLAP), в которых детализированные данные хранятся в реляционных таблицах, а агрегированные данные — в многомерных кубах. Такая комбинация реляционной и многомерной моделей позволяет сочетать высокую производительность, характерную для многомерной модели, и возможность хранить сколь угодно большие массивы данных, присущую реляционной модели.

  • [1] Codd Е. Providing OLAP to User-Analysts: An IT Mandate // Computerworld. 1993. T. 27.№30.
 
Посмотреть оригинал
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы