Ответ
OLAP (Online Analytical Processing) — это технология для сложного многомерного анализа больших объемов исторических данных, оптимизированная для операций чтения и агрегации.
Основные концепции:
- Куб данных (OLAP-куб): Многомерная структура, где измерения (например, Время, Регион, Товар) образуют оси, а ячейки содержат агрегированные меры (например, Сумма продаж).
- Основные операции:
- Slice (срез): Выбор подмножества куба по фиксированному значению одного измерения.
- Dice (сечение): Выбор подмножества по диапазону значений нескольких измерений.
- Drill Down/Up (детализация/свертка): Переход на более детальный или более обобщенный уровень иерархии измерений.
- Pivot (поворот): Изменение расположения измерений на осях отчета.
Пример SQL-запроса, иллюстрирующего OLAP-аналитику (использующего CUBE):
-- Агрегация продаж по всем комбинациям региона и месяца
SELECT
region,
EXTRACT(MONTH FROM sale_date) AS month,
SUM(amount) AS total_sales
FROM sales
GROUP BY CUBE(region, EXTRACT(MONTH FROM sale_date));
OLAP является фундаментом для BI-систем (Business Intelligence) и работает поверх хранилищ данных (Data Warehouse), таких как Snowflake, Amazon Redshift или специализированных OLAP-СУБД (ClickHouse).