digital-garden/dev/database/Online Analytical Processing.md

51 lines
3.5 KiB
Markdown
Raw Permalink Normal View History

---
aliases:
- OLAP
tags:
- maturity/🌱
date: 2024-03-31
---
OLAP (Online Analytical Processing) — это тип нагрузки, который ориентирован на выполнение сложных аналитических запросов, охватывающих большие объемы данных. OLAP используется для построения отчетов, аналитики и поддержки принятия решений, где важно работать с историческими данными и выполнять сложные агрегации.
**Особенности:**
2024-11-25 18:27:25 +03:00
- Источником для OLAP являются различные [[Online Transaction Processing|OLTP]] базы
- Операции `SELECT` выполняются значительно чаще, чем операции изменения данных.
- Запросы часто содержат операции агрегации (например, SUM, AVG) и группировки (GROUP BY).
2024-11-25 18:27:25 +03:00
- Запросы `SELECT` охватывают большие выборки данных и могут включать сложные агрегации и группировки.
- Часто используется денормализация
- Скорость обработки зависит от количества данных, но обычно медленнее чем в [[Online Transaction Processing|OLTP]]
2024-11-26 22:34:00 +03:00
**Примеры задач:**
- Поиск зависимостей по товарам, которые пользователи покупают вместе.
- Получение информации о продажах за последние 3 года.
- Построение аналитики по шаблонам платежей по группам пользователей.
2024-11-26 22:34:00 +03:00
**Причины выделить OLAP нагрузку:**
- Разный характер нагрузки, требующий долгосрочного хранения и анализа данных.
2024-10-25 21:35:39 +03:00
- Специфические стратегии [[Индекс базы данных|индексирования]] для оптимизации аналитических запросов.
- Работа с большими объемами данных и их обработка в рамках одного запроса.
- Поддержка исторических данных для анализа трендов и построения отчетов.
Это не то же самое, что создание отдельной реплики для отчетности, так как это не решает проблему разных индексов. Однако на логической репликации это возможно.
2024-11-25 18:27:25 +03:00
2024-11-26 22:34:00 +03:00
OLAP архитектуры:
- Звезда
- Снежинка
- [[Data Vault]]
- Lambda
- Kappa
**Рекомендации:**
- Использовать [[Колоночная база данных|колоночную базу данных]]
***
## Мета информация
**Область**:: [[../../meta/zero/00 Реляционная база данных|00 Реляционная база данных]]
**Родитель**::
**Источник**::
**Автор**::
**Создана**:: [[2024-03-31]]
### Дополнительные материалы
- [[Online Transaction Processing]]
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->