Откуда взялся Lakehouse и упорядочит ли он данные? Обзор современной архитектуры платформы данных

Lakehouse появился как ответ на стремительный рост объёмов и разнообразия корпоративных данных. Классические DWH хорошо работают со структурированной информацией и регламентированной аналитикой, а Data Lake позволяет хранить практически любые данные в больших объёмах. Но использование двух разрозненных подходов приводит к появлению копий данных, сложным ETL-процессам и разрыву между хранением, аналитикой и машинным обучением.

Lakehouse появился в конце 2010-х годов как ответ на ограничения классических Data Lake и Data Warehouse и необходимость объединить их преимущества.

Lakehouse стремится объединить преимущества Data Lake и Data Warehouse в единой архитектуре. Это особенно важно в эпоху Big Data, машинного обучения и генеративного ИИ, когда одни и те же корпоративные данные должны одновременно использоваться BI-системами, аналитиками, Data Science и ИИ-приложениями. Лейкхаус становится основой современной платформы данных, позволяющей хранить информацию в масштабе и использовать её для самых разных задач.

Что это такое

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

Расшифровка

Lakehouse состоит из двух английских слов: lake — «озеро» и house — «дом». Термин образован по аналогии с двумя основными архитектурными подходами к работе с данными — Data Lake и Data Warehouse.

В ИТ под Lakehouse обычно понимается архитектура, в которой единое хранилище данных используется как основа для аналитики, машинного обучения, BI и других задач. При этом данные могут сохраняться в различных форматах и проходить обработку по мере необходимости.

Перевод

Буквальный перевод Data Lakehouse — «озеро-дом». В русском языке термин обычно не переводят, а используют транслитерацию «лейкхаус» или английское название Lakehouse.

Название Lakehouse отражает саму идею архитектуры: объединить «озеро» для хранения больших массивов данных и «дом» с организованными средствами работы с ними.

По смыслу термин можно описать как «единая платформа хранения и обработки данных». Однако лейкхаус — это не просто ещё один тип базы данных, а архитектурный подход к организации всего контура работы с данными.

Предыстория, проблематика

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

Появление Data Lake решило часть этой проблемы. Данные стало возможно сохранять в исходном виде, включая файлы, логи, документы, изображения, события и результаты работы приложений. Но вместе с гибкостью появились новые сложности: управление качеством, каталогизация, контроль версий и обеспечение надёжной аналитической работы.

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

В результате возникла потребность объединить преимущества двух подходов. Lakehouse стал попыткой создать единый слой данных, который сохраняет гибкость Data Lake и получает часть возможностей Data Warehouse.

Lakehouse сделал данные одновременно масштабируемыми, структурированными и удобными для аналитики, BI, ML и ИИ.

Особенно важным это стало с распространением машинного обучения и современных аналитических систем. Одни и те же данные требуется использовать одновременно для BI, SQL-аналитики, прогнозирования, Data Science и обучения ИИ-моделей.

Идея и замысел

Основная идея Lakehouse заключается в том, чтобы не создавать отдельные копии одних и тех же данных для каждой системы. Вместо этого формируется общий слой хранения, к которому подключаются различные инструменты обработки и анализа.

В классической архитектуре данные могут последовательно перемещаться между операционными БД, ETL-процессами, DWH, витринами и аналитическими системами. Lakehouse стремится сократить количество промежуточных копий и сделать данные доступными разным инструментам из единого контура.

При этом сохраняется возможность организовать данные по уровням готовности. Например:

  • Raw — исходные данные;
  • Cleaned — очищенные и нормализованные данные;
  • Curated — подготовленные данные для конкретных аналитических задач.

Главный замысел Lakehouse — данные хранятся один раз, а использовать их можно многими способами.

Простыми словами

Лейкхаус можно представить как большое корпоративное хранилище данных, в котором можно держать практически любую информацию. В него поступают данные из CRM, ERP, сайтов, мобильных приложений, производственных систем, IoT, файлов и внешних источников.

После этого разные пользователи и приложения работают с одним информационным фундаментом. BI строит отчёты, аналитики выполняют SQL-запросы, Data Science обучает модели, а ИИ использует данные для своих задач.

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

Если Data Lake — это большое озеро с данными, то Lakehouse можно представить как озеро с дорогами, адресами, правилами движения и системой учёта.

Архитектура

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

             ┌────────────────────────────────────────────────┐
             │ BI / Applications (BI / Приложения)            │
             │ Power BI / Superset / etc.                     │
             └─────────────────────┬──────────────────────────┘
                                   │ SQL
             ┌─────────────────────▼──────────────────────────┐
             │ Query Engine (Движок запросов)                 │
             │ Trino / StarRocks / Doris                      │
             └─────────────────────┬──────────────────────────┘
                                   │
     ┌─────────────────────────────▼───────────────────────────────┐
     │ TABLE FORMAT / TABLE LAYER (Табличный формат / слой)        │
     │ Apache Iceberg / Delta Lake / Hudi / Paimon                 │
     └─────────────────────────────┬───────────────────────────────┘
                                   │
     ┌─────────────────────────────▼───────────────────────────────┐
     │ OBJECT STORAGE (Объектное хранилище)                        │
     │ S3 / MinIO / Ceph / CubeFS / SeaweedFS / etc.               │
     └─────────────────────────────┬───────────────────────────────┘
                                   │
          ┌────────────────────────▼──────────────────────────┐
          │ Catalog / Metadata (Каталог / Метаданные)         │
          │ Polaris / Nessie / Hive Metastore / Unity Catalog │
          └───────────────────────────────────────────────────┘

     Данные поступают через: Kafka / CDC / ETL / ELT / API / файлы / БД

Укрупнённо архитектуру можно представить как несколько уровней:

  • источники данных — БД, CRM, ERP, приложения, файлы, API, IoT;
  • приём и интеграция — ETL, ELT, streaming, API и коннекторы;
  • хранилище — объектное или распределённое файловое хранилище;
  • табличный слой — структуры, схемы, метаданные и транзакционные возможности;
  • обработка — SQL, batch- и stream-processing;
  • управление данными — каталог, качество, lineage, безопасность и права доступа;
  • потребители — BI, ML, AI, аналитические приложения и бизнес-пользователи.

Слой хранения

Фундаментом Lakehouse обычно выступает масштабируемое объектное или распределённое хранилище. В нём могут находиться огромные объёмы файлов с данными, причём сами данные физически отделены от вычислительных ресурсов.

Такой подход позволяет масштабировать хранение и вычисления независимо. Например, объём данных может увеличиваться значительно быстрее вычислительной нагрузки, поэтому нет необходимости пропорционально расширять весь вычислительный кластер.

Для российского on-premise Lakehouse наиболее интересны открытые технологии хранения, которые можно развернуть в собственной инфраструктуре. В эту группу входят S3, MinIO, Ceph, CubeFS, HDFS и Apache Ozone. Большинство современных архитектур при этом ориентируются на объектную модель хранения и S3-совместимый интерфейс, позволяющий подключать различные инструменты обработки данных.

Компонент Тип Применение в Lakehouse Особенности и ограничения
S3 Объектное хранилище / API Базовый слой Data Lake и Lakehouse Фактический стандарт объектного хранения; S3 — интерфейс, а не конкретный продукт; для on-premise используются S3-совместимые реализации
MinIO Объектное хранилище On-premise, private cloud, Data Lake S3-совместимость, простое подключение к data-инструментам; требуется самостоятельная эксплуатация
Ceph Распределённая система хранения On-premise, private cloud, Data Lake Object, Block и File storage; мощная и универсальная система, но сложнее в администрировании
CubeFS Распределённая файловая система Big Data, AI, облачные платформы Масштабирование и высокая производительность; требуется специализированная экспертиза
HDFS Распределённая файловая система Hadoop, Big Data, Data Lake Зрелая технология Big Data; сильнее связана с Hadoop-экосистемой
Apache Ozone Распределённое объектное хранилище Hadoop, Big Data, Data Lake Масштабируемое объектное хранение; экосистема менее распространена, чем S3-совместимые решения

