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

38 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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