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 необязателен: укажите, если хотите ответ только для вас (мы не шлём рассылки).

Поделиться