home.social

#debezium — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #debezium, aggregated by home.social.

fetched live
  1. Миграция MariaDB → PostgreSQL без даунтайма: почему обычные утилиты не подошли и как мы сделали это через Debezium CDC

    Перед командой, выросшей на MySQL/MariaDB, встаёт вопрос перехода на PostgreSQL: лицензии, экосистема расширений, более предсказуемое поведение при конкурентных нагрузках - причин достаточно. Проблема в другом: как перенести боевую базу, которая не останавливается ни на минуту, без часов простоя и без риска потерять данные, записанные во время переноса. В этой статье - как мы решали эту задачу для интернет-магазина на MariaDB, почему готовые консольные конвертеры не годятся для «живой» миграции, и как выглядит рабочая схема на Debezium + Kafka Connect, включая Ansible-роль для повторяемого запуска.

    habr.com/ru/articles/1061438/

    #mysql #postgresql #devops #debezium #kafka

  2. Как мы ушли от ETL к CDC: выбираем архитектуру real-time аналитики на PostgreSQL, Kafka и ClickHouse. Часть 1

    Все началось с просьбы сделать отчеты в реальном времени. На первый взгляд задача выглядела простой, но довольно быстро выяснилось, что существующая архитектура для этого не подходит. Проект был разбит на множество микросервисов, каждый из которых хранил данные в собственной PostgreSQL-базе. Чтобы строить сквозные отчеты, информацию нужно было где-то объединять. На тот момент аналитика уже работала через ETL: раз в сутки Airflow восстанавливал общую PostgreSQL из ежедневных бекапов, а Redash выполнял запросы уже к ней. Решение было надежным и не требовало нагрузки на production, но для real-time оно не годилось — в лучшем случае отчеты показывали состояние системы на начало дня.

    habr.com/ru/articles/1051760/

    #postgresql #clickhouse #kafka #debezium #cdc #kubernetes #etl #realtime_аналитика #kafka_connect #devops

  3. Тонкости Kafka Connect и Debezium

    Привет! Меня зовут Ильсаф, я инженер данных в MAGNIT OMNI — бизнес-группе ритейлера «Магнит», которая отвечает за развитие омниканального опыта для клиентов. В этой статье я собрал свои практические наблюдения по работе Kafka Connect и Debezium с PostgreSQL: от настройки репликации до мониторинга и бэкфиллинга.

    habr.com/ru/companies/magnit/a

    #kafka #kafka_connect #debezium #cdc #observability

  4. Cказ о том, как мы с Oracle на PostgreSQL переехали

    Привет, Хабр! Меня зовут Даша Александрова, я Java‑разработчик. Хочу поделиться опытом миграции данных из Oracle в PostgreSQL без простоя сервисов. Причина миграции — импортозамещение. Теперь немного про сам проект. В его основе — микросервисная архитектура на Java 11/17 и Spring Boot 2/3. В качестве основной базы данных использовалась Oracle с несколькими схемами. В коде сочетаются нативные SQL‑запросы и Hibernate, вся бизнес‑логика живет на уровне приложения — без процедур, триггеров и другой логики в базе. Идентификаторы генерируются через sequence. Проект активно развивается, регулярно выпускаются релизы. Система ориентирована на клиентские приложения — мобильное и веб, при этом нагрузка остается умеренной и не относится к highload‑сценариям. Ключевое нефункциональное требование — выполнить миграцию без простоя системы и без заметного влияния на пользователей . Может возникнуть логичный вопрос: если такие миграции уже делались не раз, почему просто не взять готовое решение? На практике универсального подхода не существует. Где‑то допустим простой на несколько часов, где‑то — нет. В одних системах хватает простого переноса, в других приходится использовать сложные стратегии вроде двойной записи. Многие статьи подробно разбирают инструменты, но их применение в конкретном проекте — это отдельная инженерная задача. К тому же у каждой системы есть свои ограничения и нюансы. Поэтому дальше я разберу конкретный кейс и те решения, которые были приняли по ходу миграции.

    habr.com/ru/articles/1025336/

    #java #postgresql #debezium #cdc #oracle #kafkaconnect #миграция_базы_данных #миграция_данных

  5. [Перевод] Осваиваем replication slots в Postgres: как предотвратить разрастание WAL и другие проблемы в продакшене

    Логическая репликация в Postgres редко ломает прод внезапно — чаще она долго и методично копит проблему, пока replication slot удерживает всё больше WAL, потребитель отстаёт, а свободное место на диске начинает таять. В этой статье разбирается именно такая зона риска: как устроена работа replication slots, почему одних базовых настроек здесь недостаточно и какие практики реально помогают держать под контролем WAL, публикации, heartbeats, failover и мониторинг. Материал особенно полезен тем, кто работает с CDC, Debezium и production-инстансами Postgres, где цена ошибки измеряется уже не теорией, а стабильностью системы. Разбор PostgreSQL

    habr.com/ru/companies/otus/art

    #PostgreSQL #replication_slots #логическая_репликация #WAL #CDC #Debezium #pgoutput #failover #мониторинг_Postgres

  6. Геораспределенное резервирование Postgres при помощи Debezium

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

    habr.com/ru/companies/oleg-bun

    #highload #PostgreSQL #базы_данных #высоконагруженные_системы #Debezium #хранение_данных #Kafka #релоцирование

  7. Vandaag #Debezium-corvee. Deze logical replication tool pompt op basis van events data over vanuit twee databases naar een derde. Alle databases worden binnen #Rancher als 1 master en 2 slaves in #pods ondergebracht. #Kubernetes brengt die naar eigen inzicht down en daarna weer up. Het correcte replication slot, op basis waarvan Debezium onthoudt waar hij gebleven was, wordt zo bij wijze van balletje-balletje heen en weer geschoven en hij blijkt dan steeds onder het verkeerde bekertje te kijken.

  8. Note to self: do not kill a postgres process running ALTER TABLE in a throwaway database thinking it was the application while running pg_upgrade. It was pg_upgrade, not the app.

    The "quick" rollback worked in terms of service (9 minutes of downtime) but it was an operational nightmare:

    - outdated internal documentation
    - very long Ansible loops
    - unexpected errors when starting Debezium connectors that were stopped (why "stop/resume" and not "stop/start"?)
    - pg_basebackup error: could not read COPY data: server closed the connection unexpectedly

    And you, how's your week so far?

    #postgresql #debezium #pg_upgrade #ansible

  9. Note to self: do not kill a postgres process running ALTER TABLE in a throwaway database thinking it was the application while running pg_upgrade. It was pg_upgrade, not the app.

    The "quick" rollback worked in terms of service (9 minutes of downtime) but it was an operational nightmare:

    - outdated internal documentation
    - very long Ansible loops
    - unexpected errors when starting Debezium connectors that were stopped (why "stop/resume" and not "stop/start"?)
    - pg_basebackup error: could not read COPY data: server closed the connection unexpectedly

    And you, how's your week so far?

    #postgresql #debezium #pg_upgrade #ansible

  10. Паттерн Transactional Outbox на примере двух микросервисов на java

    Всем привет! В данной статье будет описан один из возможных вариантов реализации паттерна outbox transactional. План данной статьи такой. Вначале немного теории, а потом на примере двух микросервисов будет показала реализация данного паттерна с помощью debezium и kafka. Данная статья будет полезна для новичков, которые не встречались с данным паттерном. Весь код микросервисов будет доступен по ссылкам. Но вначале немного теории. Самый главный вопрос зачем нужен данный паттерн и какую он решает задачу. Паттерн Outbox – используется в распределенных транзакциях, то есть в транзакциях, которые проходят и затрагивают несколько микровервисов, для обеспечения гарантированной доставки сообщения от одного микросервиса до другого. Данный паттерн используется там, где очень критично чтобы сообщение не потерялось, даже при сбоях в системе. Outbox паттерн получил распространение именно в микросервисной архитектуре, где нет возможности с помощью одной аннотации обеспечить транзакционность какого-то метода и возможный откат всей транзакции в рамках нескольких микросервисов. Теперь перейдем к практике. Допустим у нас имеется два микросервиса: order-servic, в котором клиент заказывает какой-то товар и bank-service, в котором происходит оплата за этот товар. Весь код микросервисов будет доступен по ссылкам. Задача в том, чтобы при заказе товара обязательно произошло списание денег за него или если денег недостаточно или возникла ошибка на стороне банка микросервис по заказам узнал об этом. Для реализации этого паттерна я буду использовать debezium и kafka.

    habr.com/ru/articles/991934/

    #java #паттерны_проектирования #outbox #outboxпаттерн #transactional_outbox #kafkaconnect #debezium

  11. CDC своими руками: Kafka + Debezium в домашней лаборатории

    Третья статья цикла о построении CDC-пайплайна с нуля. Сегодня — самое интересное: захватываем изменения из PostgreSQL и отправляем в Kafka. И разбираемся, почему WAL может съесть весь диск, даже если данные не меняются.

    habr.com/ru/articles/990902/

    #kafka #debezium #cdc #devops #data_engineering

  12. PostgreSQL для CDC-пайплайна: настраиваем logical replication за 30 минут

    Вторая статья цикла «CDC Pipeline в домашней лаборатории». В первой мы сделали Telegram-бота для парсинга банковских скриншотов. Теперь подготовим PostgreSQL к тому, чтобы Debezium мог захватывать изменения в реальном времени.

    habr.com/ru/articles/988114/

    #postgresql #cdc #debezium #logical_replication #devops

  13. See how Debezium powers row-level change capture while SeaTunnel enhances it with Kafka-free streaming and schema evolution support. hackernoon.com/inside-seatunne #debezium

  14. See how Debezium powers row-level change capture while SeaTunnel enhances it with Kafka-free streaming and schema evolution support. hackernoon.com/inside-seatunne #debezium

  15. Как оптимизация перформанса Debezium JDBC Sink Connector помогла улучшить Open-source версию решения

    Debezium — популярный фреймворк для Change Data Capture (CDC), позволяющий отслеживать изменения в источниках данных (таких как базы данных) и передавать их в потоковые платформы вроде Apache Kafka. Одним из компонентов Debezium является JDBC Sink Connector, предназначенный для записи данных из Kafka в реляционные базы данных посредством интерфейса Java Database Connectivity (JDBC). Debezium JDBC Sink Connector может решать множество задач: от репликации данных между БД и синхронизации обновлений между микросервисами до создания резервных копий данных для целей тестирования или разработки. Мы в VK Tech используем Debezium JDBC sink connector, чтобы строить перформанс-интеграции. Но в нагрузочных тестах столкнулись с проблемой производительности, которая не решалась никакими обходными путями. Поэтому нам пришлось детально погрузиться в нюансы обработки событий в Debezium JDBC connector. Привет, Хабр. Меня зовут Артём Дубинин. Я старший разработчик Backend в команде Tarantool CDC — решения для репликации данных в реальном времени между системами управления базами данных (СУБД). В этой статье я изложу свою интерпретацию создания Debezium, расскажу о том, как работает Debezium JDBC connector, а также о нашем варианте оптимизации перформанса, который попал в Open-source версию.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #отказоустойчивость #debezium #Kafka #JDBC_Sink_Connector #jdbc #vk_tech #tarantool_cdc #перформанс

  16. Spark, DataSphere и немного магии: как мы строим аналитическую платформу в облаке для банка

    Для решения классических аналитических задач в банке дата‑специалисты обрабатывают миллиарды транзакций. Поэтому создание единого информационного пространства для работы с большими объёмами данных потребует решить как задачи оптимизации производительности и обеспечения безопасности, так и задачи удобства для пользователей — и найти баланс между ними. Сергей Виноградов на конференции Data&ML2Business рассказал про разработку и построение DWH для задач Яндекс Пэй. В этой статье — дополненный рассказ о том, как устроена аналитическая платформа на базе Greenplum® и ClickHouse®, которую решили строить на базе managed‑сервисов в облаке. А также о том, как жизнь аналитиков облегчает связка Apache Spark™ и Jupyter‑ноутбуков в Yandex DataSphere.

    habr.com/ru/companies/yandex_c

    #spark #kafka #cdc #debezium #change_data_capture #map_reduce

  17. @pgDayParis is currently accepting proposals in an official Call for Papers! Submit topics like PostgreSQL internals hacking, DevOps related topics, migration from other database systems, or whatever else you may have found interesting in your journey with Postgres. 2026.pgday.paris/call-for-pape

  18. @pgDayParis is currently accepting proposals in an official Call for Papers! Submit topics like PostgreSQL internals hacking, DevOps related topics, migration from other database systems, or whatever else you may have found interesting in your journey with Postgres. 2026.pgday.paris/call-for-pape

    #postgres #postgresql #database #devops #sqlserver #oracle #mongodb #redis #debezium #rlanguage #cnpg #clouenativepg #kubernetes #docker #aws #gcp #azure #linux #opensource #foss #oss #paris #france

  19. CDC без боли: как мы делали отказоустойчивую репликацию с Debezium и Kafka

    Я Евгений Прочан, в платформенной команде Magnit OMNI развиваю инфраструктуру DWH. Расскажу здесь, почему нам понадобилось перейти от батчинга к CDC и как мы это делали. Причин перехода было две: потребность бизнеса в расширении возможностей инфраструктуры и нестабильность нашего старого процесса репликации. Мы используем в основном базы данных PostgreSQL. Оттуда пакетами раз в час передаём данные в S3, ClickHouse и таблицы Iceberg. Наша потоковая нагрузка достигает примерно полутора терабайта данных, 6000 операций в секунду (около 1500 в самой нагруженной базе данных).

    habr.com/ru/companies/magnit/a

    #kafka #postgresql #debezium #dwh #отказоустойчивость

  20. Join таблиц в реальном времени на Apache Flink ( Часть 2 )

    В данной статье приводится решение проблемы построения витрин данных в реальном времени с помощью Apache Flink. Рассказывается 2 часть подробной реализации решения этой задачи. В данной части рассмотрена проблема учета сообщений на удаление и частично операций update , в связи с чем достигается полная консистентность данных СИ с СП при условии гарантии, что ключ join условия не обновляется.

    habr.com/ru/articles/908220/

    #java #apache_flink #big_data #big_data_analytics #big_data_solutions #architecture #big_data_architecture #debezium #kafka #cdc

  21. Debezium в действии: сбор и синхронизация отчётной базы данных

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

    habr.com/ru/companies/T1Holdin

    #debezium

  22. Репликация данных с использованием Debezium и Kafka

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

    habr.com/ru/articles/861868/

    #debezium #kafka #sql

  23. Thema Visualisierung von #MySQL/ #mariadb Transaktionen:

    Hat hier jemand ein #Grafana im Einsatz? Wenn ja, mit #Prometheus?Mit #exporter oder mit #debezium als #cdc plus #Kafka?

    Oder einfach nur Grafana + MySQL-select alle x Sekunden?

    Hab mich vorgestern versucht, einzulesen und war überrascht, wie viele verschiedene Konstellationen möglich sind!

    #linux
    #foss
    #monitoring

  24. Top 10 Tools for Kafka Engineers:
    1.
    2.
    3. Kafka Streams
    4.
    5. Kafka UIs
    6.
    7. Cruise Control
    8. Kafka Security Manager
    9.
    10. Kafka Proxy

    From: thenewstack.io/top-10-tools-fo

  25. Top 10 Tools for Kafka Engineers:
    1. #kcat
    2. #Debezium
    3. Kafka Streams
    4. #Grafana
    5. Kafka UIs
    6. #Redpanda
    7. Cruise Control
    8. Kafka Security Manager
    9. #MirrorMaker
    10. Kafka Proxy

    From: thenewstack.io/top-10-tools-fo

  26. A nice feature that we are looking forward to for our #CDC project based on #Debezium is the ability to create logical replication slots on standbys:
    - bdrouvot.github.io/2023/04/19/
    - decodable.co/blog/logical-repl

    No more impact on the primary.

    Thanks @BertrandDrouvot for your work and your presentation at the pgconf EU. It looks promising!

    #postgresql

  27. A nice feature that we are looking forward to for our #CDC project based on #Debezium is the ability to create logical replication slots on standbys:
    - bdrouvot.github.io/2023/04/19/
    - decodable.co/blog/logical-repl

    No more impact on the primary.

    Thanks @BertrandDrouvot for your work and your presentation at the pgconf EU. It looks promising!

    #postgresql

  28. Kafka Connect на примере Debezium PostgresConnector

    В предыдущей статье про микросервисную архитектуру на основе событий с использованием Kafka Streams достаточно поверхностно был упомянут io.confluent.connect.jdbc.JdbcSourceConnector , который использовался для вычитания данных из SQLite и отправки их в топик Kafka. Сейчас я бы хотел более подробно разобрать технологию Kafka Connect на примере io.debezium.connector.postgresql.PostgresConnector . Как и в прошлый раз, я реализовал небольшой демо проект, код которого доступен на GitHub . В проекте кода совсем немного, однако чтобы понять все настройки, примененные в коннекторе, придется достаточно подробно пройтись по теоретической части. Итак, приступим.

    habr.com/ru/articles/779620/

    #Kafka #Kafka_Connect #Debezium #PostgreSQL #Spring_Boot

  29. The first rule of being a Haskell fanboy is you never skip an opportunity to drop #Haskell into a conversation. 🤓😁

    (Clip from this week's #podcast on #Debezium: youtu.be/88j7EEiyqzM)

  30. Learn how & can help developers with typical challenges they often face when working on !

    Gunnar Morling talks about the challenges you might encounter when deploying CDC into practice: bit.ly/46EjUGs

    video w/ included

  31. Was experimenting today with #Debezium and the #PostgreSQL logical decoding messages.

    The message is encoded in #ApacheKafka based on the binary.handling.mode parameter, with base64 being the default

    Glad that #ApacheFlink has a native SQL function to decode from base64: FROM_BASE64

    More info:

    - Debezium logical decoding messages debezium.io/documentation/refe
    - ApacheFlink FROM_BASE64 function nightlies.apache.org/flink/fli

  32. Join us for a live demo on replicating data from various databases to CrateDB using #Debezium and #Kafka 🚀

    🎤 We are thrilled to have Danica Fine, Senior Developer Advocate at Confluent, as our guest speaker to introduce you to Kafka.

    🔍 Our #CrateDB experts will show you step-by-step how to leverage Debezium and Kafka to replicate data from different databases into CrateDB.

    Don't miss out! Register now 👉 hubs.ly/Q01Wm2jJ0

    #data #db #database #DataReplication

  33. 🚀 Join our FREE live #demo on July 13th and discover how to replicate data from other databases to #CrateDB using #Debezium and #Kafka

    Senior Developer Advocate at Confluent, Danica Fine, will join us to introduce you to Kafka 👩🏼‍💻

    Our experts will guide you through the process of setting up connections for a popular database such as #SQL server and implementing data synchronization with CrateDB without having to write any custom code. 🙌

    Don't miss out! 👉 hubs.ly/Q01WhP4z0

  34. 📺 Had the honour of chatting with the fabulous Tim Berglund on his new podcast on the #StarTree YouTube channel. We spoke about change data capture, #Debezium, stream processing, my move to @decodable and much more, and just had a great time all around :)

    youtube.com/watch?v=cyeKnfdjQl

  35. Update on the #CDC (#ChangeDataCapture) implementation for #TimeScaleDB 🧐 :ablobcatrave: 🤩


    - #debezium integration not yet started!
    - generated events compatible with debezium
    - automatic handling of hypertables and schema
    - automatic handling of chunk creation and deletion
    - includes and excludes for hypertable selection
    - fully compatible with non-privileged user permissions
    - function for initial publication creation (prevents need for postgres user)

    (1/3)

  36. Learn how to replicate data from other databases to CrateDB with Debezium and Kafka 👨🏻‍💻

    This step-by-step tutorial will show you an example of replicating changes on a table from MSSQL to CrateDB 💻🔍 

    Check out our latest post by Hernan Cianfagna, CrateDB Solution Engineer ➡️ crate.io/blog/replicating-data

    #cratedb #db #database #Debezium #Kafka #DataAnalytics #DatabaseReplication #TechTutorial #tutorial #data

  37. The prototype to create #CDC (Change Data Capture) events from #TimeScaleDB to #Kafka (eventually thought be added to #debezium) is making good progress.

    It's all a prototype still, but it already implements the whole pipeline, from #PostgreSQL logical replication all the way to the event sink.

    gist.github.com/noctarius/fdd8

  38. Feeling dangerous today. Diving into some of the C code of #TimeScaleDB to find out how to generate some data for an event stream towards my prototyping which hopefully will end up implemented in #debezium

  39. You can then use - ’ change data capture capability - to retrieve the messages from write-ahead log (WAL), process them, and relay them to external consumers.

    In this article, Gunnar Morling explores how to take advantage of this feature for implementing three different use cases:
    ✅ Propagating data between microservices via the

    ✅ Enriching with metadata

    Learn more: bit.ly/3ZiMZnH

  40. "The Wonders of Postgres Logical Decoding Messages"

    📢 Stoked to share my latest article is live on @infoq, discussing several cool use cases for writing messages to the #Postgres WAL and processing them with #Debezium and #ApacheFlink!

    infoq.com/articles/wonders-of-