Ответ
DWH (Data Warehouse, хранилище данных) — это централизованное, предметно-ориентированное, интегрированное и неизменяемое хранилище исторических данных, собранных из различных операционных систем (OLTP). Оно предназначено для поддержки бизнес-аналитики (BI), отчетности и принятия решений, а не для обработки транзакций.
Ключевые характеристики (по Инмону):
- Предметная ориентация: Данные организованы вокруг ключевых бизнес-сущностей (клиенты, продукты, продажи), а не вокруг операционных процессов.
- Интегрированность: Данные из разных источников (CRM, ERP, лог-файлы) приводятся к единым стандартам именования, форматов и единиц измерения.
- Неизменяемость (Time-Variant): Данные добавляются, но не обновляются или удаляются в контексте истории. Каждая запись имеет временную метку, что позволяет анализировать изменения во времени.
- Нерегламентированность (Nonvolatile): После загрузки данные в DWH, как правило, не изменяются. Операции — это добавление новых данных и их чтение.
Типичная архитектура:
- Источники данных (OLTP-системы): Базы данных заказов, логистики, веб-сервисы.
- ETL/ELT-процесс:
- Extract (Извлечение): Получение данных из источников.
- Transform (Трансформация): Очистка, стандартизация, обогащение и бизнес-преобразования.
- Load (Загрузка): Загрузка подготовленных данных в хранилище.
- Слой хранения: Само хранилище, часто использующее звездообразную или снежинную схему с фактами и измерениями для оптимизации аналитических запросов.
- Слой представления: Витрины данных (Data Marts), оптимизированные под нужды конкретных департаментов (финансы, маркетинг).
- Инструменты доступа: BI-системы (Tableau, Power BI), SQL-клиенты для аналитиков.
Почему не использовать OLTP-базу для аналитики? Аналитические запросы (JOIN по большим таблицам, агрегации) в OLTP-системах выполняются медленно, мешают операционной работе и используют неподходящую нормализованную схему. DWH решает эти проблемы, предоставляя оптимизированную для чтения модель.