Data Lake

Data Lake или озера данных — это архитектура корпоративных хранилищ данных (КХД), которая появилась как альтернатива Data Warehouse (DWH) для хранения больших объемов данных в их исходном формате.

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

Data Lake

Модели хранения данных в Data Lake

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

  • Объектное хранилище — хранит любые типы данных в виде объектов с метаданными.

    Как правило, реализуется в виде облачного решения с моделью оплаты pay-as-you-go, при этом не требует затрат на администрирование инфраструктуры.

    Большинство подобных сервисов поддерживают S3 API, что позволяет подключать объектное хранилище для работы с аналитическими, ETL, BI и ML-платформами. VK Cloud тоже предоставляет такой сервис — VK Object Storage.

  • Кластер HDFS (Hadoop Distributed File System).

    Реализуется в основном on-premise в собственной или арендованной инфраструктуре с самостоятельным администрированием.

    Поддерживает интеграцию с Hadoop-стеком (MapReduce, Hive, HBase, Pig, Spark и др.), который можно развернуть в той же инфраструктуре, что и кластер HDFS. Это позволяет локализовать данные в закрытой системе и улучшить производительность обработки за счет меньших задержек.

Преимущества Data Lake относительно DWH

  • Высокая производительность при обработке данных за счет использования колоночных хранилищ данных на ELT-подходах.
  • Возможность работать с необработанными данными, например для подготовки датасетов в ML-задачах.
  • Экономичное хранение любых типов данных в озере данных.
  • Гибкость выбора инструментов в зависимости от типа данных. Например, Cloud Trino для создания ETL/ELT процессов, или создание полного цикла ML с помощью библиотеки MLlib в Cloud Spark.

Ограничения Data Lake

  • Отсутствие встроенной SQL-совместимости, что затрудняет интеграцию с BI-системами.
  • Дублирование данных и бизнес-логики при использовании дополнительных СУБД для аналитики.
  • Избыточное перемещение данных между системами, увеличивающее задержки и риски для безопасности.

Альтернативы Data Lake

Data Lake и предшествующая ей архитектура Data Warehouse имеют некоторые недостатки и не закрывают полностью все бизнес-потребности. Поэтому появилось более универсальное решение для работы с большими данными — Data Lakehouse, объединяющее в себе преимущества обеих архитектур и минимизирующее их недостатки.