TGViewer
Data Engineering Digest Data Engineering Digest @dataengineeringdigest · 1.17K subscribers
Post #42 3.2K
✨ Валентин Пановский — Миграция на Iceberg: как кролик съел зеленую сливу и не умер

Сложность: 1/3 (Интересная историческая справка в начале , нет сложного кода, в который необходимо вникнуть. Докладчик рассказывает понятным и доступным языком)

https://www.youtube.com/watch?v=YWD7WcfFfk8

Валентин Пановский поделился опытом миграции с монолитного Greenplum на разделенную Lakehouse-архитектуру с Iceberg в страховой компании.

🔍 Проблемы старой системы

Монолитная DWH на Greenplum:
Высокая стоимость (лицензии + оборудование)
Сложности с масштабированием
Ограниченная гибкость для аналитиков
Гетерогенная среда:
50-70 ТБ данных за 4 года
Разные источники: MongoDB, Kafka, классические БД
🚀 Выбор новой архитектуры

Требования:
✔️ Разделение storage/compute
✔️ Open Source решения
✔️ Снижение TCO (полная окупаемость к 2025)

Выбранный стек:

Хранение: S3 (Яндекс.Облако) + Iceberg
Compute: Trino (основной) + Greenplum (легаси)
Оркестрация: Dagster + dbt
Каталог: OpenMetadata
⚙️ Реализация

1️⃣ Миграция данных:

Таблицы переносились "в лоб" через Airflow. Самая большая таблица - до 60 ГБ).
Основной объем — инкрементально (T+1)
2️⃣ Слои данных:

Raw → ODS → DDS → Витрины
Исторические данные: срезы раз в неделю + архив (6 месяцев)
3️⃣ Интеграции:

MongoDB: CDC через Debezium → Kafka → Greenplum (PXF)
Trino: Нативные коннекторы (проще чем в GP)
🛠 Проблемы и решения

Деградация JOIN-ов: До 27% в не-OLAP сценариях
Кастомные типы данных: Обработка на ETL-уровне
Хранимые процедуры: Пришлось переписывать витрины
Безопасность: Реализована через Trino + Keycloak
📊 Результаты

✅ Экономия:

Снижение затрат на лицензии и оборудование
Хранение в 10+ раз дешевле
✅ Гибкость:

Разные движки (Trino/GP) работают с одними данными
Легкое масштабирование в Kubernetes
🔮 Планы

Переход с HMS на Nessie (branch-поддержка)
Внедрение Data Vault вместо 3NF
Автоскейлинг Trino на основе метрик

🤔 Ответы на вопросы

Q: Как настраивали ИБ?
A: Вопросы изоляции и безопасности решались на уровне trino через системы аутентификации и политик доступа.

Q: Как решали проблему неконсистентных типов?
A: На ETL-уровне. MongoDB оставили как есть (легаси)

Q: Почему Parquet, а не ORC?
A: Лучшая производительность в наших тестах

Q: FTE не пробовали?
A: Нет, проще перезапускать (макс. запрос — 45 мин)

Q: Используете ли динамическое партиционирование?
A: Пока в бэклоге

💡 Вывод:
Миграция на Iceberg — сложный, но окупаемый процесс. Главные плюсы: гибкость, экономия и возможность использовать лучшие инструменты для разных задач.
YouTube Валентин Пановский — Как кролик съел зеленую сливу и не умер: сказ о миграции на Iceberg Подробнее о конференции SmartData: https://jrg.su/aTWU2K — — Скачать презентацию с сайта SmartData — https://jrg.su/t0xTmS Спикер рассказал о процессе миграции DWH из состояния AS IS (Greenplum) в целевое состояние TO BE (Trino, Iceberg REST Catalog, Object…
  • 🔥 13
  • 👍 8
  • ❤ 4
More from @dataengineeringdigest
  1. Oct 10, 2026✨ Сергей Харитонов — Физиология лидерства: как тимлиду оставаться в ресурсе Сложность: 1/3…
  2. Oct 1, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  3. Oct 1, 2026Прошу простить, уже долгое время не могу выделить время на полноценный пост о интересных д…
  4. Sep 23, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  5. Sep 6, 2026Ещё один доклад из которого не получился пост по причине того, что админ очень не любит sp…
  6. Sep 5, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →