BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс Современная архитектура хранилища данных » Освоение формата открытых таблиц: подробное руководство по Apache Iceberg, Hudi и Delta Lake

Освоение формата открытых таблиц: подробное руководство по Apache Iceberg, Hudi и Delta Lake

Раскрытие широких возможностей форматов открытых таблиц: Apache Iceberg, Hudi и Delta Lake специально  для масштабируемого и надежного управления данными

 

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

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

 

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

Открытые таблицы - это системы управления большими массивами данных в распределенных хранилищах, обеспечивающие уровень абстракции, позволяющий осуществлять транзакции, эволюцию схем и эффективное управление данными. Они располагаются поверх данных, хранящихся в облачных объектных хранилищах, таких как Amazon S3, Google Cloud Storage или Hadoop Distributed File System (HDFS). Вместо того чтобы просто хранить файлы и каталоги, эти форматы вводят такие понятия, как таблицы, схемы и разделы, что упрощает запросы и управление данными.

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

Предлагаю рассмотреть три основных формата открытых таблиц:

  • Apache Iceberg (Apache Foundation)
  • Apache Hudi (Apache Foundation)
  • Delta Lake (Linux Foundation)

 

 

Почему именно формат открытых таблиц?

Хотя традиционные озера данных идеально подходят для хранения неструктурированных данных, у них есть ряд серьезных недостатков:

  • Отсутствие ACID-транзакций: Традиционные озера данных не поддерживают транзакции, что приводит к повреждению данных и непоследовательным чтениям, когда несколько заданий обращаются к одним и тем же данным.
  • Управление схемами: По мере эволюции данных меняются схемы. Озера данных не поддерживают эволюцию схем, что затрудняет внесение изменений без обширной переработки.
  • Производительность: Запрос данных, хранящихся в необработанных форматах, таких как CSV, Parquet или ORC, часто приводит к неоптимальной производительности, особенно если данные распределены по разным разделам.

 

Для решения этих задач был введен формат открытых таблиц, обладающий следующими характеристиками:

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

 

1. Apache Iceberg

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

 

Ключевые характеристики:

  • ACID Транзакции: Обеспечивает целостность данных с помощью атомарных операций.
  • Эволюция разделов: Поддерживает изменение стратегий разбиения без переписывания всего набора данных.
  • Эволюция схемы: Позволяет добавлять, удалять или обновлять столбцы без необходимости переписывать данные.
  • Скрытое разбиение: Автоматически оптимизирует разбиение на разделы для повышения производительности, не обременяя пользователей ручным определением разделов.
  • Путешествие во времени: Позволяет пользователям получать доступ к предыдущим версиям таблицы для отладки или аудита.

 

Iceberg использует подход, основанный на манифестах, где каждый снимок таблицы указывает на описание файлов данных. Это позволяет Iceberg управлять изменениями, не требуя постоянной перезаписи.

 

Дополнительная литература для более глубокого изучения Iceberg:

  • Официальная документация
  • Интеграция с Apache Spark
  • Чтения дельта-таблиц из клиента Iceberg  (для Databricks)
  • Интеграция со Snowflake

 

Примеры использования из реальной жизни:

  • Крупномасштабные озера данных: Идеально подходит для организаций, работающих с огромными массивами данных, таких как компании, занимающиеся потоковой передачей медиаданных, например Netflix. Масштабируемость Apache Iceberg и функции эволюции разделов делают его подходящим для управления и запроса больших объемов структурированных и полуструктурированных данных. Согласно технологическому блогу Netflix, Iceberg был разработан с учетом всех уникальных требований их хранилища данных, поддерживая масштабируемость и оптимизированный доступ к данным для крупномасштабной аналитики.

 

  • Сценарии высокой надежности: Подходит для приложений, требующих строгой целостности и непротиворечивости данных, с поддержкой транзакций ACID. Транзакционные возможности Iceberg обеспечивают надежное обновление и последовательное чтение данных, что делает его идеальным для отраслей с нормативными требованиями и требованиями к соответствию данных, таких как финансы или здравоохранение. «Поддержка транзакций ACID и эволюция схемы в Iceberg позволяет компаниям обеспечивать согласованность и целостность данных в самых сложных средах», - подчеркивается в официальной документации Apache Iceberg .

 

  • Масштабируемое долговременное хранилище с управлением: Лучше всего подходит для сред, требующих одновременно масштабируемости и надежного управления данными, таких как электронная коммерция или розничная торговля. Поддержка эволюции схем и разделов Iceberg позволяет организациям адаптироваться к изменяющимся требованиям к данным без дорогостоящего переписывания, обеспечивая эффективное управление данными в соответствии с требованиями времени. В блоге AWS Big Data Blog отмечается, что структура Iceberg делает его совместимым с S3 и другими облачными хранилищами, обеспечивая гибкость для компаний, управляющих  данными в гибридных облачных средах.

 