Ни один из этих компонентов сам по себе не является Lakehouse. Они обеспечивают физическое хранение данных, а поверх них располагаются файловые форматы, табличный слой, каталоги и вычислительные движки. Например, Apache Iceberg является открытым табличным форматом, который добавляет к набору файлов возможности таблиц, включая управление схемой, snapshots и эволюцию структуры.

Объектное хранилище S3

S3 — это не конкретный продукт, а стандартный подход к объектному хранению данных, ставший фактическим стандартом для современных Data Lake и Lakehouse. Название происходит от Amazon Simple Storage Service, однако сегодня существует множество открытых и коммерческих систем, реализующих S3-совместимый API.

В объектном хранилище данные сохраняются как объекты, которым соответствуют содержимое, идентификатор и набор метаданных. Объекты объединяются в логические пространства хранения — buckets. Такой подход отличается от традиционной файловой системы, где данные организованы прежде всего в виде файлов и каталогов.

S3 в Lakehouse — это прежде всего интерфейс и модель хранения, а не обязательная привязка к Amazon. Поэтому собственное S3-совместимое хранилище можно построить на базе MinIO, Ceph и других open source решений.

Главное преимущество S3-подхода — отделение хранения от вычислений. Данные могут находиться в общем объектном хранилище, а различные вычислительные движки подключаются к ним по мере необходимости. Это позволяет независимо масштабировать объём хранения и вычислительные ресурсы.

Поверх S3-хранилища обычно размещаются Parquet, ORC или другие форматы файлов, а также табличные форматы Apache Iceberg, Delta Lake и Apache Hudi. Поэтому в архитектуре Lakehouse S3 выполняет роль нижнего слоя, а управление таблицами, схемами, версиями и транзакциями обеспечивают вышестоящие компоненты.

При этом объектное хранение имеет свои ограничения. S3 не является обычной файловой системой и не заменяет транзакционную СУБД. Для эффективной работы с Lakehouse необходимо правильно организовать структуру объектов, партиционирование, размеры файлов, метаданные и процессы очистки. Иначе большое количество мелких файлов и неуправляемая структура данных могут серьёзно ухудшить производительность.

MinIO

MinIO — объектное хранилище с S3-совместимым интерфейсом, которое можно развернуть в собственной инфраструктуре. Это делает его одним из наиболее очевидных вариантов для построения on-premise Data Lake и Lakehouse.

Главное преимущество MinIO заключается в том, что для работы с ним можно использовать экосистему инструментов, рассчитанных на S3. Это упрощает интеграцию с различными движками обработки, каталогами и табличными форматами.

MinIO подходит для сценариев, где организации нужен контроль над данными и инфраструктурой. Хранилище можно развернуть на собственных серверах и масштабировать по мере роста объёма информации.

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

Ceph

Ceph — распределённая система хранения, способная одновременно предоставлять объектный, файловый и блочный доступ. Благодаря этому одна платформа может использоваться для разных инфраструктурных задач.

В Lakehouse особенно интересен объектный интерфейс Ceph, совместимый с S3. Это позволяет использовать Ceph как самостоятельный объектный слой для хранения данных и подключать к нему инструменты современной data-инфраструктуры.

Сильная сторона Ceph — возможность построить масштабируемое хранилище на собственных серверах. При этом архитектура рассчитана на крупные распределённые системы.

Недостаток — сложность. Ceph требует серьёзных компетенций по проектированию и эксплуатации распределённого хранения, поэтому его применение оправдано прежде всего в инфраструктурах, где уже есть соответствующая команда.

CubeFS

CubeFS — распределённая файловая система, ориентированная на облачные, Big Data и AI-нагрузки. Она предназначена для построения масштабируемого распределённого слоя хранения.

В отличие от объектного MinIO, CubeFS относится прежде всего к классу распределённых файловых систем. Это позволяет использовать его в сценариях, где приложениям требуется файловый доступ к большим массивам данных.

CubeFS может использоваться как часть инфраструктуры Data Lake и AI-платформ. Его целесообразность особенно заметна в крупных распределённых средах, где требуется масштабирование хранения и вычислительных нагрузок.

HDFS

HDFS (Hadoop Distributed File System) — классическая распределённая файловая система экосистемы Hadoop. Она стала одним из фундаментальных компонентов инфраструктуры Big Data и широко применялась для создания Data Lake.

