data lakehouse
Data lakehouse — это архитектурный паттерн для аналитических систем, объединяющий преимущества data lake (дешёвое хранение неструктурированных данных в open-форматах) и data warehouse (ACID-транзакции, надёжность данных, высокопроизводительные SQL-запросы). Data lakehouse устраняет необходимость поддерживать два отдельных слоя данных, снижая сложность и стоимость аналитической инфраструктуры.
Проблема, которую решает data lakehouse
Традиционно организации строили два раздельных хранилища: data lake (S3, HDFS) для сырых и полуструктурированных данных — дёшево, но без надёжности и качества данных. Data warehouse (Snowflake, Redshift) — надёжный, с ACID-гарантиями и быстрой аналитикой, но дорогой и не поддерживает неструктурированные данные.
Синхронизация между ними создавала дополнительную сложность, стоимость и задержку. Data lakehouse ликвидирует этот разрыв.
Ключевые технологии data lakehouse
Data lakehouse строится на трёх столпах:
- Open file formats: данные хранятся в Parquet (или ORC) в объектном хранилище (S3, GCS, ADLS). Нет vendor lock-in на проприетарный формат.
- Table format layer: Delta Lake, Apache Iceberg или Apache Hudi добавляют ACID-транзакции, versioning и time travel поверх Parquet-файлов в объектном хранилище.
- Open compute engines: Apache Spark, Trino, Flink, DuckDB читают данные напрямую через unified API.
Delta Lake, Iceberg, Hudi: сравнение
Delta Lake — разработан Databricks, открыт в 2019. Нативная интеграция со Spark. Delta Sharing для обмена данными без копирования. Liquid Clustering — автоматическая оптимизация раскладки данных.
Apache Iceberg — разработан Netflix, поддерживается широким сообществом. Лучшая поддержка множества compute-движков (Flink, Trino, Spark, Snowflake). Hidden partitioning, partition evolution без переписывания данных. Catalogue-agnostic.
Apache Hudi — разработан Uber, оптимизирован для инкрементальных обновлений и CDC. Record-level updates/deletes, built-in CDC-pipeline.
Возможности table formats
Все три форматы предоставляют схожий набор возможностей:
- ACID-транзакции — атомарные записи, изоляция конкурентных запросов
- Time travel — запросы к историческим снимкам данных: SELECT * FROM table TIMESTAMP AS OF '2024-01-01'
- Schema evolution — добавление/переименование колонок без переписывания данных
- Partition evolution — изменение партиционирования без миграции данных
- Z-ordering/Clustering — оптимизация раскладки для быстрого predicate pushdown
Databricks Lakehouse Platform
Databricks создала термин и коммерческую реализацию data lakehouse. Платформа включает Unity Catalog (централизованный каталог метаданных и governance), Delta Live Tables (декларативные потоковые пайплайны), Databricks SQL (SQL-аналитика поверх Delta Lake), MLflow (управление ML-экспериментами) и Mosaic AI для GenAI-рабочих процессов.
Data Lakehouse vs Data Mesh
Data Lakehouse — технологическая архитектура (как хранить и обрабатывать данные). Data Mesh — организационный и архитектурный паттерн (кто владеет данными и как они публикуются). Они не противоречат друг другу: data mesh можно реализовывать на базе data lakehouse, где каждый домен публикует свои продуктовые данные в Delta Lake или Iceberg.
Governance в data lakehouse: Unity Catalog
По мере роста data lakehouse критически важным становится governance — управление доступом, lineage и discovery данных. Unity Catalog от Databricks предоставляет централизованный каталог метаданных для всех активов: таблиц, представлений, функций, ML-моделей. Права доступа определяются на уровне каталога, схемы, таблицы или колонки с интеграцией с корпоративным Identity Provider. Column-level security позволяет скрывать чувствительные колонки (PII) от нежелательных ролей. Data lineage от источника до дашборда строится автоматически. OpenCatalog и Apache Polaris — open-source альтернативы, совместимые со стандартом Apache Iceberg REST Catalog. Правильный governance превращает data lakehouse из технической платформы в бизнес-актив с прозрачным управлением.
Открытые стандарты и будущее data lakehouse
Движение к открытым стандартам ускоряется. Open Table Format Spec, поддержанный Snowflake, Databricks, Google, Microsoft и другими вендорами, закрепляет совместимость между Delta Lake, Iceberg и Hudi. Это означает: данные в S3 в open-формате доступны из Snowflake, Databricks, Trino, Spark без конвертации. Lakehouse federation — возможность запрашивать данные из разных источников (DWH, data lake, SaaS-системы) через единый SQL-интерфейс. Iceberg REST Catalog стал стандартным протоколом для каталога метаданных. Всё это снижает барьеры для смены вычислительных движков и предотвращает lock-in на уровне формата хранения.
Частые вопросы
Чем data lakehouse отличается от data lake?
Data lake — просто хранилище файлов (S3, HDFS) без гарантий качества и транзакций. Data lakehouse добавляет поверх него table format (Delta Lake, Iceberg) с ACID-транзакциями, time travel, schema enforcement и оптимизацией для SQL-запросов.
Какой table format выбрать: Delta Lake, Iceberg или Hudi?
Если используете Databricks или Spark как основной движок — Delta Lake. Если нужна максимальная совместимость между разными движками (Flink, Trino, Snowflake) — Apache Iceberg. Если главный use case — CDC и инкрементальные обновления — Apache Hudi.
Заменяет ли data lakehouse data warehouse?
Для большинства аналитических задач — да. Но специализированные DWH (Snowflake, BigQuery) могут быть быстрее для сложных SQL-запросов из-за проприетарной оптимизации. Многие компании используют data lakehouse как primary storage и DWH для интенсивных аналитических нагрузок.
Другие термины в теме «Инженерия данных»
Не хватает деталей?
Напишите, что уточнить по теме «data lakehouse» — это помогает улучшать материал и подсказывает, какие термины добавить дальше. Email необязателен: укажите, если хотите ответ только для вас (мы не шлём рассылки).