Добавлен: 05.07.2023
Просмотров: 128
Скачиваний: 1
той же базе данных.
· HOLAP (Hybrid OLAP) — исходные данные остаются в той же реляционной
базе данных, где они изначально находились, а агрегатные данные хранятся в
многомерной базе данных.
Некоторые OLAP-средства поддерживают хранение данных только в реляционных
структурах, некоторые — только в многомерных. Однако большинство современных
серверных OLAP-средств поддерживают все три способа хранения данных. Выбор
способа хранения зависит от объема и структуры исходных данных, требований к
скорости выполнения запросов и частоты обновления OLAP-кубов.
Отметим также, что подавляющее большинство современных OLAP-средств не хранит
«пустых» значений (примером «пустого» значения может быть отсутствие продаж
сезонного товара вне сезона).
3 Основные понятия OLAP
3.1 Тест FAMSI
Технология комплексного многомерного анализа данных получила название OLAP
(On-Line Analytical Processing). OLAP — это ключевой компонент организации
хранилищ данных. Концепция OLAP была описана в 1993 году Эдгаром Коддом,
известным исследователем баз данных и автором реляционной модели данных (см.
E.F. Codd, S.B. Codd, and C.T.Salley, Providing OLAP (on-line analytical
processing) to user-analysts: An IT mandate. Technical report, 1993). В 1995
году на основе требований, изложенных Коддом, был сформулирован так
называемый тест FASMI (Fast Analysis of Shared Multidimensional Information —
быстрый анализ разделяемой многомерной информации), включающий следующие
требования к приложениям для многомерного анализа:
· Fast (Быстрый) - предоставление пользователю результатов анализа за
приемлемое время (обычно не более 5 с), пусть даже ценой менее детального
анализа;
· Analysis (Анализ) - возможность осуществления любого логического и
статистического анализа, характерного для данного приложения, и его
сохранения в доступном для конечного пользователя виде;
· Shared (Разделяемой) - многопользовательский доступ к данным с
поддержкой соответствующих механизмов блокировок и средств авторизованного
доступа;
· Multidimensional (Многомерной) - многомерное концептуальное
представление данных, включая полную поддержку для иерархий и множественных
иерархий (это — ключевое требование OLAP);
· Information (Информации) - приложение должно иметь возможность
обращаться к любой нужной информации, независимо от ее объема и места
хранения.
Следует отметить, что OLAP-функциональность может быть реализована различными
способами, начиная с простейших средств анализа данных в офисных приложениях
и заканчивая распределенными аналитическими системами, основанными на
серверных продуктах.
3.2 Многомерное представление информации
3.3 Кубы
OLAP предоставляет удобные быстродействующие средства доступа, просмотра и
анализа деловой информации. Пользователь получает естественную, интуитивно
понятную модель данных, организуя их в виде многомерных кубов (Cubes). Осями
многомерной системы координат служат основные атрибуты анализируемого бизнес-
процесса. Например, для продаж это могут быть товар, регион, тип покупателя.
В качестве одного из измерений используется время. На пересечениях осей -
измерений (Dimensions) - находятся данные, количественно характеризующие
процесс - меры (Measures). Это могут быть объемы продаж в штуках или в
денежном выражении, остатки на складе, издержки и т. п. Пользователь,
анализирующий информацию, может “разрезать” куб по разным направлениям,
получать сводные (например, по годам) или, наоборот, детальные (по неделям)
сведения и осуществлять прочие манипуляции, которые ему придут в голову в
процессе анализа.
В качестве мер в трехмерном кубе, изображенном на рис. 2, использованы суммы
продаж, а в качестве измерений - время, товар и магазин. Измерения
представлены на определенных уровнях группировки: товары группируются по
категориям, магазины - по странам, а данные о времени совершения операций -
по месяцам. Чуть позже мы рассмотрим уровни группировки (иерархии) подробнее.
Реферат: OLAP технологии
Рисунок 7. Пример куба
3.3.1 “Разрезание” куба
Даже трехмерный куб сложно отобразить на экране компьютера так, чтобы были
видны значения интересующих мер. Что уж говорить о кубах с количеством
измерений, большим трех? Для визуализации данных, хранящихся в кубе,
применяются, как правило, привычные двумерные, т. е. табличные,
представления, имеющие сложные иерархические заголовки строк и столбцов.
Двумерное представление куба можно получить, “разрезав” его поперек одной или
нескольких осей (измерений): мы фиксируем значения всех измерений, кроме
двух, - и получаем обычную двумерную таблицу. В горизонтальной оси таблицы
(заголовки столбцов) представлено одно измерение, в вертикальной (заголовки
строк) - другое, а в ячейках таблицы - значения мер. При этом набор мер
фактически рассматривается как одно из измерений - мы либо выбираем для
показа одну меру (и тогда можем разместить в заголовках строк и столбцов два
измерения), либо показываем несколько мер (и тогда одну из осей таблицы
займут названия мер, а другую - значения единственного “неразрезанного”
измерения).
Взгляните на рис. 8 - здесь изображен двумерный срез куба для одной меры -
Unit Sales (продано штук) и двух “неразрезанных” измерений - Store (Магазин)
и Время (Time).
Реферат: OLAP технологии
Рисунок 8. Двумерный срез куба для одной меры
На рис. 9 представлено лишь одно “неразрезанное” измерение - Store, но зато
здесь отображаются значения нескольких мер - Unit Sales (продано штук), Store
Sales (сумма продажи) и Store Cost (расходы магазина).
Реферат: OLAP технологии
Рисунок 9. Двумерный срез куба для нескольких мер
Двумерное представление куба возможно и тогда, когда “неразрезанными”
остаются и более двух измерений. При этом на осях среза (строках и столбцах)
будут размещены два или более измерений “разрезаемого” куба - см. рис. 10.
Реферат: OLAP технологии
Рисунок 10. Двумерный срез куба с несколькими измерениями на одной оси
3.3.2 Метки
Значения, “откладываемые” вдоль измерений, называются членами или метками
(members). Метки используются как для “разрезания” куба, так и для
ограничения (фильтрации) выбираемых данных - когда в измерении, остающемся
“неразрезанным”, нас интересуют не все значения, а их подмножество, например
три города из нескольких десятков. Значения меток отображаются в двумерном
представлении куба как заголовки строк и столбцов.
3.3.3 Иерархии и уровни
Метки могут объединяться в иерархии, состоящие из одного или нескольких
уровней (levels). Например, метки измерения “Магазин” (Store) естественно
объединяются в иерархию с уровнями:
All (Мир)
Country (Страна)
State (Штат)
City (Город)
Store (Магазин).
В соответствии с уровнями иерархии вычисляются агрегатные значения, например
объем продаж для USA (уровень “Country”) или для штата California (уровень
“State”). В одном измерении можно реализовать более одной иерархии - скажем,
для времени: {Год, Квартал, Месяц, День} и {Год, Неделя, День}.
Отметим, что иерархии могут быть сбалансированными (balanced), как, например,
иерархия, представленная на рис. 11, а также иерархии, основанные на данных
типа "дата—время", и несбалансированными (unbalanced). Типичный пример
несбалансированной иерархии — иерархия типа "начальник—подчиненный" (ее можно
построить, например, используя значения поля Salesperson исходного набора
данных из рассмотренного выше примера), представлен на рис. 12
Реферат: OLAP технологии
Рисунок 11. Иерархия в измерении, связанном с географическим положением клиентов
Реферат: OLAP технологии
Рисунок 12. Несбалансированная иерархия
Иногда для таких иерархий используется термин Parent-child hierarchy.
Существуют также иерархии, занимающие промежуточное положение между
сбалансированными и несбалансированными (они обозначаются термином ragged —
"неровный"). Обычно они содержат такие члены, логические "родители" которых
находятся не на непосредственно вышестоящем уровне (например, в
географической иерархии есть уровни Country, City и State, но при этом в
наборе данных имеются страны, не имеющие штатов или регионов между уровнями
Country и City; (рис. 13).
Реферат: OLAP технологии
Рисунок 13. "Неровная" иерархия
Отметим, что несбалансированные и "неровные" иерархии поддерживаются далеко
не всеми OLAP-средствами. Например, в Microsoft Analysis Services 2000
поддерживаются оба типа иерархии, а в Microsoft OLAP Services 7.0 — только
сбалансированные. Различным в разных OLAP-средствах может быть и число
уровней иерархии, и максимально допустимое число членов одного уровня, и
максимально возможное число самих измерений.
3.3.4 Архитектура OLAP приложений
Все, что говорилось выше про OLAP, по сути, относилось к многомерному
представлению данных. То, как данные хранятся, грубо говоря, не волнует ни
конечного пользователя, ни разработчиков инструмента, которым клиент
пользуется.
Многомерность в OLAP-приложениях может быть разделена на три уровня:
Ø Многомерное представление данных - средства конечного
пользователя, обеспечивающие многомерную визуализацию и манипулирование
данными; слой многомерного представления абстрагирован от физической
структуры данных и воспринимает данные как многомерные.
Ø Многомерная обработка - средство (язык) формулирования
многомерных запросов (традиционный реляционный язык SQL здесь оказывается
непригодным) и процессор, умеющий обработать и выполнить такой запрос.
Ø Многомерное хранение - средства физической организации данных,
обеспечивающие эффективное выполнение многомерных запросов.
Первые два уровня в обязательном порядке присутствуют во всех OLAP-средствах.
Третий уровень, хотя и является широко распространенным, не обязателен, так
как данные для многомерного представления могут извлекаться и из обычных
реляционных структур; процессор многомерных запросов в этом случае
транслирует многомерные запросы в SQL-запросы, которые выполняются
реляционной СУБД.
Конкретные OLAP-продукты, как правило, представляют собой либо средство
многомерного представления данных, OLAP-клиент (например, Pivot Tables в
Excel 2000 фирмы Microsoft или ProClarity фирмы Knosys), либо многомерную
серверную СУБД, OLAP-сервер (например, Oracle Express Server или Microsoft
OLAP Services).
Слой многомерной обработки обычно бывает встроен в OLAP-клиент и/или в OLAP-
сервер, но может быть выделен в чистом виде, как, например, компонент Pivot
Table Service фирмы Microsoft.
Заключение
В данной работе мы ознакомились с основами OLAP. Мы узнали следующее:
Назначение хранилищ данных — предоставление пользователям
информации для статистического анализа и принятия управленческих решений.
Хранилища данных должны обеспечивать высокую скорость получения данных,
возможность получения и сравнения, так называемых срезов данных, а также
непротиворечивость, полноту и достоверность данных.
OLAP
(On-Line Analytical Processing) является ключевым компонентом построения и
применения хранилищ данных. Эта технология основана на построении
многомерных наборов данных — OLAP-кубов, оси которого содержат параметры,
а ячейки — зависящие от них агрегатные данные.
· Приложения с OLAP-функциональностью должны предоставлять
пользователю результаты анализа за приемлемое время, осуществлять логический
и статистический анализ, поддерживать многопользовательский доступ к данным,
осуществлять многомерное концептуальное представление данных и иметь
возможность обращаться к любой нужной информации.
Кроме того, мы рассмотрели основные принципы логической организации OLAP-
кубов, а также узнали основные термины и понятия, применяемые при многомерном
анализе. И наконец, мы выяснили, что представляют собой различные типы
иерархий в измерениях OLAP-кубов.