1. Место аналитической обработки
Третья, последняя компонента после построения OLAP-куба в форме MOLAP, ROLAP или HOLAP — аналитическая обработка и извлечение данных (Data Mining). Это аналитика, ради которой кубы строятся. Отчёты тоже важны, но ROLAP предпочтителен, если основная задача — отчёты. MOLAP лучше приспособлен для аналитики: машинное обучение, искусственный интеллект, поиск скрытых зависимостей, регрессионные модели, модели временных рядов, прогнозирование, классификация и другие задачи.
2. OLTP и OLAP
Хранилища объединяют большие объёмы данных и оптимизируют их для анализа или отчётов. Раньше были реляционные схемы в форме баз данных. OLTP (On-Line Transaction Processing, оперативная обработка транзакций) держит простые транзакции, которые часто и массово поступают, обслуживая бизнес-процессы: ERP, CRM и другие. Хранилище содержит оперативные данные и поддерживает запросы разных типов. В OLTP — вставка новых данных; в хранилище — выборка для анализа и отчётов. Запросы могут быть сложными, и OLTP для них не предназначен.
| Критерий |
OLTP |
OLAP / хранилище |
| Основная задача |
Обслуживание транзакций |
Анализ и отчётность |
| Тип операций |
Вставка, обновление |
Выборка, агрегация |
| Сложность запросов |
Обычно простая |
Может быть высокой |
| Нагрузка |
Много частых транзакций |
Сложные аналитические запросы |
OLAP (On-Line Analytical Processing, оперативная аналитическая обработка) — синтез анализа и обобщения больших объёмов многомерных данных. Это технология обработки агрегированных данных в многомерном представлении для быстрого доступа к стратегически важной информации. OLAP позволяет просматривать корпоративные данные, изучать положение предприятия и принимать решения о стратегии.
3. Оценка OLAP-сервера
Для эффективной работы OLAP-компоненты оценивают:
- Массовую загрузку данных из внутренних и внешних источников.
- Инкрементную загрузку из операционных систем.
- Агрегирование данных на этапе ввода по иерархиям.
- Скорость расчётов новых показателей на основе экономических моделей.
- Анализ временных рядов.
- Выполнение запросов любой сложности.
- Изменение степени детализации.
- Поддержку нескольких сеансов оперативной обработки.
Отдельно проводят Just-in-Time тестирование: оно показывает, насколько своевременно информация из OLTP-системы доходит до хранилища, затем до OLAP-куба и аналитика. Для оценки используют AQM (Analytical Queries per Minute, аналитических запросов в минуту). AQM учитывает производительность системы в целом.
4. Многомерное представление данных
Многомерное представление — это хранение данных в форме многомерного массива. OLAP-куб хранится с определённым уровнем агрегации. Данные должны быть достаточно плотными, чтобы MOLAP оправдал ресурсы. Если данные разрежены или объём слишком велик, используют ROLAP: данные хранятся в реляционных таблицах в третьей нормальной форме, а куб собирается по запросу.
В многомерном кубе по граням идут измерения (dimensions), а в ячейках на их пересечении — показатели (measures). Например, по строкам могут идти кварталы, по столбцам — города, а в ячейках — доход. Можно добавить третье измерение, например тип объекта. Показателей в ячейке может быть несколько.
Для эффективной многомерной базы заранее рассчитывают логические промежуточные и итоговые значения: агрегации, суммы, средние. Поэтому запросы работают быстро. Для этого нужны иерархии — правила агрегирования по размерностям и уровням грануляции. Основные операции: консолидация, дрилл-даун (нисходящий анализ), разбиение с поворотом (срез и поворот).
5. MOLAP, ROLAP, HOLAP
| Вариант |
Как хранит данные |
Когда применять |
| MOLAP |
Многомерный массив, агрегаты |
Плотные данные, высокая скорость сложных запросов |
| ROLAP |
Реляционные таблицы, куб строится по запросу |
Разреженные или огромные данные, низкая агрегация |
| HOLAP |
Гибрид: факты в MOLAP, измерения в ROLAP |
Нужен компромисс между скоростью и объёмом |
MOLAP даёт высокую производительность на сложных запросах. ROLAP позволяет хранить гигантский объём информации, но куб строится в момент запроса из нормализованных таблиц. В HOLAP агрегационные данные и факты хранятся в MOLAP, а измерения — в ROLAP.
6. Фактор времени и преимущества OLAP
Нужен корректный учёт времени. Например, продажа была в начале месяца по старой цене, затем произошла индексация, и вторая часть месяца считалась по новой цене. При подведении итога месяца каждая транзакция должна учитываться с учётом времени. Система должна поддерживать этот фактор, иначе аналитика будет неверной.
Преимущества OLAP:
- Повышение производительности персонала и организации.
- Уменьшение запаздывания при разработке приложений.
- Сохранение контроля над целостностью корпоративных данных.
- Снижение нагрузки на OLTP-систему.
- Перенос анализа на уровень хранилища и OLAP-кубов.
- Расширение возможностей получения доходов и повышения прибыльности.
7. 12 правил Кодда
- Многомерное концептуальное представление данных.
- Прозрачность: пользователь понимает связь данных с первичными источниками.
- Доступность: любую нужную информацию можно получить.
- Неизменно высокая производительность подготовки отчётов.
- Производительность не зависит от формы отчёта.
- Производительность не падает при росте числа измерений.
- Клиент-серверная архитектура: вычисления на сервере, клиент получает результат.
- Универсальность измерений: единые размерности и иерархии для всех кубов.
- Динамическое управление разреженностью матриц.
- Многопользовательская поддержка.
- Неограниченные перекрёстные операции между размерностями.
- Удобные средства манипулирования данными, гибкость отчётов и неограниченное число измерений и уровней агрегирования.
8. MQ — управляемая среда запросов
MQ (Managed Query Environment, управляемая среда запросов) предоставляет ограниченные функции анализа. Данные передаются из реляционных СУБД на локальный компьютер пользователя. Пользователь заранее не знает, по какой размерности свернуть куб и какую функцию применить. Он запрашивает исходные данные, а затем локально выполняет агрегации, дрилл-даун или другие операции. Это даёт гибкость, но появляются избыточность данных и несогласованность между сотрудниками. Современные OLAP-решения позволяют вернуть перестроенный куб на сервер, чтобы им могли пользоваться другие аналитики.
Краткие итоги
Практическая ценность OLAP раскрывается не в отдельном кубе, а в связке слоёв: транзакционные системы фиксируют события, хранилище очищает и согласует данные, OLAP-куб даёт многомерный доступ, а аналитика превращает его в решения. Ключевой выбор — между скоростью и объёмом. MOLAP выигрывает там, где данные плотные, а запросы сложные. ROLAP незаменим при больших и разреженных массивах, когда куб можно собирать по запросу. HOLAP ищет компромисс, разделяя факты и измерения. Но любой вариант требует продуманных иерархий, агрегатов и корректного учёта времени.
Производительность нельзя оценивать одним показателем. Она проявляется в загрузке, агрегировании, расчётах, временных рядах, детализации и параллельных сеансах. Just-in-Time тестирование показывает, насколько быстро данные доходят от источника до аналитика, а AQM позволяет сравнивать системы по числу аналитических запросов. Это делает эксплуатационные характеристики частью аналитической ценности.
Правила Кодда переводят выбор инструмента из интуиции в систему критериев: многомерность, прозрачность, доступность, стабильная скорость, клиент-серверная архитектура, единые измерения, работа с разреженностью, многопользовательский режим, свободные пересечения измерений, удобные манипуляции, гибкие отчёты и масштабируемость. Они помогают не только выбрать продукт, но и понять, где архитектура ограничит развитие.
MQ показывает важный компромисс: локальная гибкость ускоряет эксперименты отдельного аналитика, но снижает согласованность общей картины. Возврат перестроенного куба на сервер смягчает этот риск, превращая локальную работу в коллективный ресурс. В результате OLAP становится не просто витриной отчётов, а управляемой средой для проверки гипотез, прогнозирования и стратегических решений.
Аналитика после OLAP-куба
После построения OLAP-куба в форме MOLAP, ROLAP или HOLAP начинается аналитическая обработка и извлечение данных (Data Mining). Это основная аналитика: поиск скрытых зависимостей, машинное обучение, регрессионные модели, временные ряды, прогнозирование, классификация. ROLAP удобен для отчётов, MOLAP — для аналитики.
OLTP и OLAP
OLTP обслуживает частые простые транзакции: ERP, CRM, вставка и обновление данных. Хранилище и OLAP ориентированы на выборку, агрегацию и сложные запросы. OLAP — оперативная аналитическая обработка многомерных агрегированных данных для быстрого доступа к стратегической информации. OLAP помогает изучать положение предприятия и принимать решения.
Проверка OLAP-сервера
Оценивают массовую и инкрементную загрузку, агрегирование по иерархиям, скорость экономических расчётов, анализ временных рядов, сложные запросы, изменение детализации, параллельные сеансы. Just-in-Time тест показывает, как быстро данные из OLTP доходят до аналитика. AQM измеряет число аналитических запросов в минуту.
Многомерное представление
Куб состоит из измерений и показателей. Пример: кварталы по строкам, города по столбцам, доход в ячейках. Можно добавить третье измерение. В ячейке может быть несколько показателей. Для скорости заранее рассчитывают агрегаты. Нужны иерархии для правил агрегирования. Операции: консолидация, дрилл-даун, срезы и повороты.
MOLAP, ROLAP, HOLAP
MOLAP хранит данные в многомерном массиве и быстр на плотных данных. ROLAP хранит данные в реляционных таблицах, а куб собирает по запросу; подходит для разреженных и огромных данных. HOLAP — гибрид: факты в MOLAP, измерения в ROLAP.
Фактор времени и преимущества
Показатели меняются во времени. Если цена изменилась в середине месяца, продажи нужно учитывать по разным ценам. Без корректного времени аналитика неверна. Преимущества OLAP: рост производительности, меньше запаздывания, контроль целостности, снижение нагрузки на OLTP, перенос анализа в хранилище, рост доходности.
12 правил Кодда
- Многомерное концептуальное представление.
- Прозрачность.
- Доступность.
- Высокая производительность отчётов.
- Независимость от формы отчёта.
- Стабильность при росте измерений.
- Клиент-серверная архитектура.
- Универсальность измерений.
- Управление разреженностью матриц.
- Многопользовательская поддержка.
- Неограниченные перекрёстные операции.
- Удобные манипуляции, гибкие отчёты, любое число измерений и уровней агрегирования.
MQ
MQ (Managed Query Environment) — управляемая среда запросов. Пользователь получает исходные данные и локально перестраивает куб: агрегирует, разворачивает, считает. Это гибко, но появляются избыточность и несогласованность. Современные решения позволяют вернуть перестроенный куб на сервер для других аналитиков.
1. OLAP — завершающий слой аналитики после хранилища и кубов.
2. OLTP обслуживает частые простые транзакции, OLAP — сложные аналитические запросы.
3. Производительность OLAP проверяют по загрузке, агрегации, расчётам, временным рядам и параллельным сеансам.
4. Just-in-Time тест показывает, насколько быстро данные доходят от OLTP до аналитика.
5. AQM измеряет число аналитических запросов в минуту.
6. MOLAP быстр на плотных данных и сложных запросах.
7. ROLAP подходит для разреженных и огромных данных, куб строится по запросу.
8. HOLAP сочетает факты в MOLAP и измерения в ROLAP.
9. Многомерный куб хранит показатели на пересечении измерений и заранее рассчитанные агрегаты.
10. Консолидация сворачивает иерархию, дрилл-даун разворачивает её.
11. 12 правил Кодда задают критерии выбора OLAP-инструмента.
12. MQ даёт локальную гибкость, но создаёт риски избыточности и несогласованности
1. Почему OLTP-системы плохо подходят для сложных аналитических запросов?
2. Какие компоненты включает оценка производительности OLAP-сервера?
3. Чем Just-in-Time тестирование отличается от общей оценки производительности?
4. Для чего используется AQM?
5. В каких случаях выбирают MOLAP, а в каких ROLAP?
6. Как устроен HOLAP?
7. Что означает многомерное представление данных?
8. Зачем в OLAP заранее рассчитывают агрегаты?
9. Как иерархии измерений влияют на агрегирование?
10. Чем консолидация отличается от дрилл-дауна?
11. Какие требования к OLAP-системе формируют 12 правил Кодда?
12. В чём преимущества и риски MQ?