May 3

Системы обработки данных

Данные в компаниях живут в двух мирах: операционном (каждый день) и аналитическом (стратегия). Существуют разные системы, оптимизированные под конкретные задачи.

1️⃣ OLTP (Online Transaction Processing)
Системы для повседневных операций
— Обрабатывают транзакции: платежи, заказы, бронирования.
— Примеры: интернет-магазин, банкомат, система продажи билетов.

Характеристики:
✅ Высокая скорость (в секунду тысячи операций на изменение данных)
✅ Очень надёжные транзакции
✅ Только актуальные данные
✅ Нормализованные таблицы и минимум дубликатов

2️⃣ OLAP (Online Analytical Processing)
Системы для анализа и стратегии
— Агрегируют исторические данные: отчеты, прогнозы, тренды.
— Примеры: BI-дашборды, анализ продаж за 5 лет.

Характеристики:
✅ Работа с Big Data (терабайты информации).
✅ Сложные запросы, основном на чтение
✅ Многомерные структуры и многомерный анализ
✅ Данные хранятся денормализованно
✅ Доступны исторические данные за большой период
✅ Намного медленнее по сравнению с OLTP

Мост между OLTP и OLAP
Чтобы данные из OLTP попали в OLAP, их нужно перенести и подготовить. Для этого используют два подхода:

ELT (Extract, Load, Transform)
1. Extract: Данные извлекаются.
2. Load: «Сырые» данные загружаются в хранилище (например, Snowflake).
3. Transform: Преобразуются уже внутри OLAP через SQL или Python.

Плюсы:
- Быстрая загрузка больших данных.
- Гибкость: аналитики сами решают, как трансформировать данные.

Минусы:
- Хранилище должно быть мощным.
- Риск «мусора» в данных до очистки.

Когда использовать:
- Облачные хранилища (BigQuery, Redshift).
- Озера данных (Data Lake) с неструктурированной информацией.

ETL (Extract, Transform, Load)
1. Extract: Данные извлекаются из OLTP (например, заказы из 1С).
2. Transform: Очищаются, объединяются, форматируются.
3. Load: Загружаются в OLAP-хранилище.

Плюсы:
- Данные сразу готовы для анализа.
- Подходит для сложных преобразований.

Минусы:
- Медленно для больших объемов.
- Требует мощных инструментов (Informatica, Talend).

Когда использовать:
- Данные из разных источников (Excel, API, устаревшие БД).
- Нужна высокая точность (финансовая отчетность).

О том, как переносить данные между двумя этими системами, есть отличная статья: https://habr.com/ru/companies/lifestreet/articles/145734/

А если интересно глубже погрузиться в виды аналитических систем, можно начать с просмотра этого видео: https://www.youtube.com/watch?v=FWEQYomEbqw