HDFS распределяет данные между узлами кластера и позволяет хранить большие объёмы информации на множестве серверов. Вместе с Hadoop и связанными инструментами она долгое время была стандартным подходом к построению Big Data-платформ.

Для новых Lakehouse-проектов HDFS уже не является единственным вариантом. Объектные хранилища получили широкое распространение благодаря отделению хранения от вычислений и удобной интеграции с современными data-инструментами.

Тем не менее HDFS остаётся актуальным для существующих Hadoop-инсталляций и инфраструктур, где уже сформирована соответствующая технологическая база.

Apache Ozone

Apache Ozone — распределённое объектное хранилище из экосистемы Apache. Оно создавалось для работы с большими объёмами данных и тесно связано с Hadoop-экосистемой.

Ozone ориентирован на сценарии, в которых требуется масштабируемое объектное хранение в собственной инфраструктуре. Поэтому его можно рассматривать как альтернативу другим self-hosted решениям.

При выборе Apache Ozone важно учитывать экосистему и компетенции команды. Для нового проекта необходимо заранее проверить совместимость используемых движков обработки, каталогов и табличных форматов.

Табличный и метаданный слой

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

Именно табличный слой во многом превращает обычное файловое хранилище в управляемую платформу данных.

В современных реализациях для этого используются открытые табличные форматы и технологии, среди которых Apache Iceberg, Delta Lake и Apache Hudi. Они решают задачи транзакционности, версионирования, изменения схем и эффективного управления большими таблицами.

Формат Тип Основные возможности Особенности и ограничения
Apache Iceberg Открытый табличный формат Транзакции, snapshots, эволюция схемы, time travel Широкая поддержка современных движков; требует отдельного каталога и инфраструктуры для полноценной эксплуатации
Delta Lake Открытый табличный формат ACID-транзакции, версионирование, schema evolution, time travel Тесно связан с экосистемой Databricks и Apache Spark; при использовании вне этой экосистемы необходимо проверять совместимость инструментов
Apache Hudi Открытый табличный формат Upsert, ACID-транзакции, инкрементальная обработка, time travel Силен в сценариях частого обновления данных; архитектура сложнее для простых аналитических задач

Apache Iceberg, Delta Lake и Apache Hudi решают одну ключевую проблему Lakehouse — превращают набор файлов в управляемые таблицы. Они добавляют поверх объектного или файлового хранилища метаданные, версии, контроль схемы и транзакционные механизмы. Благодаря этому аналитические движки могут работать с данными значительно надёжнее, чем с обычным набором разрозненных файлов.

Apache Iceberg

Apache Iceberg — открытый табличный формат для больших аналитических наборов данных. Он был разработан для работы с огромными таблицами и позволяет отделить логическое представление таблицы от физических файлов, в которых хранятся данные.

Одно из важных преимуществ Iceberg — поддержка эволюции схемы без необходимости полностью перестраивать таблицу. Можно добавлять, удалять и изменять столбцы, сохраняя управляемость уже накопленных данных.

Iceberg также поддерживает snapshots и time travel. Это позволяет обращаться к состоянию таблицы на определённый момент времени, анализировать изменения и при необходимости возвращаться к предыдущей версии данных.

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

Delta Lake

Delta Lake — открытый табличный формат, добавляющий к файловому хранилищу транзакционность и управление версиями данных. Он позволяет использовать обычные файлы в качестве основы таблиц, но при этом предоставляет механизмы, характерные для более управляемых хранилищ.

Одной из ключевых возможностей Delta Lake являются ACID-транзакции. Они позволяют надёжнее выполнять операции записи и обновления данных, что особенно важно при одновременной работе нескольких процессов.

Delta Lake поддерживает schema enforcement, schema evolution и time travel. Благодаря этому можно контролировать структуру данных, изменять её по мере развития системы и получать доступ к предыдущим состояниям таблиц.

Технология тесно связана с экосистемой Databricks и Apache Spark, хотя Delta Lake является открытым проектом и может использоваться в других средах. При построении независимой платформы необходимо заранее проверить совместимость Delta Lake с выбранными движками и инструментами.

