Когда Дорис встречает айсберг: Искупление инженера данных

Пробуждение посреди ночи из-за ошибки в данных снова, вы когда-нибудь мечтали об идеальном мире данных, где запросы выполняются за секунды, данные никогда не теряются, а затраты настолько низки, что ваш босс улыбается? Звучит как мечта? Нет! Это становится реальностью.

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

Но сейчас эти проблемы переписываются. 

Комбинация Apache Doris и Iceberg переопределяет работу с озерами данных. Это не просто простое 1+1=2; это приносит качественный скачок: запросы на уровне секунд, безшовную эволюцию схемы и гарантии подлинной согласованности данных.

Совершенная Симфония Doris и Iceberg

В области инженерии данных мы часто сталкиваемся с такими проблемами:

Сяо Чжан работает над требованием по анализу данных, требующим анализа данных о поведении пользователей за последние три месяца. Данные разбросаны по хранилищам данных Hive, бизнес-базам данных и объектным хранилищам. Производительность кросс-источникового Join плохая, запросы занимают более 40 минут, и часто возникает несогласованность данных.

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

Эти проблемы стали более острой с взрывным ростом данных. Традиционное разделение хранилищ данных и “озер данных” больше не может удовлетворить потребности.

К счастью, в версии 2.1 архитектура lakehouse Apache Doris была значительно улучшена. Она не только улучшает возможности чтения и записи основных форматов “озер данных” (Hudi, Iceberg, Paimon и т. д.), но также вводит совместимость с множеством диалектов SQL, позволяя бесшовно переключаться с существующих систем на Apache Doris. В сфере науки о данных и сценариях чтения данных большого объема Doris интегрирует высокоскоростной интерфейс чтения Arrow Flight, достигая улучшения эффективности передачи данных в 100 раз.

Таким образом, Сяо Чжан решил использовать Doris + Iceberg для своего выкупа.

Apache Doris обеспечивает нативную поддержку многих основных функций Iceberg:

  • Поддерживает различные типы каталогов Iceberg, такие как Hive Metastore, Hadoop, REST, Glue, Google Dataproc Metastore и DLF.
  • Нативно поддерживает форматы таблиц Iceberg V1/V2, а также чтение файлов Position Delete и Equality Delete.
  • Поддерживает запросы истории снимков таблицы Iceberg с помощью функций таблицы.
  • Поддерживает функционал “путешествия во времени”.
  • Поддерживает нативный движок таблиц Iceberg. Apache Doris может напрямую создавать, управлять и записывать данные в таблицы Iceberg. Он поддерживает полный набор функций преобразования разделов, обеспечивая возможности, такие как скрытые разделы и эволюция макета разделов.

Кроме того, в версии 2.1.6 Doris принес значительное обновление Doris + Iceberg:

Apache Doris поддерживает операции DDL и DML в Iceberg. Пользователи могут непосредственно создавать базы данных и таблицы в Iceberg через Apache Doris и записывать данные в таблицы Iceberg.

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

Таким образом, Сяо Чжан может быстро построить эффективное решение озерной платформы на основе Apache Doris + Apache Iceberg для гибкого удовлетворения различных потребностей в области анализа и обработки данных в реальном времени:

  • Используйте высокопроизводительный движок запросов Doris для объединения и анализа данных из таблиц Iceberg и других источников данных, создавая унифицированную федеративную платформу для анализа данных.
  • Непосредственно управляйте и создавайте таблицы Iceberg в Doris, очищайте и обрабатывайте данные, записывайте их в таблицы Iceberg, создавая унифицированную платформу обработки данных озерного типа.
  • Делитесь данными Doris с другими системами вверхнего и нижнего уровней для дальнейшей обработки через движок таблиц Iceberg, создавая унифицированную открытую платформу хранения данных.

Это уже не простое поверхностное интегрирование, а глубокое слияние архитектур озерных платформ!

Практическое резюме по работе с Doris и Iceberg

После серии взлетов и падений в исследованиях и практике, Сяо Чжан суммировал некоторый практический опыт работы с Doris + Iceberg:

Управление интеллектуальными метаданными

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

Doris + Iceberg предоставляют унифицированный уровень управления метаданными:

Эта архитектура приносит несколько ключевых ценностей:

  1. Бесшовная эволюция схемы: Изменения структуры таблиц больше не требуют простоев. Doris + Iceberg поддерживает добавление, удаление и изменение полей, а также настройку методов разделения.
  2. Управление версиями данных: Через механизм снимков Iceberg вы можете вернуться к состоянию данных в любой момент времени.
  3. Унифицированный каталог сервисов: Поддерживает различные типы каталогов Iceberg, такие как Hive Metastore, Hadoop, REST, Glue, Google Dataproc Metastore и DLF, без проблем интегрирующиеся с существующей инфраструктурой.

Теперь Сяо Чжан может завершать изменения схемы одним оператором ALTER TABLE. Система автоматически обрабатывает совместимость, и последующие приложения остаются неосведомленными об изменениях.

Эффективная организация данных

Дорис инновационно сочетает движок MPP с методами организации данных Iceberg:

SQL

 

Этот SQL-запрос скрывает мощные технические механизмы:

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

Благодаря поддержке Doris DDL и DML операций на Iceberg, также полностью решаются проблемы согласованности данных.

Управление операциями и обслуживанием

Для обеспечения стабильности платформы данных Сяо Чжан использует следующие методы мониторинга и управления таблицами Iceberg:

SQL

 

Этот инструментарий предоставляет:

  • Мониторинг метрик: Управление статусом таблицы в реальном времени и метриками снимков.
  • Управление снимками: Очистка истекших снимков для освобождения места на носителе.
  • Восстановление отказа: Поддерживает откат к любой исторической версии (чтение данных исторической версии на основе идентификатора снимка или времени создания снимка).

Благодаря этим практикам платформа данных Сяо Чжана на основе Doris + Iceberg достигла новых высот:

  • Производительность запросов улучшилась на 300%.
  • Снижение затрат на хранение на 40%.
  • Эффективность операций и обслуживания увеличилась на 200%.

Захватывающее путешествие к домику на озере Дорис никогда не заканчивается.

Следите за более интересным, полезным и ценным контентом в следующем выпуске!

Source:
https://dzone.com/articles/when-doris-meets-iceberg