Кодд определил 12 правил, которым должен удовлетворять программный продукт класса OLAP (табл. 2.1). Это рекомендательный набор требований. Конкретные продукты следует оценивать по степени приближения к идеально полному соответствию всем требованиям.
Таблица 2.1. Правила оценки программных продуктов класса OLAP
1. | Многомерное концептуальное представление данных (Multi-Dimensional Conceptual View) | Концептуальное представление модели данных в продукте OLAP должно быть многомерным по своей природе, то есть позволять аналитикам выполнять интуитивные операции "анализа вдоль и поперек" ("sliceanddice"), вращения (rotate) и размещения (pivot) направлений консолидации. |
2. | Прозрачность (Transparency) | Пользователь не должен знать о том, какие конкретные средства используются для хранения и обработки данных, как данные организованы и откуда берутся. |
3. | Доступность (Accessibility) | Аналитик должен иметь возможность выполнять анализ в рамках общей концептуальной схемы, но при этом данные могут оставаться под управлением оставшихся от старого наследства СУБД. |
4. | Устойчивая производительность (Consistent Reporting Performance) | С увеличением числа измерений и размеров базы данных аналитики не должны столкнуться с каким бы то ни было уменьшением производительности. |
5. | Клиент - серверная архитектура (Client-Server Architecture) | Способность продуктов OLAP работать в среде клиент-сервер. Главная идея - серверный компонент OLAP должен обладать способностью строить общую концептуальную схему на основе обобщения и консолидации различных логических и физических схем корпоративных баз данных для обеспечения эффекта прозрачности. |
6. | Равноправие измерений (Generic Dimensionality) | Все измерения данных должны быть равноправны. Дополнительные характеристики могут быть предоставлены отдельным измерениям, но поскольку все они симметричны, данная дополнительная функциональность может быть предоставлена любому измерению. Базовая структура данных, формулы и форматы отчетов не должны опираться на какое-то одно измерение. |
7. | Динамическая обработка разреженных матриц (Dynamic Sparse Matrix Handling) | Инструмент OLAP должен обеспечивать оптимальную обработку разреженных матриц. Скорость доступа должна сохраняться вне зависимости от расположения ячеек данных и быть постоянной величиной для моделей, имеющих разное число измерений и различную разреженность данных. |
8. | Поддержка многопользовательского режима (Multi-User Support) | Инструмент OLAP должен позволять работу с одной аналитической моделью одновременно нескольким аналитикам или создавать различные модели на основе одних корпоративных данных, предоставлять конкурентный доступ к данным, обеспечивать целостность и защиту данных. |
9. | Неограниченная поддержка кроссмерных операций (Unrestricted Cross-dimensional Operations) | Вычисления и манипуляция данными по любому числу измерений не должны запрещать или ограничивать любые отношения между ячейками данных. Преобразования, требующие произвольного определения, должны задаваться на функционально полном формульном языке. |
10. | Интуитивное манипулирование данными (Intuitive Data Manipulation) | Переориентация направлений консолидации, детализация данных в колонках и строках, агрегация и другие манипуляции, свойственные структуре иерархии направлений консолидации, должны выполняться в максимально удобном, естественном и комфортном пользовательском интерфейсе. |
11. | Гибкий механизм генерации отчетов (Flexible Reporting) | Должны поддерживаться различные способы визуализации данных, то есть отчеты должны представляться в любой возможной ориентации. |
12. | Неограниченное количество измерений и уровней агрегации (Unlimited Dimensionsand Aggregation Levels) | Настоятельно рекомендуется допущение в каждом серьезном OLAP инструменте как минимум пятнадцати, а лучше двадцати, измерений в аналитической модели. Более того, каждое из этих измерений должно допускать практически неограниченное количество определенных пользователем уровней агрегации по любому направлению консолидации. |