Озера-хранилища данных (data lakehouses) сочетают в себе лучшие качества хранилищ данных (data warehouses) и озер данных (data lakes), позволяя организациям проводить аналитику на всех типах данных. Портал eWeek рассказывает об их преимуществах и особенностях.

Озеро-хранилище данных — это гибридная архитектура управления данными, объединяющая лучшие черты озера данных и хранилища данных в одном решении для управления данными.

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

Озеро-хранилище данных призвано преодолеть разрыв между этими двумя подходами к управлению данными, объединив гибкость, масштабируемость и низкую стоимость озера данных с производительностью хранилищ данных и реализаций в них требований ACID (Atomicity, Consistency, Isolation, Durability) к транзакциям. Это позволяет проводить бизнес-анализ и аналитику всех данных на единой платформе.

Что делает Data Lakehouse?

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

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

Озера-хранилища также отличаются от хранилищ данных. Последние используют процессы извлечения, загрузки и преобразования (ELT) или, как вариант, извлечения, преобразования и загрузки (ETL) для загрузки структурированных данных в инфраструктуру реляционной базы данных — хранилище данных поддерживает корпоративные приложения для анализа данных и бизнес-аналитики. Однако возможности хранилища ограничены его неэффективностью при работе с неструктурированными и полуструктурированными данными. Кроме того, они могут стать дорогостоящими по мере роста числа источников и количества данных.

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

Озера-хранилища могут использовать следующие пользователи:

  • Специалисты по исследованию данных — для машинного обучения, BI, SQL-аналитики и науки о данных.
  • Бизнес-аналитики — для изучения и анализа различных источников данных и их использования в бизнесе.
  • Менеджеры по продуктам, маркетологи и руководители — для мониторинга ключевых показателей эффективности и тенденций.

Озеро-хранилище данных сочетает в себе функциональность хранилища данных и озера данных. Источник: Databricks

Более глубокое погружение: Data Lakehouse vs. Data Warehouse vs. Data Lake

Итак, мы выяснили, что data lakehouse — это продукт, объединяющий возможности data warehouse и data lake. Давайте сравним их более подробно.

Хранилище данных. Data warehouse — это «дом» («house») в data lakehouse. Хранилище данных — это тип системы управления хранением данных, специально разработанный для аналитики данных; оно облегчает и поддерживает деятельность в области BI. Типичное хранилище данных включает в себя несколько элементов, таких как:

  • реляционная база данных;
  • ELT-решение для подготовки данных к анализу, статистическому анализу, отчетности и возможности интеллектуального анализа данных;
  • клиентские аналитические средства визуализации данных.

Озеро данных. Data lake — это «озеро» («lake») в data lakehouse. Озеро данных — это гибкий централизованный репозиторий, позволяющий хранить все структурированные, полуструктурированные и неструктурированные данные в любом масштабе. Озеро данных использует методологию schema-on-read («схема при чтении», мы принимаем и храним все данные и рассуждаем об их структуре только в момент чтения), то есть не существует заранее определенной схемы, под которую данные должны быть подогнаны перед хранением.

Сравнение data lakehouse vs. data warehouse vs. data lake

Параметры Data lakehouse Data warehouse Data lake
Структура данных Структурированные, полуструктурированные и необработанные Структурированные (табличные, реляционные) Неструктурированные, полуструктурированные и необработанные
Хранение данных Комбинирует структурированные и необработанные данные, «схема при чтении» Хранит данные в высокоструктурированном формате с предопределенной схемой Хранит данные в необработанном виде (например, JSON, CSV) без навязанной схемы
Схема Сочетает в себе элементы схем «при чтении» и «при записи» Использует фиксированные схемы, известные как Star, Galaxy и Snowflake Schema «Схема при чтении», то есть данные могут храниться без предопределенной схемы
Производительность запросов Объединяет сильные стороны хранилища данных и озера данных для сбалансированной производительности запросов Оптимизирована для быстрого выполнения запросов и аналитики с использованием методов индексирования и оптимизации Более низкая производительность запросов
Преобразование данных Часто включает эволюцию схемы и возможности ETL ETL и ELT Ограниченные встроенные возможности ETL; данные часто нуждаются в преобразовании перед анализом
Управление данными Варьируется в зависимости от конкретной реализации, но в целом лучше, чем у озера данных Сильное управление данными с контролем доступа к данным и соответствия требованиям Ограниченные возможности управления данными; функции управления данные могут отсутствовать
Сценарии использования Аналитические рабочие нагрузки, объединение структурированных и необработанных данных Бизнес-аналитика, отчетность, структурированная аналитика Исследование данных, ввод данных, наука о данных
Инструменты и экосистема Используются облачные платформы данных и фреймворки обработки данных Обычно используются традиционные системы реляционных баз данных и средства ETL Используются технологии больших данных, такие как Hadoop, Spark, и базы данных NoSQL
Стоимость Экономически эффективно Дорого Дешевле, чем хранилище данных
Уровень принятия Набирают популярность для современных аналитических рабочих нагрузок, требующих структурированных и полуструктурированных данных Распространены на предприятиях для анализа структурированных данных Распространены в сценариях работы с большими данными и наукой о данных