2. Apache Hudi

Apache Hudi (Hadoop Upsert Delete and Incremental) был создан  компанией Uber для поддержки быстро меняющихся данных с инкрементными потоками данных. Он в значительной степени ориентирован на случаи использования, связанные с обновлениями с низкой задержкой и транзакционными данными, что делает его отличным выбором для сред, в которых данные постоянно меняются, например, в потоковой передаче или аналитике в режиме реального времени.

 

Ключевые характеристики:

  • Upsert и Delete: Поддерживает обновление и удаление записей без необходимости переписывать целые разделы.
  • Инкрементные запросы: Обеспечивает поддержку запросов только к тем данным, которые изменились с момента последнего запроса (инкрементные запросы), что позволяет сократить объем данных, которые необходимо прочитать.
  • ACID-транзакции: Как и Iceberg, Hudi поддерживает ACID-транзакции, гарантирующие согласованность данных.
  • Индексирование: Hudi строит индексы, чтобы ускорить процесс поиска записей при вставке или удалении.

 

Типы таблиц Hudi:

  • Copy-on-Write (COW): Режим по умолчанию, при котором обновления записываются в новые файлы Parquet.
  • Merge-on-Read (MOR): Данные сначала записываются в файлы журнала, а затем лениво объединяются при чтении.

 

Дополнительная литература для более глубокого изучения Hudi:

  • Cтруктура и концепты Hudi  (стек Hudi)
  • Быстрое начало работы с Apache Spark  или интеграция Apache Spark с Hudi
  • Быстрое начало работы с Apache Flink  или интеграция  Apache Flink с Hudi

 

Примеры использования из реальной жизни:

  • Получение и обработка данных в режиме реального времени: Apache Hudi разработан для сценариев, в которых данные постоянно меняются и должны обновляться практически в режиме реального времени. «Hudi предлагает уникальный подход к управлению и обработке данных в реальном времени, особенно подходящий для высокоскоростных конвейеров данных», - говорится в блоге Uber.

 

  • Инкрементные пайплайны: Благодаря способности Hudi отслеживать и обрабатывать только изменения в данных (инкрементные запросы), это оптимальный выбор для инкрементных рабочих процессов ETL (Extract, Transform, Load). Как объясняется в документации проекта Apache Hudi, «инкрементные запросы позволяют более эффективно обрабатывать данные, фокусируясь только на обновленных записях, что значительно сокращает объемы чтения при работе с озерами данных». (документация Аpache Hudi).

 

  • Частые Upsert и Delete: Для таких отраслей, как логистика и финансы, где записи нуждаются в постоянном обновлении, функциональность upsert в Hudi имеет очень большое значение. «Способность добавлять записи без необходимости переписывания целых разделов делает Hudi отличным вариантом для сред, нуждающихся в частых обновлениях», - говорится в статье Uber, посвященной теме создания крупного транзакционного озера данных, где обсуждается эффективность Hudi в управлении изменчивыми данными в озерах данных.

 

3. Delta Lake

Разработанный компанией Databricks, Delta Lake - это проект с открытым исходным кодом, который обеспечивает надежность озер данных, добавляя поддержку транзакций ACID и управление схемами поверх Apache Spark и облачных решений для хранения данных. Delta Lake ориентирован на обеспечение надежных, масштабируемых конвейеров данных с акцентом на высокую производительность.

 

