Открыть сервис

Data Lakehouse

Data Lakehouse — это архитектура управления данными, сочетающая в себе гибкость и масштабируемость озёр данных (Data Lake) с возможностями транзакционной обработки и поддержки структурированных запросов, характерными для хранилищ данных (Data Warehouse). Основная цель Data Lakehouse — предоставить единую платформу для хранения, обработки и анализа всех типов данных (структурированных, полуструктурированных и неструктурированных) с обеспечением таких свойств, как ACID-совместимость, управление версиями данных и поддержка бизнес-аналитики и машинного обучения.

История и предпосылки появления

Традиционно в корпоративной архитектуре данных использовались два подхода: хранилища данных (Data Warehouse) и озёра данных (Data Lake). Хранилища данных, оптимизированные для структурированных данных и бизнес-отчётности, обеспечивали высокую производительность запросов и строгую согласованность данных, но были дорогими и плохо масштабировались для неструктурированных данных. Озёра данных, напротив, предлагали дешёвое хранение любых данных в исходном формате, но страдали от проблем с качеством данных, отсутствием транзакционной поддержки и сложностью выполнения аналитических запросов.

В конце 2010-х годов, с ростом объёмов данных и потребностей в их всестороннем анализе, возникла необходимость в гибридном решении. Концепция Data Lakehouse была впервые предложена в 2020 году в статье исследователей из компании Databricks. Она стала ответом на ограничения как хранилищ, так и озёр данных, предлагая объединить их лучшие качества на единой платформе.

Ключевые характеристики и архитектура

Data Lakehouse базируется на нескольких фундаментальных принципах и технологиях, отличающих его от предшественников.

Единое хранилище данных

В отличие от архитектуры Data Warehouse, где данные хранятся в проприетарных форматах, Data Lakehouse использует открытые форматы хранения (например, Apache Parquet, Apache ORC), размещённые на масштабируемых объектных хранилищах (например, Amazon S3, Azure Data Lake Storage, Google Cloud Storage). Это позволяет хранить данные любого типа в необработанном виде, как в Data Lake, но с дополнительными метаданными и индексами.

Поддержка ACID-транзакций

Одной из ключевых инноваций Data Lakehouse является реализация свойств ACID (атомарность, согласованность, изолированность, долговечность) для данных, хранящихся в озере. Это достигается с помощью специальных слоёв транзакций, таких как Delta Lake (разработка Databricks), Apache Iceberg или Apache Hudi. Эти технологии позволяют выполнять конкурентные операции записи и чтения, гарантируя целостность данных, что критически важно для бизнес-аналитики и отчётности.

Управление версиями и временные срезы (Time Travel)

Data Lakehouse поддерживает версионирование данных, позволяя пользователям обращаться к предыдущим версиям таблиц или выполнять запросы к данным на определённый момент времени. Это упрощает аудит, отладку и восстановление данных после ошибочных операций.

Единый движок обработки

Для выполнения запросов и обработки данных в Data Lakehouse обычно используется один универсальный движок, такой как Apache Spark, который может работать как с пакетными, так и с потоковыми данными, а также с задачами машинного обучения. Это устраняет необходимость в перемещении данных между различными системами (например, из Data Lake в Data Warehouse) для разных типов анализа.

Схема на чтение (Schema-on-Read) и схема на запись (Schema-on-Write)

Data Lakehouse поддерживает гибкую схему данных. Данные могут быть записаны с минимальной структурой (схема на запись), а при чтении к ним может быть применена более строгая схема (схема на чтение) для выполнения структурированных запросов. Это позволяет комбинировать гибкость Data Lake с производительностью Data Warehouse.

Применение и значение

Data Lakehouse находит применение в широком спектре задач, где ранее требовалось использование нескольких отдельных систем.

Бизнес-аналитика и отчётность

Благодаря поддержке ACID-транзакций и высокой производительности запросов, Data Lakehouse может служить единым источником данных для построения дашбордов и отчётов, заменяя традиционные хранилища данных. Это упрощает архитектуру и снижает затраты на инфраструктуру.

Машинное обучение и Data Science

Data Lakehouse предоставляет Data Scientist’ам прямой доступ к необработанным данным, а также к очищенным и агрегированным наборам данных, что ускоряет процесс разработки и обучения моделей. Возможность выполнять как ETL-процессы, так и обучение моделей на одной платформе повышает эффективность работы.

Потоковая и операционная аналитика

Современные реализации Data Lakehouse поддерживают приём и обработку потоковых данных в реальном времени, что позволяет использовать их для задач операционной аналитики, мониторинга и обнаружения аномалий.

Управление данными и каталогизация

Data Lakehouse интегрируется с системами управления метаданными и каталогами данных (например, Apache Atlas, AWS Glue), обеспечивая поиск, классификацию и управление доступом к данным.

Примеры реализации

На рынке представлено несколько основных технологических стеков для построения Data Lakehouse:

  • Databricks Lakehouse Platform: Коммерческая платформа, основанная на Apache Spark, Delta Lake и MLflow. Является одним из пионеров и лидеров концепции.
  • Apache Iceberg: Открытая табличная структура для больших аналитических наборов данных, поддерживаемая многими облачными провайдерами (AWS, Google Cloud, Snowflake).
  • Apache Hudi: Ещё одна открытая табличная структура, разработанная в Uber, ориентированная на инкрементальную обработку данных.
  • Microsoft Fabric: Облачная платформа, объединяющая возможности Data Lake (OneLake) и аналитического движка.
  • Amazon SageMaker Lakehouse: Решение от AWS, интегрирующее Data Lake и возможности машинного обучения.

Критика и ограничения

Несмотря на преимущества, Data Lakehouse не является универсальным решением. Критики отмечают следующие ограничения:

  • Сложность внедрения: Построение Data Lakehouse требует квалифицированных инженеров данных и глубокого понимания как архитектуры Data Lake, так и Data Warehouse.
  • Производительность: Для некоторых типов высоконагруженных аналитических запросов (OLAP) производительность Data Lakehouse может уступать специализированным MPP-хранилищам данных (например, Snowflake, Teradata).
  • Зрелость технологий: Некоторые компоненты Data Lakehouse, такие как потоковая обработка с гарантиями ACID, всё ещё находятся в стадии активного развития.
  • Управление затратами: Хотя хранение данных в Data Lakehouse может быть дешевле, затраты на вычислительные ресурсы для выполнения запросов могут быть выше, чем в оптимизированных хранилищах.

Источники

  1. Armbrust, M., et al. "Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics." Proceedings of the 11th Conference on Innovative Data Systems Research (CIDR), 2021.
  2. Databricks. "What is a Lakehouse?" Databricks Documentation.
  3. Apache Software Foundation. "Apache Iceberg: Table Format for Huge Analytic Datasets."
  4. Apache Software Foundation. "Apache Hudi: Data Lake Platform."
  5. Hariri, S. "The Data Lakehouse: A New Paradigm for Data Management." IEEE Computer, 2022.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →