Перейти к содержанию

Data Warehouse / Data Lake / Lakehouse

Раздел 01 · Уровни и общие гарантии

Тип материала: архитектурный разбор. Схемы и примеры иллюстративные, если не указано иное.

Уровень: организация аналитического хранения и доступа. Проверка источников: 2026-11-02.

1. Назначение и решаемая проблема

Эти подходы определяют, где хранить историю, как публиковать структуру данных и какие вычисления доступны потребителям. Выбор начинается с workloads: регламентная SQL-отчётность, исследование raw events, ML feature preparation, интерактивная аналитика.

Это не три взаимоисключающих продукта. Компания может держать raw archive в lake, контролируемые marts в warehouse и часть таблиц lakehouse для совместной SQL/ML работы.

2. Принцип работы

Warehouse организует управляемые аналитические таблицы и модели; data lake сохраняет разные данные в доступном storage с отдельными engines и governance; lakehouse добавляет к lake управляемые table semantics, metadata, snapshots и совместимое чтение.

Практическое различие проявляется в commit protocol и access contract. Папка Parquet не становится транзакционной таблицей от подключения SQL engine. И warehouse может иметь отделённые compute/storage и читать external tables: нельзя сводить сравнение к «новый cloud против старого appliance».

3. Архитектурная схема

flowchart TB
    S["Operational sources"] --> I["Ingestion и contracts"]
    I --> W["Warehouse: managed tables"]
    I --> O["Lake: raw objects"]
    O --> T["Lakehouse: table metadata и catalog"]
    W --> B["Governed BI"]
    T --> B
    O --> M["Exploration и ML compute"]
    T --> M

4. Walkthrough движения данных

  1. Operational source экспортирует согласованный snapshot или CDC; ingestion регистрирует scope и schema.
  2. Warehouse-вариант преобразует input в управляемые таблицы, моделирует facts/dimensions и публикует бизнес-marts.
  3. Lake-вариант сохраняет original objects. Для безопасного потребления нужны schema discovery, ACL, catalog, lifecycle и способ отличить complete dataset от незавершённого upload.
  4. Lakehouse-вариант пишет data files в staging, затем публикует table snapshot через поддержанный catalog/transaction protocol. Читатель видит committed snapshot.
  5. BI выбирает зафиксированный report release; ML читает разрешённые исторические данные. Один физический storage не делает два расчёта семантически одинаковыми.
  6. Сверка сравнивает source coverage и analytical outputs, а не только число файлов.

5. Технологии реализации

Warehouse: BigQuery, Snowflake, Redshift, PostgreSQL/ClickHouse для определённых аналитических workloads. Lake: S3/MinIO/ADLS, Parquet/Avro, catalog и SQL/compute engines. Lakehouse: Iceberg/Delta/Hudi плюс поддерживающие engines и catalog.

FACT: CIDR 2021 paper формулирует Lakehouse как сочетание открытых форматов с warehouse-подобными возможностями. Это авторская исследовательская позиция создателей решения, а не доказательство превосходства всех lakehouse над всеми warehouse. Paper.

6. Консистентность и гарантии обработки

Гарантии задаются на уровне конкретной операции и реализации. Iceberg/Delta table snapshots не означают общую транзакцию всех витрин и внешнего payment API. Raw objects без commit manifest могут дать читателю частичный набор.

Для согласованного закрытия периода фиксировать source cutoff, table versions, dimension versions и расчётную логику. Текущая аналитическая проекция обычно eventual относительно OLTP. Ни один из трёх терминов не является гарантией low-latency authoritative balance.

7. Отказы и восстановление

Сбой Recovery Остаточный риск
Upload остановился Убрать incomplete objects либо не публиковать manifest Читатели plain directory могли увидеть часть
Table commit не подтверждён Проверить commit identity/catalog state перед retry Повторная загрузка без dedup создаёт duplicate
Catalog недоступен Восстановить catalog и metadata, проверить ссылки на files Одних data files может быть недостаточно
Удалён старый snapshot Restore из backup либо source Time travel ограничен фактическим retention

