Озера-хранилища данных (data lakehouses) сочетают в себе лучшие качества хранилищ данных (data warehouses) и озер данных (data lakes), позволяя организациям проводить аналитику на всех типах данных. Портал eWeek рассказывает об их преимуществах и особенностях.
Озеро-хранилище данных — это гибридная архитектура управления данными, объединяющая лучшие черты озера данных и хранилища данных в одном решении для управления данными.
Озеро данных — это централизованный репозиторий, позволяющее хранить большие объемы данных в их исходном, необработанном формате. Хранилище данных — это репозиторий, в котором хранятся структурированные и полуструктурированные данные из различных источников для целей анализа и формирования отчетов.
Озеро-хранилище данных призвано преодолеть разрыв между этими двумя подходами к управлению данными, объединив гибкость, масштабируемость и низкую стоимость озера данных с производительностью хранилищ данных и реализаций в них требований ACID (Atomicity, Consistency, Isolation, Durability) к транзакциям. Это позволяет проводить бизнес-анализ и аналитику всех данных на единой платформе.
Что делает Data Lakehouse?
Озеро-хранилище данных обеспечивает масштабируемость, гибкость и экономическую эффективность репозитория данных, позволяя организациям собирать огромные объемы данных без предъявления жестких требований к схемам и форматам.
В отличие от озер-хранилищ, сами по себе озера данных не обладают возможностями управления, организации и производительности, необходимыми для аналитики и отчетности.
Озера-хранилища также отличаются от хранилищ данных. Последние используют процессы извлечения, загрузки и преобразования (ELT) или, как вариант, извлечения, преобразования и загрузки (ETL) для загрузки структурированных данных в инфраструктуру реляционной базы данных — хранилище данных поддерживает корпоративные приложения для анализа данных и бизнес-аналитики. Однако возможности хранилища ограничены его неэффективностью при работе с неструктурированными и полуструктурированными данными. Кроме того, они могут стать дорогостоящими по мере роста числа источников и количества данных.
Озера-хранилища данных устраняют ограничения и проблемы как хранилищ, так и озер данных, объединяя гибкость и экономическую эффективность озер данных с возможностями управления, организации и производительности хранилищ данных.
Озера-хранилища могут использовать следующие пользователи:
- Специалисты по исследованию данных — для машинного обучения, BI, SQL-аналитики и науки о данных.
- Бизнес-аналитики — для изучения и анализа различных источников данных и их использования в бизнесе.
- Менеджеры по продуктам, маркетологи и руководители — для мониторинга ключевых показателей эффективности и тенденций.
Более глубокое погружение: 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 имеет множество преимуществ, которые делают его востребованным, оно не лишено недостатков. Необходимо принимать упреждающие меры, чтобы избежать рисков безопасности, избыточной сложности, а также проблем с качеством данных и управлением, которые могут возникнуть при использовании озера-хранилища данных.