В 1993 году Эдгаром Коддом опубликовал статью «OLAP для пользователей-аналитиков: каким он должен быть». В работе Кодд изложил основные концепции оперативной аналитической обработки и определил двенадцать правил, которым должны удовлетворять продукты, позволяющие выполнять оперативную аналитическую обработку:
· Многомерность;
· Прозрачность;
· Доступность;
· Постоянная производительность при разработке отчетов;
· Клиент-серверная архитектура;
· Равноправие измерений;
· Динамическое управление разреженными матрицами;
· Поддержка многопользовательского режима;
· Неограниченные перекрестные операции;
· Интуитивная манипуляция данными;
· Гибкие возможности получения отчетов;
· Неограниченная размерность и число уровней агрегации.
2. КОНЦЕПТУАЛЬНОЕ МНОГОМЕРНОЕ ПРЕДСТАВЛЕНИЕ
1. Многомерность— OLAP-система на концептуальном уровне должна представлять данные в виде многомерной модели, так как это сильно упрощает процессы восприятия и анализа информации.
2. Прозрачность— OLAP-система должна скрывать от пользователя реальную реализацию многомерной модели, способ организации, источники, средства обработки и хранения.
3. Доступность — OLAP-система должна предоставлять пользователю единую, согласованную и целостную модель данных, обеспечивая доступ к данным независимо от места и способа их хранения.
4. Постоянная производительность при разработке отчетов — производительность OLAP-систем не должна значительно уменьшаться при увеличении количества измерений, по которым выполняется анализ.
5. Клиент-серверная архитектура— OLAP-система должна быть способна работать в среде "клиент-сервер", т. к. большинство данных, которые требуется подвергать оперативной аналитической обработке, хранятся распределено. Главной идеей является то, что серверный компонент инструмента OLAP должен быть достаточно интеллектуальным и позволять строить общую концептуальную схему на основе консолидации и обобщения различных физических и логических схем корпоративных БД для обеспечения эффекта прозрачности.
6. Равноправие измерений— OLAP-система должна поддерживать многомерную модель, в которой все измерения равноправны. При необходимости дополнительные характеристики могут быть предоставлены отдельным измерениям, но такая возможность должна быть предоставлена любому измерению.
7. Динамическое управление разреженными матрицами — OLAP-система должна обеспечивать оптимальную обработку разреженных матриц. Скорость доступа должна сохраняться вне зависимости от расположения ячеек данных и быть постоянной величиной для моделей, имеющих разное число измерений и различную степень разреженности данных.
8. Поддержка многопользовательского режима — OLAP-система должна предоставлять возможность работать нескольким пользователям совместно с одной аналитической моделью или создавать для них различные модели из единых данных. Из-за возможности чтения и записи данных, система должна обеспечивать целостность и безопасность информации.
9. Неограниченные перекрестные операции— OLAP-система должна обеспечивать сохранение функциональных отношений, описанных с помощью определенного формального языка между ячейками гиперкуба при выполнении любых из возможных четырех операций: среза, вращения, консолидации или детализации. Система должна самостоятельно выполнять преобразование установленных отношений, не требуя от пользователя их переопределения.
10. Интуитивная манипуляция данными — OLAP-система должна предоставлять способ выполнения операций среза, вращения, консолидации и детализации над гиперкубом без необходимости пользователю совершать множество действий с интерфейсом. Измерения, определенные в аналитической модели, должны содержать всю необходимую информацию для выполнения всех возможных операций над гиперкубом.
11. Гибкие возможности получения отчетов — OLAP-система должна поддерживать различные способы визуализации данных, т. е. отчеты должны представляться в любой возможной ориентации. Средства формирования отчетов должны представлять синтезируемые данные или информацию, следующую из модели данных в ее любой возможной ориентации.
12. Неограниченная размерность и число уровней агрегации — исследование о возможном числе необходимых измерений, требующихся в аналитической модели, показало, что одновременно может использоваться до девятнадцать измерений. Отсюда вытекает настоятельная рекомендация, чтобы аналитический инструмент мог одновременно предоставить не меньше пятнадцати измерений, а предпочтительнее двадцати измерений. Более того, каждое из общих измерений не должно быть ограничено по числу определяемых пользователем-аналитиком уровней агрегации и путей консолидации[4].
Набор этих требований, послуживших де-факто определением 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 (FastofSharedMultidimensionalInformation), созданный в 1995 г. Ричардом Критом и Найджелом Пендсом на основе анализа правил Кодда. В данном контексте акцент сделан на скорость обработки, наличие средств статистического анализа, многопользовательский доступ, многомерность и релевантность информации, т. е. представление анализируемых фактов как функций от большого числа их характеризующих параметров. Они определили OLAP следующими пятью ключевыми словами: Fast(Быстрый), Analysis (Анализ), Shared (Разделяемой), Multidimensional (Многомерной), Information (Информации).
Fast (Быстрый) — OLAP-система должна обеспечивать выдачу большинства ответов пользователям в пределах приблизительно пяти секунд. При этом самые простые запросы обрабатываются в течение одной секунды, и очень немногие более двадцати секунд. Конечные пользователи воспринимают процесс неудачным, если результаты не получены на протяжении тридцати секунд. Они способны нажать комбинацию клавиш <Ctrl>+<Alt>+<Del>, если система не предупредит их, что обработка данных требует большего времени. Даже если система предупредит, что процесс будет длиться существенно дольше, пользователи могут отвлечься и потерять мысль, после чего качество анализа сильно страдает. Такой скорости трудно достигнуть с большим количеством данных, в особенности при специальных очень быстрых вычислениях. Для достижения такой цели используются разные методы, включая применение аппаратных платформ с большей производительностью.
Analysis(Анализ) — OLAP-система должна справляться с любым логическим и статистическим анализом, характерным для данного приложения, и обеспечивать его сохранение в виде, доступном для конечного пользователя. Система должна позволять пользователю определять новые специальные вычисления как часть анализа и формировать отчеты любым желаемым способом без необходимости программирования. Все требуемые функциональные возможности анализа должны обеспечиваться понятным для конечных пользователей способом.