Backup нужен и для metadata, и для данных. Проверка recovery должна включать запросы и контрольные суммы, не только наличие bucket.

8. Масштабирование и узкие места

Warehouse расходует ресурсы на concurrent queries, joins и ingestion. Lake сталкивается со small files, listing/metadata overhead и неуправляемыми schemas. Lakehouse добавляет maintenance: compaction, snapshot expiration и конфликтующие writers.

Сравнивать стоимость владения с учётом operators, governance и backfill. Object storage дешевле на единицу хранения не гарантирует меньшую стоимость всей платформы. Разделение workloads и admission control нужны во всех вариантах.

9. Преимущества и недостатки

Warehouse удобен для управляемой SQL-отчётности, но может ограничивать разнообразие доступа. Lake гибок для raw/ML и archive, но требует организации данных. Lakehouse объединяет ряд сценариев, но предъявляет требования к совместимости writers, catalog и query engines.

Универсальный вывод «lakehouse заменяет warehouse» без workload и migration cost неверен. Hybrid сохраняет гибкость ценой нескольких copies и reconciliation.

10. Альтернативные решения

Medallion определяет quality layers поверх выбранного хранения. Polyglot Persistence допускает специализированные stores. Для небольшого объёма может хватить read replica и отдельных SQL marts.

Подробная матрица выбора сравнивает report workload, archive, ML и table maintenance.

11. Реальные примеры и границы подтверждения

FACT: Monzo в публикации 2021 года описывает аналитическую платформу на BigQuery и dbt. Это пример warehouse-oriented analytics, не описание основного банковского ledger. Monzo.

FACT: FedEx описывает Enterprise Data Platform с Medallion и Databricks. Это пример управляемой аналитической платформы; механика multi-table consistency в тексте раскрыта не полностью. FedEx.

Реальные deployment details и неизвестное остаются привязаны к дате каждого материала.

12. Применение в FinTech и iGaming

FinTech: warehouse marts для закрываемых отчётов, lake для оригинальных bank files, lakehouse для длинной transactional history и feature preparation. Financial ledger остаётся отдельной операционной системой.

iGaming: raw odds/activity archive, аналитические таблицы для player history и exposure analysis. Поддержка corrections важнее labels: нужно знать, какие consumers увидят обновлённый settlement и с какой задержкой.

13. Типичные ошибки проектирования

  • Называть любой bucket lakehouse.
  • Предполагать общий ACID между всеми таблицами и engines.
  • Проводить сравнение по одному storage price.
  • Удалять historical files, на которые ещё ссылаются snapshots.
  • Читать latest dimensions в отчёте, который должен быть воспроизводимым.

14. Вопросы технического интервью с ответами

Чем lakehouse отличается от lake с SQL? Нужны управляемые table semantics и совместимый commit/metadata protocol, а не только возможность выполнить SELECT.

Нужна ли миграция из warehouse ради ML? Не обязательно: оценить connectors, export, стоимость копий и требования model training.

Почему backup bucket недостаточен? Catalog и snapshot metadata определяют, какие файлы составляют корректную таблицу; без них восстановление не гарантировано.

15. Практическое упражнение

HYPOTHETICAL: требуется хранить оригинальные settlement files, строить закрываемый SQL-отчёт и обучать модель на bet history. Спроектируйте один hybrid и один lakehouse-вариант.

Для каждого перечислите authoritative inputs, commit boundary, dataset versions, disaster recovery и права доступа. Критерий: отчёт повторяется после изменения справочника, а пропавший catalog не считается автоматически восстановленным из набора Parquet. Синтетические performance numbers не требуются.

Дополнительные источники

CIDR 2021 Lakehouse paper; Iceberg reliability; Delta concurrency.