Мы знаем, что управление данными сегодня полностью меняется. На протяжении десятилетий бизнес полагался на хранилища данных, которые хранили информацию в соответствующем формате. Они структурированы, регулируются и быстро извлекают информацию, хотя являются дорогостоящими и жесткими по своей природе. В отличие от этого, data lake (озеро данных) более эффективен и позволяет хранить огромные объемы данных независимо от их структуры. Тем не менее, появление архитектуры data lakehouse объединяет преимущества озер данных и хранилищ данных. Модели lakehouse сохраняют гибкость, предоставляемую озерами данных, одновременно интегрируя надежность, управление и производительность хранилища данных.
Самый заметный формат таблицы с открытым исходным кодом, созданный для анализа данных в масштабе, – это Apache Iceberg. Iceberg находится на передовой этого преобразования и повышает ценность данных в архитектуре lakehouse. Кроме того, Iceberg предоставляет решения для многих проблем, с которыми сталкиваются озера данных, включая эволюцию схемы, ACID-транзакции, согласованность данных и производительность запросов.
Этот блог-пост является первой частью серии из трех, посвященной изучению Apache Iceberg и его роли в современных архитектурах данных. В этом посте фокус будет сосредоточен на следующих темах:
- Эволюция от хранилищ данных к озерам данных
- Проблемы, связанные с традиционными подходами
- Как Apache Iceberg решает эти ограничения
Следующие посты в этой серии более детально рассмотрят архитектуру Iceberg и изучат, как работают запросы в таблицах Iceberg.
Краткое резюме: Эволюция озер данных от хранилищ данных
На протяжении многих лет компании полагались на хранилища данных, которые служили центральной основой для аналитики. Хранилище данных выступает в качестве централизованного репозитория, предназначенного для захвата структурированных данных из различных источников с целью эффективного создания отчетов и получения инсайтов. В настоящее время хранилища данных обеспечивают быструю производительность запросов и надежные механизмы управления, что делает их надежными и хорошо структурированными.
Тем не менее, организации столкнулись с новыми проблемами по мере увеличения объема данных.
- Рост затрат на хранение из-за высоких цен на вычисления и хранение
- Жесткое соблюдение схемы, что усложняло интеграцию полуструктурированных или неструктурированных данных
- Ограниченная поддержка рабочих нагрузок ИИ и машинного обучения
В качестве решения компании начали использовать озера данных. Это позволило бизнесу сохранять сырые данные, структурированные данные и неструктурированные данные в недорогом хранилище, таком как Amazon S3, Azure Data Lake Storage, Google Cloud Storage и Hadoop Distributed File System.
Преимущества озер данных включали следующие факторы:
- Снижение затрат на хранение в определенных облачных средах
- Использование новых форматов данных, таких как неструктурированные, полуструктурированные и даже структурированные данные
- Увеличение использования приложений ИИ и машинного обучения
Даже с этими преимуществами озера данных представили новые проблемы, такие как:
- Отсутствие управления и схемы, что привело к несогласованным наборам данных.
- Неэффективное использование индексации и полного сканирования таблиц сделало производительность запросов медленнее.
- Отсутствие ACID-транзакций сделало обеспечение целостности данных в многопользовательских средах затруднительным.
Появление Data Lakehouse
Data Lakehouse объединяет все масштабируемые и экономические преимущества Data Lake с производительностью, надежностью и транзакционными функциями хранилища данных. Это современная парадигма дизайна.
Основные преимущества Data Lakehouse включают:
- Возможность размещения как функций хранения, так и обработки по более низкой цене
- Эффективное управление данными через ACID-транзакции
- Изменение схемы без влияния на существующие запросы – эволюция схемы
- Получение предыдущих версий таблицы с помощью возможностей Time Travel
Внедрение этих возможностей привело к развитию современных форматов таблиц, таких как Delta Lake, Apache Hudi и Apache Iceberg. Эти структуры облегчили работу Data Lake как хранилищ данных, сохраняя при этом гибкость и неструктурированность благодаря внедрению структурированных метаданных. Среди этих форматов таблиц Apache Iceberg выделяется как ведущий выбор, предлагая надежное решение для организаций, стремящихся перейти к архитектурам Data Lakehouse.
Apache Iceberg: революционное решение для Data Lakehouses
Что такое формат таблицы?
Использование табличного формата предоставляет способ эффективно управлять большими объемами информации, хранящейся в озере данных. Он включает в себя несколько функций, включая:
- Структурирование данных в таблицы для эффективного управления и запросов.
- Эффективное удаление и обновление данных, а также изменение схем.
- Улучшение производительности времени отклика на запросы за счет изменения метаданных.
Как и в других традиционных табличных форматах, таких как Hive, была зависимость от хранилища, основанного на директориях, что означало, что таблицы строились из содержимого определенных директорий файлов. Однако этот метод создавал узкое место в производительности, так как движки запросов должны были фильтровать целые директории перед выполнением запроса.
Эволюция от Hive к Iceberg
Формат таблиц Hive стремился решить проблему структурирования озер данных в первые годы. Цель заключалась в том, чтобы позволить пользователям организовывать наборы данных в таблицы с запросами, такими как те, что используются в SQL с Apache Hive и Presto. Однако у формата Hive есть значительные недостатки:
- Несоответствия из-за одновременных записей из различных источников из-за отсутствия транзакций ACID.
- Дорогие операции по перечислению файлов, выполняемые из-за неэффективного управления метаданными.
- Медленные запросы, вызванные проблемами ручной оптимизации разбиения.
Как Apache Iceberg решает эти проблемы
Apache Iceberg — это современный формат таблиц, который устраняет проблемы, возникающие с Hive, обеспечивая при этом ACID-транзакции, эволюцию схем и быструю производительность запросов в хранилищах данных.
Среди важных преимуществ Apache Iceberg:
- ACID-транзакции, которые гарантируют надежные обновления данных и согласованность.
- Возможность путешествовать во времени и запрашивать исторические снимки данных.
- Эволюция схемы, позволяющая добавлять, переименовывать или удалять столбцы без нарушения существующих запросов.
- Эволюция партиций, которая автоматически оптимизирует стратегии партиционирования.
- Сокращение ненужных сканирований файлов позволяет ускорить выполнение запросов благодаря эффективному управлению метаданными.
Заключительные замечания
Управление данными кардинально изменилось с появлением Apache Iceberg. Он позволяет компаниям, переходящим на подход lakehouse, эффективно управлять своей информацией с точки зрения затрат и высокой масштабируемости, не жертвуя производительностью. Очевидно, что аналитика была преобразована с изобретением Apache Iceberg, и его использование постоянно растет. Следите за финальным постом этой серии. В следующих двух блогах внимание будет сосредоточено на:
- Часть 2: Архитектура Apache Iceberg, включая уровни данных, метаданных и каталога.
- Часть 3: Механизмы запросов в Iceberg, включая чтение и запись, путешествия во времени и методы оптимизации запросов.
Source:
https://dzone.com/articles/the-future-of-data-lakehouses-apache-iceberg