Ключевые характеристики:

  • ACID Транзакции: Delta Lake поддерживает ACID транзакции, обеспечивая надежную запись пакетных и потоковых данных. Вот замечательная статья, посвященная ACID транзакциям, проводимым с помощью Delta Lake.
  • Применение и эволюция схемы: Delta обеспечивает соблюдение схемы во время записи, гарантируя, что записываются только данные, соответствующие схеме. Кроме того, она позволяет эволюционировать схему, облегчая добавление или изменение полей с течением времени.
  • Путешествие во времени: Как и Iceberg, Delta Lake поддерживает запросы к предыдущим версиям данных, что облегчает аудит и отладку.
  • Унифицированная пакетная и потоковая обработка: Delta Lake позволяет обрабатывать пакетные и потоковые данные в одном конвейере, унифицируя эти два типа обработки.
  • Z-упорядочивание: Для повышения производительности запросов Delta Lake поддерживает оптимизацию расположения данных с помощью Z-упорядочивания, что обеспечивает эффективный доступ к часто запрашиваемым столбцам.

 

Примеры использования из реальной жизни:

  • Высокопроизводительные озера данных для аналитики: Функции оптимизации Delta Lake, такие как Z-упорядочивание и оптимизация расположения данных, значительно повышают производительность запросов, что делает их идеальными для приложений, ориентированных на аналитику. Например, Adobe Experience Platform использует Delta Lake для управления петабайтами данных, обеспечивая эффективную обработку данных и аналитику. Delta

 

  • Масштабируемые конвейеры данных: Delta Lake поддерживает как пакетные, так и потоковые данные в едином конвейере, позволяя организациям беспрепятственно обрабатывать большие массивы данных. Команда T-Mobile по науке о данных и аналитике перешла на архитектуру на базе Delta Lake, чтобы справиться с возросшими объемами и сложностью данных, что привело к улучшению масштабируемости и производительности. Delta

 

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

 

Дополнительная литература для более глубокого изучения Delta:

  • Начало работы с форматом Delta Lake  (по умолчанию - с Apache Spark)
  • Операции CRUD с помощью Delta Lake в Databricks
  • Дополнительные учебные материалы

 

Сравнение: Iceberg vs. Hudi vs. Delta Lake

 

Заключение

Форматы открытых таблиц, такие как Apache Iceberg, Apache Hudi и Delta Lake, представляют собой будущее управления данными в облаке. Предоставляя инструменты, необходимые для управления большими массивами данных с ACID-транзакциями, эволюцией схем и перемещением во времени, они обеспечивают улучшение структуры и производительности озер данных. Каждая система разработана с учетом конкретных сценариев использования, выбор формата зависит от конкретных потребностей каждой организации.

Если Вам нужна масштабируемость с богатыми возможностями управления, идеальным вариантом может стать Iceberg. Если Вы хотите обрабатывать данные в реальном времени с помощью инкрементных запросов, то выберите Hudi. А если Вы создаете высокопроизводительный пайплайн для аналитики с помощью Spark, то Delta Lake - это именно Ваш вариант.

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

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Data Lakehouse: построение Data Lake нового поколения с помощью Apache Hudi
Следующая статья →
Apache Hudi в AWS Glue
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • Компания ООО "Комус" - один из лидеров российского рынка оптовых продаж офисных товаров и техники. Компания поставляет широкий ассортимент продукции - от канцелярских принадлежностей до компьютерной техники и офисной мебели.

  • ООО "Уральская транспортная компания" — это транспортно-логистическая компания, специализирующаяся на железнодорожных перевозках грузов, создана в 2009 году.

  • Нашей компанией был реализован проект автоматизации конвейера данных на базе СПО ETL-инструмента Apache NiFi для клиента ООО «Императорский Монетный Двор» в части актуализации данных, передаваемых из Системы Oracle в Anaplan.

  • "Уральский банк реконструкции и развития" входит в топ-25 крупнейших банков России и список значимых кредитных организаций на рынке платежных услуг по версии ЦБ РФ.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.