DWH / хранилища данных
Data Warehouse, корпоративное хранилище данных — единая база, куда сводят данные всех систем компании для аналитики и отчётности.
Что такое DWH
DWH (Data Warehouse, в русских документах — КХД, корпоративное хранилище данных; в разговоре «дэ-вэ-ха» или «двх») — отдельная база, куда регулярно сводят данные из всех систем компании: CRM, биллинга, склада, сайта, логов. Задача одна: дать аналитику возможность посчитать любой срез по всей компании, не трогая боевые базы и не сводя выгрузки в Excel вручную.
Ключевое отличие от обычной БД — назначение. Боевая база приложения оптимизирована под короткие транзакции: взять заказ по ID, обновить статус. Хранилище оптимизировано под противоположное — прочитать 300 млн строк, сгруппировать и отдать 20 чисел. Это разные режимы работы, и совмещать их в одной базе — верный способ уронить продакшен отчётом.
Слои хранилища
Классическая раскладка, к которой сходится большинство проектов:
| Слой | Что лежит | Кто трогает |
|---|---|---|
| Raw / Staging / ODS | Сырые копии источников как есть | Только ETL |
| DDS / Core | Очищенная модель предметной области | Инженеры данных |
| Data Marts (витрины) | Готовые агрегаты под конкретный отдел | Аналитики, BI |
Что такое витрина данных
Витрина данных (data mart) — срез хранилища, подготовленный под одну предметную область или одну команду: витрина продаж, витрина маркетинга, витрина финансов. Технически это таблица или набор таблиц с уже посчитанными агрегатами и понятными названиями колонок.
Зачем витрины нужны, если есть ядро:
- Скорость. Агрегат посчитан заранее, дашборд не пересчитывает 300 млн строк на каждое открытие.
- Понятность. В ядре — нормализованная модель на 200 таблиц, в витрине — одна плоская таблица, где
выручканазываетсявыручка. - Разграничение доступа. Маркетингу отдают витрину без зарплат и персональных данных.
Витрину строят чаще всего по схеме «звезда»: центральная таблица фактов (каждая строка — событие: продажа, клик, платёж) и справочники-измерения вокруг (клиент, товар, дата, регион). Если справочники дополнительно нормализованы — это «снежинка».
Что такое Data Lake
Data Lake (озеро данных) — хранилище сырых файлов в исходном виде: логи, JSON, выгрузки, фото, Parquet. Схема не задаётся при записи, а применяется при чтении (schema-on-read). Складывают всё подряд и по дешёвке — обычно в object storage.
| DWH | Data Lake | Lakehouse | |
|---|---|---|---|
| Что хранит | Структурированные таблицы | Файлы в любом формате | Файлы + табличный слой |
| Схема | При записи | При чтении | При записи, поверх файлов |
| Стоимость хранения | Высокая | Низкая | Низкая |
| Кто пользуется | Аналитики, BI | Инженеры, Data Science | И те, и другие |
| Транзакции, UPDATE | Есть | Нет | Есть (Iceberg, Delta) |
| Риск | Дорого хранить лишнее | Превращается в «болото» | Стек сложнее |
Lakehouse — попытка снять компромисс: файлы лежат в дешёвом object storage, а поверх них табличный формат (Apache Iceberg, Delta Lake, Hudi) даёт схему, версионирование и ACID. Читает всё это Spark или Trino.
Честная оговорка: «озеро» без каталога, владельцев и описаний за год превращается в свалку, где никто не знает, какая из выгрузок актуальна. Data Lake — это дисциплина, а не бакет.
На чём строят
- Greenplum — MPP на базе PostgreSQL, классический выбор для корпоративного DWH, в том числе on-premise.
- ClickHouse — колоночная СУБД, отлично держит витрины и события; часто закрывает задачу без кластера.
- PostgreSQL — вполне достаточно для хранилища на сотни ГБ, не надо усложнять раньше времени.
- Snowflake, BigQuery — облачные хранилища с разделением хранения и вычислений.
Инфраструктура
Хранилище живёт по расписанию: ночью загрузка и пересчёт витрин, днём запросы аналитиков. Отсюда практика — держать сырой слой в object storage, а быстрые диски отдавать только под витрины. Требования к железу тоже смещены: аналитический запрос читает колонки целиком, поэтому важнее пропускная способность дисков и объём RAM под кеш, чем частота CPU. И отдельный пункт — резервное копирование: DWH можно пересобрать из источников, но пересборка трёхлетней истории занимает недели, поэтому бэкапят его как обычную боевую систему.
Связанные термины
- ETL / интеграция данных — как данные попадают в хранилище
- OLAP — режим работы, под который DWH построен
- BI-системы — то, что читает витрины
- Greenplum — MPP-СУБД под корпоративное хранилище
- ClickHouse — колоночная СУБД для витрин и событий
- Big Data — когда хранилища перестаёт хватать одной машины
Готовы запустить GPU-задачу?
Запустить GPU-сервер