Набор этих требований, послуживших де-факто определением OLAP, достаточно часто вызывает различные нарекания, например, правила 1, 2, 3, 6 являются требованиями, а правила 10, 11 — неформализованными пожеланиями. Таким образом, перечисленные 12 требований Кодда не позволяют точно определить OLAP. В 1995 г. Кодд добавил еще шесть правил:
13. Пакетное извлечение против интерпретации — OLAP-система должна в равной степени эффективно обеспечивать доступ как к собственным, так и к внешним данным.
14. Поддержка всех моделей OLAP-анализа — OLAP-система должна поддерживать все четыре модели анализа данных, определенные Коддом: толковательную, стереотипную, категориальную и умозрительную.
15. Обработка ненормализованных данных — OLAP-система должна быть интегрирована с ненормализованными источниками данных. Модификации данных, выполненные в среде OLAP, не должны приводить к изменениям данных, хранимых в исходных внешних системах.
16. Сохранение результатов OLAP: хранение их отдельно от исходных данных — OLAP-система, работающая в режиме чтения-записи, после модификации исходных данных должна сохранять результаты отдельно друг от друга, т.е. обеспечивать безопасность всех исходных данных.
17. Исключение отсутствующих значений — OLAP-система, представляя данные пользователю, должна отбрасывать все отсутствующие значения, т.е. они должны отличаться от нулевых значений.
18. Обработка отсутствующих значений — OLAP-система должна игнорировать все отсутствующие значения без учета их источника. Эта особенность связана с 17-м правилом.
Кроме того, Кодд разбил все восемнадцать правил на четыре группы, и назвал их особенностями. Группы получили названия: В, S, R и D.
|
Основные особенности (В) включают следующие правила:
· многомерное концептуальное представление данных (правило 1);
· интуитивное манипулирование данными (правило 10);
· доступность (правило 3);
· пакетное извлечение против интерпретации (правило 13);
· поддержка всех моделей OLAP-анализа (правило 14);
· архитектура "клиент-сервер" (правило 5);
· прозрачность (правило 2);
· многопользовательская поддержка (правило 8).
Специальные особенности (S):
· обработка ненормализованных данных (правило 15);
· сохранение результатов OLAP: хранение их отдельно от исходных данных (правило 16);
· исключение отсутствующих значений (правило 17);
· обработка отсутствующих значений (правило 18).
Особенности представления отчетов (R):
· гибкость формирования отчетов (правило 11);
· стандартная производительность отчетов (правило 4);
· автоматическая настройка физического уровня (измененное оригинальное правило 7).
Управление измерениями (D):
· универсальность измерений (правило 6);
· неограниченное число измерений и уровней агрегации (правило 12);
· неограниченные операции между размерностями (правило 9).
Тест FASMI
Определенные ранее особенности распространены. Более известен тест FASMI (Fast of Shared Multidimensional Information), созданный в 1995 г. Ричардом Критом и Найджелом Пендсом на основе анализа правил Кодда. В данном контексте акцент сделан на скорость обработки, наличие средств статистического анализа, многопользовательский доступ, многомерность и релевантность информации, т. е. представление анализируемых фактов как функций от большого числа их характеризующих параметров. Они определили OLAP следующими пятью ключевыми словами: Fast (Быстрый), Analysis (Анализ), Shared (Разделяемой), Multidimensional (Многомерной), Information (Информации).
|
Fast (Быстрый) — OLAP-система должна обеспечивать выдачу большинства ответов пользователям в пределах приблизительно пяти секунд. При этом самые простые запросы обрабатываются в течение одной секунды, и очень немногие более двадцати секунд. Конечные пользователи воспринимают процесс неудачным, если результаты не получены на протяжении тридцати секунд. Они способны нажать комбинацию клавиш <Ctrl>+<Alt>+<Del>, если система не предупредит их, что обработка данных требует большего времени. Даже если система предупредит, что процесс будет длиться существенно дольше, пользователи могут отвлечься и потерять мысль, после чего качество анализа сильно страдает. Такой скорости трудно достигнуть с большим количеством данных, в особенности при специальных очень быстрых вычислениях. Для достижения такой цели используются разные методы, включая применение аппаратных платформ с большей производительностью.
Analysis (Анализ) — OLAP-система должна справляться с любым логическим и статистическим анализом, характерным для данного приложения, и обеспечивать его сохранение в виде, доступном для конечного пользователя. Система должна позволять пользователю определять новые специальные вычисления как часть анализа и формировать отчеты любым желаемым способом без необходимости программирования. Все требуемые функциональные возможности анализа должны обеспечиваться понятным для конечных пользователей способом.
|
Shared (Разделяемой) — OLAP-система должна выполнять все требования защиты конфиденциальности. Если множественный доступ для записи необходим, обеспечивается блокировка модификаций на соответствующем уровне. Обработка множественных модификаций должна выполняться своевременно и безопасным способом.
Multidimensional (Многомерной) — OLAP-система должна обеспечить многомерное концептуальное представление данных, включая полную поддержку для иерархий и множественных иерархий, обеспечивающих наиболее логичный способ анализа. Это требование не устанавливает минимальное число измерений, которые должны быть обработаны, поскольку этот показатель зависит от приложения. Оно также не определяет используемую технологию БД, если пользователь действительно получает многомерное концептуальное представление информации.
Information (Информации) — OLAP-система должна обеспечивать получение необходимой информации в условиях реального приложения. Мощность различных систем измеряется не объемом хранимой информации, а количеством входных данных, которые они могут обработать. В этом смысле мощность продуктов сильно различается. Большие OLAP-системы могут оперировать в тысячу раз большим количеством данных по сравнению с простыми версиями OLAP-систем. При этом следует учитывать множество факторов, включая дублирование данных, использование дискового пространства, эксплуатационные показатели, требуемую оперативную память, интеграцию с информационными хранилищами и т. п[5].
АРХИТЕКТУРА OLAP-СИСТЕМ
Многомерность в OLAP-приложениях представляют в виде трех уровней:
· Многомерное представление данных - средства конечного пользователя, обеспечивающие многомерную визуализацию и манипулирование данными; слой многомерного представления абстрагирован от физической структуры данных и воспринимает данные как многомерные.
· Многомерная обработка - средство (язык) формулирования многомерных запросов (традиционный реляционный язык SQL здесь оказывается непригодным) и процессор, умеющий обработать и выполнить такой запрос.
· Многомерное хранение - средства физической организации данных, обеспечивающие эффективное выполнение многомерных запросов.
Во всех OLAP-системах первые два уровня присутствуют обязательно, а третий уровень не обязательно присутствует в них, хотя и является широко распространенным, так как данные для многомерного представления могут извлекаться и из обычных реляционных структур, и тогда процессор многомерных запросов будет транслировать многомерные запросы в SQL-запросы, которые выполняются реляционной СУБД.
OLAP-продукты, чаще всего, представляют собой OLAP-сервер, многомерную серверную СУБД (такую как, Microsoft OLAP Services или Oracle Express Server) или же OLAP-клиент, средство многомерного представления данных (такое как, Pivot Tables в Excel 2000 фирмы Microsoft или ProClarity фирмы Knosys)[6].
OLAP-сервер обеспечивает хранение данных, выполнение над ними необходимых операций и формирование многомерной модели на концептуальном уровне.
OLAP-клиент обеспечивает пользователю возможность удобно манипулировать данными для выполнения задач анализа, представляя пользователю интерфейс к многомерной модели данных[7].
Слой многомерной обработки обычно бывает встроен в OLAP-клиент и/или в OLAP-сервер, но так же этот слой может быть выделен в чистом виде, как, например, компонент Pivot Table Service фирмы Microsoft.
OLAP-серверы, или серверы многомерных БД, могут хранить свои многомерные данные по-разному. В любом ХД как в обычном так и в многомерном вместе с детальными данными, извлекаемыми из оперативных систем, хранятся и суммарные показатели (агрегированные показатели, агрегаты), такие, как суммы объемов продаж по месяцам, по категориям товаров и т. п. Агрегаты хранятся в явном виде с единственной целью - ускорить выполнение запросов.
Как детальные данные, так и агрегаты могут храниться либо в реляционных, либо в многомерных структурах. Многомерное хранение позволяет обращаться с данными как с многомерным массивом, благодаря чему обеспечиваются одинаково быстрые вычисления суммарных показателей и различные многомерные преобразования по любому из измерений. Некоторое время назад OLAP-продукты поддерживали либо реляционное, либо многомерное хранение. Сегодня, как правило, один и тот же продукт обеспечивает оба этих вида хранения, а также третий вид - смешанный. Способ реализации хранения данных очень важен, т. к. от него зависят такие характеристики, как занимаемые ресурсы и в следствии производительность. Выделяют три основных способа реализации:
· MOLAP (Multidimensional OLAP) - детальные данные и агрегаты хранятся в многомерной БД. В этом случае получается наибольшая избыточность, так как многомерные данные полностью содержат реляционные.
· ROLAP (Relational OLAP) - детальные данные остаются в реляционной БД; агрегаты хранятся в той же БД в специально созданных служебных таблицах.
· HOLAP (Hybrid OLAP) - детальные данные остаются в реляционной БД, а агрегаты хранятся в многомерной БД.
Каждый из этих способов имеет свои преимущества и недостатки и должен применяться в зависимости от различных условий - объема данных, мощности реляционной СУБД и т. д.
При хранении данных в многомерных структурах возникает потенциальная проблема «разбухания» за счет хранения пустых значений. Если в многомерном массиве зарезервировано место под все возможные комбинации меток измерений, а реально заполнена лишь малая часть, то большая часть куба будет пустовать, хотя место будет занято. Современные OLAP-продукты умеют справляться с этой проблемой[8].
ЗАКЛЮЧЕНИЕ
Таким образом, в ходе рассматриваемой темы мы узнали, что системами поддержки принятия решений может быть построена на подсистеме оперативного анализа. Для реализации которой и применяется технология оперативной аналитической обработки данных OLAP (On-line analytical processing), использующая концепцию многомерного представления данных.
Узнали, что множественность измерений предполагает представление данных в виде многомерной модели. Измерение — это последовательность значений одного из анализируемых параметров. По измерениям в многомерной модели откладывают параметры, относящиеся к анализируемой предметной области.
По Кодду, многомерное концептуальное представление — это множественная перспектива, состоящая из нескольких независимых измерений, вдоль которых могут быть проанализированы определенные совокупности данных.
Одновременный анализ по нескольким измерениям определяется как многомерный анализ.
Оказалось, что многомерную модель данных можно представить как гиперкуб. Ребрами которого являются измерения, а ячейками — меры.
На пересечениях осей измерений располагаются данные, количественно характеризующие анализируемые факты, — меры.
Над ним могут выполнятся операции:
· Срез (Slice).
· Вращение (Rotate).
· Консолидация (Drill Up) и детализация (Drill Down).
Как оказалось с концепцией многомерного анализа данных тесно связывают оперативный анализ, который выполняется средствами OLAP-систем.
Узнали, что основным назначением OLAP-систем является поддержка аналитической деятельности, произвольных запросов пользователей-аналитиков. А целью OLAP-анализа — проверка возникающих гипотез.
Выяснили, что у истоков технологии OLAP стоит основоположник реляционного подхода Э. Кодд, который изложил 12 правил, изложенных определяющих OLAP:
1. Многомерность.
2. Прозрачность.
3. Доступность.
4. Постоянная производительность при разработке отчетов.
5. Клиент-серверная архитектура.
6. Равноправие измерений.
7. Динамическое управление разреженными матрицами.
8. Поддержка многопользовательского режима.
9. Неограниченные перекрестные операции.
10. Интуитивная манипуляция данными.
11. Гибкие возможности получения отчетов.
12. Неограниченная размерность и число уровней агрегации.
Оказалось, что позже он добавил еще шесть правил:
13. Пакетное извлечение против интерпретации.
14. Поддержка всех моделей OLAP-анализа.
15. Обработка ненормализованных данных.
16. Сохранение результатов OLAP: хранение их отдельно от исходных данных.
17. Исключение отсутствующих значений.
18. Обработка отсутствующих значений.
Узнали что OLAP-система включает в себя два основных компонента:
· OLAP-сервер;
· OLAP-клиент.
ГЛОССАРИЙ
№ п/п | Новое понятие | Содержание |
Вращение (Rotate) | Изменение расположения измерений, представленных в отчете или на отображаемой странице. | |
Детализация (Drill Down) | Операция, которая определяет переход от агрегированного представления данных к детальному. | |
Измерение | Последовательность значений одного из анализируемых параметров. | |
Консолидация (Drill Up) | Операция, которая определяет переход по направлению от детального представления данных к агрегированному. | |
Многомерное концептуальное представление (multi-dimensional conceptual view) | Множественная перспектива, состоящая из нескольких независимых измерений, вдоль которых могут быть проанализированы определенные совокупности данных. | |
Система поддержки принятия решений СППР | Системы, обладающие средствами ввода, хранения и анализа данных, относящихся к определенной предметной области, с целью поиска решений. | |
Срез (Slice) | Формируется подмножество многомерного массива данных, соответствующее единственному значению одного или нескольких элементов измерений, не входящих в это подмножество. | |
OLAP-клиент | Представляет пользователю интерфейс к многомерной модели данных, обеспечивая его возможностью удобно манипулировать данными для выполнения задач анализа. | |
OLAP-сервер | Обеспечивает хранение данных, выполнение над ними необходимых операций и формирование многомерной модели на концептуальном уровне. | |
OLAP (On-Line Analytical Processing) | Технология оперативной аналитической обработки данных использующая методы и средства для сбора, хранения и анализа многомерных данных и целях поддержки процессов принятия решений. |