Apache Hudi

Apache Hudi — открытый табличный формат, ориентированный в том числе на сценарии, где данные необходимо часто обновлять. В отличие от классического подхода «записали файл и больше его не меняем», Hudi хорошо подходит для потоков данных с постоянными upsert и изменениями существующих записей.

Одной из сильных сторон Hudi является инкрементальная обработка. Система может отслеживать изменения и передавать дальше только те данные, которые появились или изменились, вместо повторной обработки всего набора.

Hudi также предоставляет ACID-транзакции, управление версиями и time travel. Это позволяет использовать его для построения управляемых таблиц поверх объектного или распределённого хранилища.

Hudi особенно интересен для потоковых и near-real-time сценариев, где данные постоянно обновляются. Для простых аналитических наборов, которые преимущественно загружаются пакетами и редко изменяются, его дополнительные возможности могут оказаться избыточными.

Обработка данных и вычисления

Вычислительный слой отвечает за преобразование и анализ данных. В зависимости от архитектуры могут использоваться SQL-движки, распределённые вычислительные платформы, потоковая обработка и специализированные инструменты Data Science.

Важная особенность Lakehouse — хранение и вычисления могут быть разделены. Это позволяет подключать несколько вычислительных механизмов к одному набору данных и выбирать подходящий инструмент под конкретную задачу.

Вычислительный слой Lakehouse отвечает за обработку данных, выполнение SQL-запросов, агрегации, соединения таблиц и аналитические расчёты. В отличие от слоя хранения, здесь данные не обязательно находятся постоянно: вычислительный движок обращается к данным в хранилище и выполняет необходимые операции.

Компонент Тип Основное применение Особенности и ограничения
Trino Распределённый SQL query engine Интерактивная аналитика, федеративные запросы, Lakehouse Хорошо работает с разными источниками; сам по себе не является системой хранения
StarRocks MPP-аналитическая СУБД / query engine BI, real-time analytics, Lakehouse Высокая скорость аналитики и низкая задержка; часть сценариев ориентирована на собственные таблицы и инфраструктуру
Apache Doris MPP-аналитическая СУБД / query engine BI, аналитика, Lakehouse Может напрямую работать с данными Data Lake; более комплексный стек, чем чистый query engine
Apache Spark Распределённая платформа обработки ETL/ELT, SQL, ML, batch processing Универсальность и огромная экосистема; для интерактивных запросов может требовать больше ресурсов и настройки
Apache Flink Распределённая stream/batch-платформа Streaming, real-time processing, ETL Силен в потоковой обработке и stateful-вычислениях; сложнее для простых аналитических запросов
ClickHouse Колоночная аналитическая СУБД BI, DWH, real-time analytics, Lakehouse Очень высокая скорость аналитики; архитектурно отличается от универсальных query engines
PrestoDB Распределённый SQL query engine Федеративная аналитика, Data Lake Подходит для запросов к разным источникам; требует отдельного слоя хранения
Apache DataFusion Векторизованный query engine SQL, аналитические приложения, embedded processing Написан на Rust и ориентирован на встраивание; это скорее движок для построения решений, чем готовая корпоративная платформа

Выбор движка зависит прежде всего от характера нагрузки. Для интерактивных SQL-запросов к данным Lakehouse хорошо подходят Trino, StarRocks и Doris; для масштабной пакетной обработки — Spark; для потоков и обработки событий — Flink; для высокопроизводительной аналитики — ClickHouse. При этом один Lakehouse может использовать несколько вычислительных движков одновременно.

Trino

Trino — распределённый SQL query engine, предназначенный для выполнения запросов над большими и разнородными источниками данных. Его сильная сторона — возможность обращаться к данным из разных систем через единый SQL-интерфейс.

Для Lakehouse Trino особенно интересен как вычислительный слой поверх объектного хранилища и табличных форматов. Он может выполнять запросы к данным, которые физически находятся в другом слое архитектуры.

Trino также позволяет объединять в одном запросе данные из нескольких источников. Это удобно для постепенного перехода к Lakehouse, когда часть корпоративных данных ещё находится в традиционных СУБД и DWH.

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