Пять слоев архитектуры Data Lakehouse

ИТ-архитектура озера-хранилища данных состоит из пяти следующих слоев:

Слой ввода данных. Ввод данных — это первый слой в архитектуре data lakehouse. Этот слой собирает данные из различных источников и передает их на уровень хранения или в систему обработки данных. Слой ввода данных может использовать различные протоколы для подключения внутренних и внешних источников, таких как:

  • системы управления базами данных;
  • ПО как сервис (SaaS);
  • базы данных NoSQL;
  • социальные сети;
  • CRM-приложения;
  • IoT-датчики;
  • файловые системы.

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

Слой хранения данных. Слой хранения данных в озере-хранилище хранит все типы данных в виде объектов в доступных объектных хранилищах, таких как AWS S3.

На этом уровне хранятся структурированные, неструктурированные и полуструктурированные данные в опенсорсных файловых форматах, таких как Parquet или Optimized Row Columnar (ORC). Озеро-хранилище данных может быть реализовано локально с использованием распределенной файловой системы типа Hadoop Distributed File System (HDFS) или облачных сервисов хранения данных типа Amazon S3.

Слой метаданных. Этот слой очень важен, так как здесь, собственно, и начинается озеро-хранилище. Метаданные — это данные, предоставляющие информацию о других элементах данных, — в данном слое представляют собой единый каталог, включающий метаданные для объектов озера данных. Слой метаданных также предоставляет пользователям ряд функциональных возможностей управления, таких как:

  • ACID-транзакции обеспечивают атомарность, согласованность, изолированность и долговечность модификаций данных.
  • Возможности файлового кэширования оптимизируют доступ к данным, сохраняя в памяти часто используемые файлы.
  • Индексирование ускоряет выполнение запросов, обеспечивая быстрый поиск данных.
  • Версионирование данных позволяет пользователям сохранять определенные версии данных.

Слой метаданных позволяет пользователям реализовывать предопределенные схемы для улучшения управления данными, контроля доступа и аудита.

Слой API. Является особенно важным компонентом озера-хранилища данных. Он позволяет инженерам данных, специалистам по исследованию данных и аналитикам получать доступ к данным, хранящимся в озере-хранилище, и манипулировать ими для анализа, создания отчетов и других целей.

Слой потребления. Это последний уровень архитектуры озера-хранилища, на котором размещаются такие инструменты и приложения, как Power BI и Tableau, позволяющие пользователям запрашивать, анализировать и обрабатывать данные. Потребительский уровень позволяет пользователям получать доступ к данным, хранящимся в озере-хранилище, и использовать их для решения различных бизнес-задач.

Основные характеристики Data Lakehouse

  • Поддержка ACID-транзакций. Многие озера-хранилища используют технологию Delta Lake (разработанную компанией Databricks) или реализуют ACID-транзакции для обеспечения согласованности и надежности данных в распределенной среде.
  • Низкая стоимость хранения единицы данных. Озеро-хранилище данных — это экономически эффективный вариант хранения всех типов данных, включая структурированные, полуструктурированные и неструктурированные данные.
  • Поддержка неструктурированных и потоковых данных. В то время как хранилище данных ограничивается структурированными данными, озеро-хранилище поддерживает множество форматов данных, включая видео, аудио, текстовые документы, PDF-файлы, системные журналы и т. д. Озеро-хранилище также поддерживает ввод данных в реальном времени — и потоковую передачу с устройств.
  • Поддержка открытых форматов. Озера-хранилища данных могут хранить данные в стандартных файловых форматах, таких как Apache Avro, Parquet и ORC.

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

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

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

Проблемы Data Lakehouse

Озеро-хранилище не является «серебряной пулей» для решения всех задач, связанных с данными. Концепция data lakehouse является относительно новой, и ее потенциал и возможности еще только изучаются и осмысливаются.

Это сложная система, которую необходимо создавать с нуля. Вам придется либо выбрать готовое решение, производительность которого сильно зависит от типа запроса и механизма его обработки, либо потратить время и ресурсы на разработку и поддержку собственного решения.

Заключение

Озеро-хранилище данных — это новая концепция, представляющая собой современный подход к управлению данными. Это не полная замена традиционного хранилища данных или озера данных, а их комбинация.

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