Будущее озер данных: Объяснение Apache Iceberg

Мы знаем, что управление данными сегодня полностью меняется. На протяжении десятилетий бизнес полагался на хранилища данных, которые хранили информацию в соответствующем формате. Они структурированы, регулируются и быстро извлекают информацию, хотя являются дорогостоящими и жесткими по своей природе. В отличие от этого, data lake (озеро данных) более эффективен и позволяет хранить огромные объемы данных независимо от их структуры. Тем не менее, появление архитектуры data lakehouse объединяет преимущества озер данных и хранилищ данных. Модели lakehouse сохраняют гибкость, предоставляемую озерами данных, одновременно интегрируя надежность, управление и производительность хранилища данных.

Самый заметный формат таблицы с открытым исходным кодом, созданный для анализа данных в масштабе, – это Apache Iceberg. Iceberg находится на передовой этого преобразования и повышает ценность данных в архитектуре lakehouse. Кроме того, Iceberg предоставляет решения для многих проблем, с которыми сталкиваются озера данных, включая эволюцию схемы, ACID-транзакции, согласованность данных и производительность запросов. 

Этот блог-пост является первой частью серии из трех, посвященной изучению Apache Iceberg и его роли в современных архитектурах данных. В этом посте фокус будет сосредоточен на следующих темах:

  1. Эволюция от хранилищ данных к озерам данных
  2. Проблемы, связанные с традиционными подходами
  3. Как Apache Iceberg решает эти ограничения

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

Краткое резюме: Эволюция озер данных от хранилищ данных

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

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

  1. Рост затрат на хранение из-за высоких цен на вычисления и хранение
  2. Жесткое соблюдение схемы, что усложняло интеграцию полуструктурированных или неструктурированных данных
  3. Ограниченная поддержка рабочих нагрузок ИИ и машинного обучения

В качестве решения компании начали использовать озера данных. Это позволило бизнесу сохранять сырые данные, структурированные данные и неструктурированные данные в недорогом хранилище, таком как Amazon S3, Azure Data Lake Storage, Google Cloud Storage и Hadoop Distributed File System.

Преимущества озер данных включали следующие факторы:

  1. Снижение затрат на хранение в определенных облачных средах
  2. Использование новых форматов данных, таких как неструктурированные, полуструктурированные и даже структурированные данные
  3. Увеличение использования приложений ИИ и машинного обучения

Даже с этими преимуществами озера данных представили новые проблемы, такие как:

  1. Отсутствие управления и схемы, что привело к несогласованным наборам данных.
  2. Неэффективное использование индексации и полного сканирования таблиц сделало производительность запросов медленнее.
  3. Отсутствие ACID-транзакций сделало обеспечение целостности данных в многопользовательских средах затруднительным.

Появление Data Lakehouse

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

Основные преимущества Data Lakehouse включают:

  1. Возможность размещения как функций хранения, так и обработки по более низкой цене
  2. Эффективное управление данными через ACID-транзакции
  3. Изменение схемы без влияния на существующие запросы – эволюция схемы
  4. Получение предыдущих версий таблицы с помощью возможностей Time Travel

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

Apache Iceberg: революционное решение для Data Lakehouses

Что такое формат таблицы?

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

  1. Структурирование данных в таблицы для эффективного управления и запросов.
  2. Эффективное удаление и обновление данных, а также изменение схем.
  3. Улучшение производительности времени отклика на запросы за счет изменения метаданных.

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

Эволюция от Hive к Iceberg

Формат таблиц Hive стремился решить проблему структурирования озер данных в первые годы. Цель заключалась в том, чтобы позволить пользователям организовывать наборы данных в таблицы с запросами, такими как те, что используются в SQL с Apache Hive и Presto. Однако у формата Hive есть значительные недостатки:

  1. Несоответствия из-за одновременных записей из различных источников из-за отсутствия транзакций ACID.
  2. Дорогие операции по перечислению файлов, выполняемые из-за неэффективного управления метаданными.
  3. Медленные запросы, вызванные проблемами ручной оптимизации разбиения.

Как Apache Iceberg решает эти проблемы

Apache Iceberg — это современный формат таблиц, который устраняет проблемы, возникающие с Hive, обеспечивая при этом ACID-транзакции, эволюцию схем и быструю производительность запросов в хранилищах данных.

Среди важных преимуществ Apache Iceberg:

  1. ACID-транзакции, которые гарантируют надежные обновления данных и согласованность.
  2. Возможность путешествовать во времени и запрашивать исторические снимки данных.
  3. Эволюция схемы, позволяющая добавлять, переименовывать или удалять столбцы без нарушения существующих запросов.
  4. Эволюция партиций, которая автоматически оптимизирует стратегии партиционирования.
  5. Сокращение ненужных сканирований файлов позволяет ускорить выполнение запросов благодаря эффективному управлению метаданными.

Заключительные замечания

Управление данными кардинально изменилось с появлением Apache Iceberg. Он позволяет компаниям, переходящим на подход lakehouse, эффективно управлять своей информацией с точки зрения затрат и высокой масштабируемости, не жертвуя производительностью. Очевидно, что аналитика была преобразована с изобретением Apache Iceberg, и его использование постоянно растет. Следите за финальным постом этой серии. В следующих двух блогах внимание будет сосредоточено на:

  • Часть 2: Архитектура Apache Iceberg, включая уровни данных, метаданных и каталога.
  • Часть 3: Механизмы запросов в Iceberg, включая чтение и запись, путешествия во времени и методы оптимизации запросов.

Source:
https://dzone.com/articles/the-future-of-data-lakehouses-apache-iceberg