StarRocks

StarRocks — высокопроизводительная MPP-платформа для аналитических запросов. Она ориентирована на сценарии BI, интерактивной аналитики и работы с большими объёмами данных.

StarRocks может использоваться в Lakehouse-архитектурах, где требуется быстро выполнять аналитические запросы непосредственно над данными Data Lake. Это позволяет уменьшить необходимость постоянной загрузки всех данных в отдельное DWH.

Сильной стороной является высокая производительность интерактивных запросов и работа с большими объёмами данных. Поэтому StarRocks может выступать не только как промежуточный query engine, но и как самостоятельный аналитический компонент.

Apache Doris

Apache Doris — распределённая MPP-аналитическая платформа с SQL-интерфейсом. Она применяется для BI, аналитики и построения современных аналитических систем.

В контексте Lakehouse Doris интересен возможностью непосредственно обращаться к данным Data Lake, не обязательно перемещая их в отдельное хранилище. Apache Doris позиционируется как решение, объединяющее возможности аналитической базы и Lakehouse query engine.

Таким образом, Doris может занимать промежуточное положение между классическим DWH и чистым query engine. Это упрощает архитектуру, но одновременно делает компонент более комплексным.

Apache Spark

Apache Spark — универсальная распределённая платформа обработки больших данных. В отличие от Trino, который прежде всего ориентирован на выполнение SQL-запросов, Spark используется для построения сложных конвейеров обработки, ETL/ELT и аналитических приложений.

Spark особенно полезен там, где требуется массово преобразовывать данные, объединять источники, очищать информацию и формировать таблицы Lakehouse. Он поддерживает Spark SQL и может использоваться совместно с Iceberg, Delta Lake и Hudi.

Кроме SQL и ETL, Spark используется для задач машинного обучения и других распределённых вычислений. Универсальность является его главным преимуществом, но одновременно делает платформу более сложной, чем специализированный SQL-движок.

Apache Flink — распределённая платформа обработки потоковых и пакетных данных. Особенно сильна она в сценариях, где информация поступает непрерывным потоком и должна обрабатываться практически в реальном времени.

Flink позволяет строить конвейеры обработки событий, выполнять оконные операции, поддерживать состояние вычислений и формировать производные наборы данных. Это делает его важным компонентом Lakehouse для streaming-сценариев.

Flink хорошо подходит для обработки событий из приложений, IoT, транзакционных систем и других источников. Для обычной интерактивной BI-аналитики его применение может быть избыточным, поэтому в Lakehouse он чаще дополняет, а не заменяет SQL query engines.

ClickHouse

ClickHouse — колоночная аналитическая СУБД с высокой производительностью на аналитических нагрузках. Она широко применяется для обработки больших объёмов данных, агрегаций и построения аналитических систем.

ClickHouse может использоваться как самостоятельный аналитический слой или как часть Lakehouse-архитектуры. Его сильная сторона — очень быстрые аналитические запросы по большим массивам данных.

При этом ClickHouse отличается от Trino и Spark по архитектуре и модели использования. Это не просто query engine над внешним Lakehouse, а полноценная аналитическая СУБД, поэтому при выборе необходимо учитывать, где именно будут находиться данные и требуется ли их постоянное хранение внутри ClickHouse.

PrestoDB

PrestoDB — распределённый SQL query engine для аналитических запросов к большим и разнородным источникам данных. По назначению он близок к Trino и также ориентирован на выполнение запросов без необходимости перемещать все данные в единую базу.

В Lakehouse PrestoDB может выступать SQL-слоем поверх Data Lake. Он позволяет аналитикам использовать SQL, обращаясь к данным в различных источниках.

Как и Trino, PrestoDB требует отдельных компонентов хранения и управления данными. Поэтому его правильнее рассматривать как вычислительный механизм, а не как самостоятельный Lakehouse.

Apache DataFusion

Apache DataFusion — открытый векторизованный SQL query engine, написанный на Rust. Он предназначен прежде всего для создания аналитических приложений и специализированных вычислительных систем.

