Веб-версияОткрыть в Telegram

Пост✨ Иван Клименко (Arenadata) — CDC в банке от источника до хранилища с применением продуктов Arenadata

23 марта 2025
D
Data Engineering Digest
Ссылка
нажмите — покажем
✨ Иван Клименко (Arenadata) — CDC в банке от источника до хранилища с применением продуктов Arenadata Ссылка на выступление: https://youtu.be/nfZdDzr_Y_Y?si=l69ZPYfI0_j5souJ Или https://vk.com/video-147464741_456239459 Сложность: 1/3 (уверен, будет понятно, даже если не знаете, что такое CDC) Кому будет интересно: • Всем DE. Отличный кейс внедрения cdc. Иван Клименко рассказал о внедрении CDC (Change Data Capture) в банке Синара с использованием продуктов Arenadata. Основной фокус был на оптимизации загрузки данных из операционных баз в Greenplum. 🔍 Основные моменты: 1️⃣ Что такое CDC: • CDC отслеживает изменения в базе данных (например, Oracle) и переносит их в целевые системы (Greenplum). • Используется для инкрементальной загрузки данных, что позволяет избежать полной перезагрузки таблиц. • Debezium был выбран как оптимальное решение благодаря гибкости, поддержке. Все использованные решения - open source или входят в Arenadata. 2️⃣ Проблемы до внедрения CDC: • Данные загружались напрямую через PXF, что вызывало проблемы с большими таблицами и не укладывалось в SLA. • Ежедневная перезагрузка больших таблиц без инкрементальных полей была неэффективной. 3️⃣ Архитектура решения: • Используется экосистема Arenadata Streaming: Kafka, Nifi и Greenplum. • Данные из Oracle через Debezium попадают в Kafka, затем преобразуются и загружаются в Greenplum. 4️⃣ Оптимизация пайплайна: • Переход на бинарный формат Avro вместо JSON для уменьшения объема данных. • Разделение процесса на два независимых потока для улучшения производительности. • Использование JOLT Transform для приведения данных к плоскому виду. 5️⃣ Производительность: • Прирост производительности на исторических данных более чем в 100 раз. • Загрузка таблицы с 1,6 миллиардами записей занимает менее 10 минут. • Debezium увеличил нагрузку на Oracle на 7-10% в пиковые дни. 6️⃣ Работа с Greenplum: • Данные из Kafka загружаются в Greenplum через внешние таблицы и коннектор Kafka2ADB. Конечные витрины сгружаются в Kafka с помощью ADB2kafka коннектора. • Для минимизации нагрузки на мастер-ноду используется рандомное распределение данных между сегментами и количество партиций в Кафка, кратное количеству сегментов в GP. • Рекомендуется удалять или архивировать сырые данные. 7️⃣ Первичная загрузка: • Первичная загрузка данных осуществляется через PXF, что позволяет избежать проблем с локализацией таблиц и схем. • Возможны дубли данных, но система умеет с ними работать. 💡 Плюсы решения: • Инкрементальная загрузка: Уменьшает время загрузки и нагрузку на источники данных. • Масштабируемость: Использование Kafka и Greenplum позволяет эффективно распределять данные. • Производительность: Значительное ускорение загрузки и обработки данных. ⚠️ Минусы и ограничения: • Нагрузка на источники: Debezium незначительно увеличивает нагрузку на операционные базы данных и требует обсуждений с ИБ и инфраструктурой. • Сложность настройки: Требуется тщательная настройка коннекторов и пайплайнов. 📌 Ответы на вопросы: 1️⃣ Использование коннекторов Confluent и их безопасность: • Используются только библиотеки, выложенные под лицензией Apache. Платные решения Confluent не применяются. Все использованные решения open source или входят в поставки Arenadata. 2️⃣ Почему не использовали Oracle для хранилища? • Решение связано с политикой импортозамещения. 3️⃣ Как распределяются данные между сегментами в Greenplum при загрузке из Kafka? • Рекомендуется использовать рандомное распределение, чтобы данные из партиций Kafka сразу попадали на свои сегменты. В противном случае потребуется редистрибуция. Количество партиций в Кафка должно быть кратно количеству сегментов в GP. 4️⃣ Производительность коннектора Kafka: • За 15 секунд считывается около миллиона записей в формате JSON. 5️⃣ Первичная загрузка через PXF: • Включается Debezium, данные загружаются через PXF. Возможны дубли, но система умеет с ними работать. 📌 Выводы: Внедрение CDC с использованием Debezium, Kafka и Greenplum позволило значительно улучшить процесс загрузки данных.
75 · 2.9K ·

Рядом в ленте

DData Engineering DigestДобавлю комментарий от себя: кажется, что технология безумно крутая, но пока сырая. Документация очень скудная. https://yandex.cloud/ru/docs/managed-greenplum/oDData Engineering Digest✨ Кузьма Лешаков — Разгоним запросы: как быстро готовить ClickHouse Сложность: 1/3 (для тех, кто знаком с Clickhouse) Кому будет интересно: В докладе рассказыва
это сообщение
DData Engineering DigestСкрин архитектуры Data Platform банка из последнего поста. Пожалуйста, делитесь нашими постами с коллегами)DData Engineering Digest✨ Наталья Журавлева — Как быстро запустить каталог данных на примере DataHub Ссылка на выступление: https://youtu.be/nCt4gYVQdqc?si=Fbwab0cQxgMl4g3a или https:/
DData Engineering DigestData Engineering Digest@DataEngineeringDigest · канал · Новости
1 175подписчиков474средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем