Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы-ответы-2012[beta.1].doc
Скачиваний:
27
Добавлен:
29.04.2019
Размер:
4.65 Mб
Скачать

23. Техника оперативного анализа данных (olap).

OLAP (On-LineAnalyticalProcessing) — это ключевой компонент организации хранилищ данных. Концепция OLAP была описана в 1993 году Эдгаром Коддом, известным исследователем баз данных и автором реляционной модели данных. В основе концепции OLAP лежит принцип многомерного концептуального представления данных (multi-dimensional conceptual view) , введенный Коддом.

Одновременный анализ по нескольким измерениям данных определяется как многомерный анализ.

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

Можно выбрать и желаемый уровень детализации информации по каждому измерению.

  • Базовые операции:

  • Поворот (rotate)

  • Проекция

  • Раскрытие (drill-down)

  • Свертка (roll-up/drill-up)

  • Сечение (slice-and-slice)

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

В 1995 году на основе требований, изложенных Коддом, был сформулирован так называемый тест FASMI (Fast Analysis of Shared Multidimensional Information — быстрый анализ разделяемой многомерной информации), включающий следующие требования к приложениям для многомерного анализа:

предоставление пользователю результатов анализа за приемлемое время (обычно не более 5 с), пусть даже ценой менее детального анализа;

возможность осуществления любого логического и статистического анализа, характерного для данного приложения, и его сохранения в доступном для конечного пользователя виде;

многопользовательский доступ к данным с поддержкой соответствующих механизмов блокировок и средств авторизованного доступа;

многомерное концептуальное представление данных, включая полную поддержку для иерархий и множественных иерархий (это — ключевое требование OLAP);

возможность обращаться к любой нужной информации независимо от ее объема и места хранения.

Архитектура OLAP-приложений. Многомерность в OLAP-приложениях разделяется на три уровня:

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

Многомерная обработка - язык формирования многомерных запросов и процессор, обрабатывающий такой запрос.

Многомерное хранение – средства физической организации данных, обеспечивающие эффективное выполнение многомерных запросов

Технические аспекты многомерного хранения данных

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

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

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

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

Многомерное хранилище (MOLAP) обеспечивает максимальную производительность, так как его структура и интерфейсы наилучшим образом соответствуют структуре аналитических запросов. Этот способ более родственен ментальной модели человека, так как аналитик привык оперировать плоскими таблицами. Производя сечение куба двумерной плоскостью в том или ином направлении, легко получить взаимозависимость любой пары величин относительно выбранной меры. Например, как изменялись продажи (мера) во времени (измерение) в разрезе по регионам (другое измерение). Альтернативой MOLAP служит ROLAP - реляционный OLAP, когда многомерность эмулируется с помощью реляционной СУБД. Представим себе, что наш кубик - это картонная коробка, которую мы раскладываем на плоскость. Центральная таблица (начинка куба) - есть таблица фактов (меры). С ней отношениями "один ко многим" связаны таблицы измерений (стенки многомерной коробки). Такая схема получила название "звездной". Иногда измерение может состоять не из одной, а нескольких таблиц. Например, таблица Product_Dim в этом примере может быть разбита на две: собственно продукты и категории продуктов. Однако это все равно будет одно продуктовое измерение. Разновидность звездной схемы, когда измерение состоит из нескольких таблиц, получило название "снежинки", видимо, из-за того, что лучи "звезды" тоже в этом случае ветвятся.

Можно выделить три класса OLAP в зависимости от способов их распространения на рынке:

готовые тиражируемые OLAP-приложения, распространяемые либо автономно, либо в составе прикладных пакетов;

OLAP-приложения, создаваемые в рамках заказных проектов;

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