DataFusion предоставляет набор компонентов, которые можно встраивать в собственные решения. Это отличает его от Trino, Spark или Doris, которые обычно воспринимаются как готовые платформы для эксплуатации.

Технология особенно интересна разработчикам, создающим собственные data-продукты и движки. В экосистеме Apache DataFusion также используется как основа для других проектов; например, Apache Arrow DataFusion является native query engine в экосистеме Arrow.

Управление данными

Корпоративный Lakehouse невозможно эффективно использовать без управления данными. Поэтому архитектура дополняется Data Catalog, Data Governance, Data Quality, Data Lineage, управлением доступом и аудитом.

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

Применение

Lakehouse особенно востребован там, где одновременно требуется хранить большие объёмы данных и использовать их для разных аналитических и интеллектуальных задач. Поэтому технология постепенно выходит за пределы традиционной BI-аналитики.

BI и корпоративная аналитика

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

Это особенно полезно для крупных компаний, где необходимо объединить финансовые, коммерческие, производственные и операционные показатели. При этом данные можно использовать как для регулярной отчётности, так и для ad hoc-аналитики.

Один набор данных может одновременно использоваться BI-аналитиком, специалистом по Data Science и ИИ-приложением.

Машинное обучение и ИИ

Для ML и AI важны не только структурированные таблицы, но и логи, события, документы, изображения, тексты и другие типы информации. Lakehouse позволяет хранить такие данные в едином контуре и использовать их для подготовки моделей.

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

Big Data

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

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

Корпоративные данные

В крупном бизнесе Lakehouse может использоваться как единый аналитический слой над данными разных подразделений. В него поступает информация из CRM, ERP, BPM, СЭД, сайтов, мобильных приложений и других корпоративных систем.

Это создаёт основу для единой модели данных компании, поверх которой могут строиться BI, прогнозирование, xP&A, IBP и ИИ-агенты.

Особенности и ограничения

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

Преимущества

Главное преимущество Lakehouse — объединение гибкости Data Lake с возможностями управляемой аналитической среды. Компания получает возможность работать с различными типами данных без обязательного предварительного преобразования всей информации в строго заданную структуру.

К другим преимуществам относятся:

  • масштабируемое хранение больших объёмов данных;
  • разделение хранения и вычислений;
  • поддержка SQL и аналитических инструментов;
  • работа с batch- и streaming-данными;
  • использование одного набора данных для BI, ML и AI;
  • возможность применения открытых форматов и технологий.

Lakehouse сокращает разрыв между платформой хранения данных и платформой их использования.

Ограничения

Главная сложность Lakehouse — не само хранение данных, а управление всем жизненным циклом информации. Необходимо определить правила загрузки, очистки, преобразования, каталогизации, контроля качества, доступа и удаления данных.

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

Есть и организационные ограничения. Для эксплуатации крупного Lakehouse требуются Data Engineering, Data Governance, DevOps/DataOps и компетенции аналитики. Без этих процессов большое хранилище легко превращается в новый «data swamp» — массив данных, в котором сложно понять, что находится внутри и насколько этой информации можно доверять.

Что дальше?

Развитие Lakehouse идёт в сторону единой платформы данных, на которой одновременно работают аналитика, машинное обучение и ИИ. Граница между Data Lake, DWH, аналитической платформой и AI-платформой постепенно становится менее жёсткой.

Lakehouse и ИИ

Распространение генеративного ИИ повышает требования к данным. ИИ-агентам нужны не только документы и базы знаний, но и актуальные корпоративные данные из CRM, ERP, DWH, Data Lake и других систем.

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

Следующий этап развития Lakehouse — не просто хранить данные для аналитика, а сделать их доступными для машин, моделей и ИИ-агентов в управляемом корпоративном контуре.

Единая платформа данных

В перспективе Lakehouse может развиваться в сторону унифицированной data platform, объединяющей хранение, обработку, каталогизацию, управление качеством, аналитику и AI-сценарии.

При этом ключевым становится не название архитектуры, а принцип: данные должны быть доступны нужным потребителям, понятны им, контролируемы и пригодны для повторного использования. Именно вокруг этого принципа будут развиваться следующие поколения корпоративных платформ данных.

CIO-NAVIGATOR