#debezium — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #debezium, aggregated by home.social.
-
Тонкости Kafka Connect и Debezium
Привет! Меня зовут Ильсаф, я инженер данных в MAGNIT OMNI — бизнес-группе ритейлера «Магнит», которая отвечает за развитие омниканального опыта для клиентов. В этой статье я собрал свои практические наблюдения по работе Kafka Connect и Debezium с PostgreSQL: от настройки репликации до мониторинга и бэкфиллинга.
-
Тонкости Kafka Connect и Debezium
Привет! Меня зовут Ильсаф, я инженер данных в MAGNIT OMNI — бизнес-группе ритейлера «Магнит», которая отвечает за развитие омниканального опыта для клиентов. В этой статье я собрал свои практические наблюдения по работе Kafka Connect и Debezium с PostgreSQL: от настройки репликации до мониторинга и бэкфиллинга.
-
Тонкости Kafka Connect и Debezium
Привет! Меня зовут Ильсаф, я инженер данных в MAGNIT OMNI — бизнес-группе ритейлера «Магнит», которая отвечает за развитие омниканального опыта для клиентов. В этой статье я собрал свои практические наблюдения по работе Kafka Connect и Debezium с PostgreSQL: от настройки репликации до мониторинга и бэкфиллинга.
-
Тонкости Kafka Connect и Debezium
Привет! Меня зовут Ильсаф, я инженер данных в MAGNIT OMNI — бизнес-группе ритейлера «Магнит», которая отвечает за развитие омниканального опыта для клиентов. В этой статье я собрал свои практические наблюдения по работе Kafka Connect и Debezium с PostgreSQL: от настройки репликации до мониторинга и бэкфиллинга.
-
Cказ о том, как мы с Oracle на PostgreSQL переехали
Привет, Хабр! Меня зовут Даша Александрова, я Java‑разработчик. Хочу поделиться опытом миграции данных из Oracle в PostgreSQL без простоя сервисов. Причина миграции — импортозамещение. Теперь немного про сам проект. В его основе — микросервисная архитектура на Java 11/17 и Spring Boot 2/3. В качестве основной базы данных использовалась Oracle с несколькими схемами. В коде сочетаются нативные SQL‑запросы и Hibernate, вся бизнес‑логика живет на уровне приложения — без процедур, триггеров и другой логики в базе. Идентификаторы генерируются через sequence. Проект активно развивается, регулярно выпускаются релизы. Система ориентирована на клиентские приложения — мобильное и веб, при этом нагрузка остается умеренной и не относится к highload‑сценариям. Ключевое нефункциональное требование — выполнить миграцию без простоя системы и без заметного влияния на пользователей . Может возникнуть логичный вопрос: если такие миграции уже делались не раз, почему просто не взять готовое решение? На практике универсального подхода не существует. Где‑то допустим простой на несколько часов, где‑то — нет. В одних системах хватает простого переноса, в других приходится использовать сложные стратегии вроде двойной записи. Многие статьи подробно разбирают инструменты, но их применение в конкретном проекте — это отдельная инженерная задача. К тому же у каждой системы есть свои ограничения и нюансы. Поэтому дальше я разберу конкретный кейс и те решения, которые были приняли по ходу миграции.
https://habr.com/ru/articles/1025336/
#java #postgresql #debezium #cdc #oracle #kafkaconnect #миграция_базы_данных #миграция_данных
-
Cказ о том, как мы с Oracle на PostgreSQL переехали
Привет, Хабр! Меня зовут Даша Александрова, я Java‑разработчик. Хочу поделиться опытом миграции данных из Oracle в PostgreSQL без простоя сервисов. Причина миграции — импортозамещение. Теперь немного про сам проект. В его основе — микросервисная архитектура на Java 11/17 и Spring Boot 2/3. В качестве основной базы данных использовалась Oracle с несколькими схемами. В коде сочетаются нативные SQL‑запросы и Hibernate, вся бизнес‑логика живет на уровне приложения — без процедур, триггеров и другой логики в базе. Идентификаторы генерируются через sequence. Проект активно развивается, регулярно выпускаются релизы. Система ориентирована на клиентские приложения — мобильное и веб, при этом нагрузка остается умеренной и не относится к highload‑сценариям. Ключевое нефункциональное требование — выполнить миграцию без простоя системы и без заметного влияния на пользователей . Может возникнуть логичный вопрос: если такие миграции уже делались не раз, почему просто не взять готовое решение? На практике универсального подхода не существует. Где‑то допустим простой на несколько часов, где‑то — нет. В одних системах хватает простого переноса, в других приходится использовать сложные стратегии вроде двойной записи. Многие статьи подробно разбирают инструменты, но их применение в конкретном проекте — это отдельная инженерная задача. К тому же у каждой системы есть свои ограничения и нюансы. Поэтому дальше я разберу конкретный кейс и те решения, которые были приняли по ходу миграции.
https://habr.com/ru/articles/1025336/
#java #postgresql #debezium #cdc #oracle #kafkaconnect #миграция_базы_данных #миграция_данных
-
Cказ о том, как мы с Oracle на PostgreSQL переехали
Привет, Хабр! Меня зовут Даша Александрова, я Java‑разработчик. Хочу поделиться опытом миграции данных из Oracle в PostgreSQL без простоя сервисов. Причина миграции — импортозамещение. Теперь немного про сам проект. В его основе — микросервисная архитектура на Java 11/17 и Spring Boot 2/3. В качестве основной базы данных использовалась Oracle с несколькими схемами. В коде сочетаются нативные SQL‑запросы и Hibernate, вся бизнес‑логика живет на уровне приложения — без процедур, триггеров и другой логики в базе. Идентификаторы генерируются через sequence. Проект активно развивается, регулярно выпускаются релизы. Система ориентирована на клиентские приложения — мобильное и веб, при этом нагрузка остается умеренной и не относится к highload‑сценариям. Ключевое нефункциональное требование — выполнить миграцию без простоя системы и без заметного влияния на пользователей . Может возникнуть логичный вопрос: если такие миграции уже делались не раз, почему просто не взять готовое решение? На практике универсального подхода не существует. Где‑то допустим простой на несколько часов, где‑то — нет. В одних системах хватает простого переноса, в других приходится использовать сложные стратегии вроде двойной записи. Многие статьи подробно разбирают инструменты, но их применение в конкретном проекте — это отдельная инженерная задача. К тому же у каждой системы есть свои ограничения и нюансы. Поэтому дальше я разберу конкретный кейс и те решения, которые были приняли по ходу миграции.
https://habr.com/ru/articles/1025336/
#java #postgresql #debezium #cdc #oracle #kafkaconnect #миграция_базы_данных #миграция_данных
-
Cказ о том, как мы с Oracle на PostgreSQL переехали
Привет, Хабр! Меня зовут Даша Александрова, я Java‑разработчик. Хочу поделиться опытом миграции данных из Oracle в PostgreSQL без простоя сервисов. Причина миграции — импортозамещение. Теперь немного про сам проект. В его основе — микросервисная архитектура на Java 11/17 и Spring Boot 2/3. В качестве основной базы данных использовалась Oracle с несколькими схемами. В коде сочетаются нативные SQL‑запросы и Hibernate, вся бизнес‑логика живет на уровне приложения — без процедур, триггеров и другой логики в базе. Идентификаторы генерируются через sequence. Проект активно развивается, регулярно выпускаются релизы. Система ориентирована на клиентские приложения — мобильное и веб, при этом нагрузка остается умеренной и не относится к highload‑сценариям. Ключевое нефункциональное требование — выполнить миграцию без простоя системы и без заметного влияния на пользователей . Может возникнуть логичный вопрос: если такие миграции уже делались не раз, почему просто не взять готовое решение? На практике универсального подхода не существует. Где‑то допустим простой на несколько часов, где‑то — нет. В одних системах хватает простого переноса, в других приходится использовать сложные стратегии вроде двойной записи. Многие статьи подробно разбирают инструменты, но их применение в конкретном проекте — это отдельная инженерная задача. К тому же у каждой системы есть свои ограничения и нюансы. Поэтому дальше я разберу конкретный кейс и те решения, которые были приняли по ходу миграции.
https://habr.com/ru/articles/1025336/
#java #postgresql #debezium #cdc #oracle #kafkaconnect #миграция_базы_данных #миграция_данных
-
[Перевод] Осваиваем replication slots в Postgres: как предотвратить разрастание WAL и другие проблемы в продакшене
Логическая репликация в Postgres редко ломает прод внезапно — чаще она долго и методично копит проблему, пока replication slot удерживает всё больше WAL, потребитель отстаёт, а свободное место на диске начинает таять. В этой статье разбирается именно такая зона риска: как устроена работа replication slots, почему одних базовых настроек здесь недостаточно и какие практики реально помогают держать под контролем WAL, публикации, heartbeats, failover и мониторинг. Материал особенно полезен тем, кто работает с CDC, Debezium и production-инстансами Postgres, где цена ошибки измеряется уже не теорией, а стабильностью системы. Разбор PostgreSQL
https://habr.com/ru/companies/otus/articles/1018444/
#PostgreSQL #replication_slots #логическая_репликация #WAL #CDC #Debezium #pgoutput #failover #мониторинг_Postgres
-
[Перевод] Осваиваем replication slots в Postgres: как предотвратить разрастание WAL и другие проблемы в продакшене
Логическая репликация в Postgres редко ломает прод внезапно — чаще она долго и методично копит проблему, пока replication slot удерживает всё больше WAL, потребитель отстаёт, а свободное место на диске начинает таять. В этой статье разбирается именно такая зона риска: как устроена работа replication slots, почему одних базовых настроек здесь недостаточно и какие практики реально помогают держать под контролем WAL, публикации, heartbeats, failover и мониторинг. Материал особенно полезен тем, кто работает с CDC, Debezium и production-инстансами Postgres, где цена ошибки измеряется уже не теорией, а стабильностью системы. Разбор PostgreSQL
https://habr.com/ru/companies/otus/articles/1018444/
#PostgreSQL #replication_slots #логическая_репликация #WAL #CDC #Debezium #pgoutput #failover #мониторинг_Postgres
-
[Перевод] Осваиваем replication slots в Postgres: как предотвратить разрастание WAL и другие проблемы в продакшене
Логическая репликация в Postgres редко ломает прод внезапно — чаще она долго и методично копит проблему, пока replication slot удерживает всё больше WAL, потребитель отстаёт, а свободное место на диске начинает таять. В этой статье разбирается именно такая зона риска: как устроена работа replication slots, почему одних базовых настроек здесь недостаточно и какие практики реально помогают держать под контролем WAL, публикации, heartbeats, failover и мониторинг. Материал особенно полезен тем, кто работает с CDC, Debezium и production-инстансами Postgres, где цена ошибки измеряется уже не теорией, а стабильностью системы. Разбор PostgreSQL
https://habr.com/ru/companies/otus/articles/1018444/
#PostgreSQL #replication_slots #логическая_репликация #WAL #CDC #Debezium #pgoutput #failover #мониторинг_Postgres
-
[Перевод] Осваиваем replication slots в Postgres: как предотвратить разрастание WAL и другие проблемы в продакшене
Логическая репликация в Postgres редко ломает прод внезапно — чаще она долго и методично копит проблему, пока replication slot удерживает всё больше WAL, потребитель отстаёт, а свободное место на диске начинает таять. В этой статье разбирается именно такая зона риска: как устроена работа replication slots, почему одних базовых настроек здесь недостаточно и какие практики реально помогают держать под контролем WAL, публикации, heartbeats, failover и мониторинг. Материал особенно полезен тем, кто работает с CDC, Debezium и production-инстансами Postgres, где цена ошибки измеряется уже не теорией, а стабильностью системы. Разбор PostgreSQL
https://habr.com/ru/companies/otus/articles/1018444/
#PostgreSQL #replication_slots #логическая_репликация #WAL #CDC #Debezium #pgoutput #failover #мониторинг_Postgres
-
Геораспределенное резервирование Postgres при помощи Debezium
Всем привет, меня зовут Николай Голубев, я — техлид из компании HFLabs. Эта статья написана по мотивам моего выступления на конференции
https://habr.com/ru/companies/oleg-bunin/articles/1001862/
#highload #PostgreSQL #базы_данных #высоконагруженные_системы #Debezium #хранение_данных #Kafka #релоцирование
-
Геораспределенное резервирование Postgres при помощи Debezium
Всем привет, меня зовут Николай Голубев, я — техлид из компании HFLabs. Эта статья написана по мотивам моего выступления на конференции
https://habr.com/ru/companies/oleg-bunin/articles/1001862/
#highload #PostgreSQL #базы_данных #высоконагруженные_системы #Debezium #хранение_данных #Kafka #релоцирование
-
Геораспределенное резервирование Postgres при помощи Debezium
Всем привет, меня зовут Николай Голубев, я — техлид из компании HFLabs. Эта статья написана по мотивам моего выступления на конференции
https://habr.com/ru/companies/oleg-bunin/articles/1001862/
#highload #PostgreSQL #базы_данных #высоконагруженные_системы #Debezium #хранение_данных #Kafka #релоцирование
-
Геораспределенное резервирование Postgres при помощи Debezium
Всем привет, меня зовут Николай Голубев, я — техлид из компании HFLabs. Эта статья написана по мотивам моего выступления на конференции
https://habr.com/ru/companies/oleg-bunin/articles/1001862/
#highload #PostgreSQL #базы_данных #высоконагруженные_системы #Debezium #хранение_данных #Kafka #релоцирование
-
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.
-
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.
-
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.
-
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.
-
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 unexpectedlyAnd you, how's your week so far?
-
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 unexpectedlyAnd you, how's your week so far?
-
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 unexpectedlyAnd you, how's your week so far?
-
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 unexpectedlyAnd you, how's your week so far?
-
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 unexpectedlyAnd you, how's your week so far?
-
Паттерн Transactional Outbox на примере двух микросервисов на java
Всем привет! В данной статье будет описан один из возможных вариантов реализации паттерна outbox transactional. План данной статьи такой. Вначале немного теории, а потом на примере двух микросервисов будет показала реализация данного паттерна с помощью debezium и kafka. Данная статья будет полезна для новичков, которые не встречались с данным паттерном. Весь код микросервисов будет доступен по ссылкам. Но вначале немного теории. Самый главный вопрос зачем нужен данный паттерн и какую он решает задачу. Паттерн Outbox – используется в распределенных транзакциях, то есть в транзакциях, которые проходят и затрагивают несколько микровервисов, для обеспечения гарантированной доставки сообщения от одного микросервиса до другого. Данный паттерн используется там, где очень критично чтобы сообщение не потерялось, даже при сбоях в системе. Outbox паттерн получил распространение именно в микросервисной архитектуре, где нет возможности с помощью одной аннотации обеспечить транзакционность какого-то метода и возможный откат всей транзакции в рамках нескольких микросервисов. Теперь перейдем к практике. Допустим у нас имеется два микросервиса: order-servic, в котором клиент заказывает какой-то товар и bank-service, в котором происходит оплата за этот товар. Весь код микросервисов будет доступен по ссылкам. Задача в том, чтобы при заказе товара обязательно произошло списание денег за него или если денег недостаточно или возникла ошибка на стороне банка микросервис по заказам узнал об этом. Для реализации этого паттерна я буду использовать debezium и kafka.
https://habr.com/ru/articles/991934/
#java #паттерны_проектирования #outbox #outboxпаттерн #transactional_outbox #kafkaconnect #debezium
-
Паттерн Transactional Outbox на примере двух микросервисов на java
Всем привет! В данной статье будет описан один из возможных вариантов реализации паттерна outbox transactional. План данной статьи такой. Вначале немного теории, а потом на примере двух микросервисов будет показала реализация данного паттерна с помощью debezium и kafka. Данная статья будет полезна для новичков, которые не встречались с данным паттерном. Весь код микросервисов будет доступен по ссылкам. Но вначале немного теории. Самый главный вопрос зачем нужен данный паттерн и какую он решает задачу. Паттерн Outbox – используется в распределенных транзакциях, то есть в транзакциях, которые проходят и затрагивают несколько микровервисов, для обеспечения гарантированной доставки сообщения от одного микросервиса до другого. Данный паттерн используется там, где очень критично чтобы сообщение не потерялось, даже при сбоях в системе. Outbox паттерн получил распространение именно в микросервисной архитектуре, где нет возможности с помощью одной аннотации обеспечить транзакционность какого-то метода и возможный откат всей транзакции в рамках нескольких микросервисов. Теперь перейдем к практике. Допустим у нас имеется два микросервиса: order-servic, в котором клиент заказывает какой-то товар и bank-service, в котором происходит оплата за этот товар. Весь код микросервисов будет доступен по ссылкам. Задача в том, чтобы при заказе товара обязательно произошло списание денег за него или если денег недостаточно или возникла ошибка на стороне банка микросервис по заказам узнал об этом. Для реализации этого паттерна я буду использовать debezium и kafka.
https://habr.com/ru/articles/991934/
#java #паттерны_проектирования #outbox #outboxпаттерн #transactional_outbox #kafkaconnect #debezium
-
Паттерн Transactional Outbox на примере двух микросервисов на java
Всем привет! В данной статье будет описан один из возможных вариантов реализации паттерна outbox transactional. План данной статьи такой. Вначале немного теории, а потом на примере двух микросервисов будет показала реализация данного паттерна с помощью debezium и kafka. Данная статья будет полезна для новичков, которые не встречались с данным паттерном. Весь код микросервисов будет доступен по ссылкам. Но вначале немного теории. Самый главный вопрос зачем нужен данный паттерн и какую он решает задачу. Паттерн Outbox – используется в распределенных транзакциях, то есть в транзакциях, которые проходят и затрагивают несколько микровервисов, для обеспечения гарантированной доставки сообщения от одного микросервиса до другого. Данный паттерн используется там, где очень критично чтобы сообщение не потерялось, даже при сбоях в системе. Outbox паттерн получил распространение именно в микросервисной архитектуре, где нет возможности с помощью одной аннотации обеспечить транзакционность какого-то метода и возможный откат всей транзакции в рамках нескольких микросервисов. Теперь перейдем к практике. Допустим у нас имеется два микросервиса: order-servic, в котором клиент заказывает какой-то товар и bank-service, в котором происходит оплата за этот товар. Весь код микросервисов будет доступен по ссылкам. Задача в том, чтобы при заказе товара обязательно произошло списание денег за него или если денег недостаточно или возникла ошибка на стороне банка микросервис по заказам узнал об этом. Для реализации этого паттерна я буду использовать debezium и kafka.
https://habr.com/ru/articles/991934/
#java #паттерны_проектирования #outbox #outboxпаттерн #transactional_outbox #kafkaconnect #debezium
-
Паттерн Transactional Outbox на примере двух микросервисов на java
Всем привет! В данной статье будет описан один из возможных вариантов реализации паттерна outbox transactional. План данной статьи такой. Вначале немного теории, а потом на примере двух микросервисов будет показала реализация данного паттерна с помощью debezium и kafka. Данная статья будет полезна для новичков, которые не встречались с данным паттерном. Весь код микросервисов будет доступен по ссылкам. Но вначале немного теории. Самый главный вопрос зачем нужен данный паттерн и какую он решает задачу. Паттерн Outbox – используется в распределенных транзакциях, то есть в транзакциях, которые проходят и затрагивают несколько микровервисов, для обеспечения гарантированной доставки сообщения от одного микросервиса до другого. Данный паттерн используется там, где очень критично чтобы сообщение не потерялось, даже при сбоях в системе. Outbox паттерн получил распространение именно в микросервисной архитектуре, где нет возможности с помощью одной аннотации обеспечить транзакционность какого-то метода и возможный откат всей транзакции в рамках нескольких микросервисов. Теперь перейдем к практике. Допустим у нас имеется два микросервиса: order-servic, в котором клиент заказывает какой-то товар и bank-service, в котором происходит оплата за этот товар. Весь код микросервисов будет доступен по ссылкам. Задача в том, чтобы при заказе товара обязательно произошло списание денег за него или если денег недостаточно или возникла ошибка на стороне банка микросервис по заказам узнал об этом. Для реализации этого паттерна я буду использовать debezium и kafka.
https://habr.com/ru/articles/991934/
#java #паттерны_проектирования #outbox #outboxпаттерн #transactional_outbox #kafkaconnect #debezium
-
CDC своими руками: Kafka + Debezium в домашней лаборатории
Третья статья цикла о построении CDC-пайплайна с нуля. Сегодня — самое интересное: захватываем изменения из PostgreSQL и отправляем в Kafka. И разбираемся, почему WAL может съесть весь диск, даже если данные не меняются.
-
CDC своими руками: Kafka + Debezium в домашней лаборатории
Третья статья цикла о построении CDC-пайплайна с нуля. Сегодня — самое интересное: захватываем изменения из PostgreSQL и отправляем в Kafka. И разбираемся, почему WAL может съесть весь диск, даже если данные не меняются.
-
CDC своими руками: Kafka + Debezium в домашней лаборатории
Третья статья цикла о построении CDC-пайплайна с нуля. Сегодня — самое интересное: захватываем изменения из PostgreSQL и отправляем в Kafka. И разбираемся, почему WAL может съесть весь диск, даже если данные не меняются.
-
CDC своими руками: Kafka + Debezium в домашней лаборатории
Третья статья цикла о построении CDC-пайплайна с нуля. Сегодня — самое интересное: захватываем изменения из PostgreSQL и отправляем в Kafka. И разбираемся, почему WAL может съесть весь диск, даже если данные не меняются.
-
PostgreSQL для CDC-пайплайна: настраиваем logical replication за 30 минут
Вторая статья цикла «CDC Pipeline в домашней лаборатории». В первой мы сделали Telegram-бота для парсинга банковских скриншотов. Теперь подготовим PostgreSQL к тому, чтобы Debezium мог захватывать изменения в реальном времени.
-
PostgreSQL для CDC-пайплайна: настраиваем logical replication за 30 минут
Вторая статья цикла «CDC Pipeline в домашней лаборатории». В первой мы сделали Telegram-бота для парсинга банковских скриншотов. Теперь подготовим PostgreSQL к тому, чтобы Debezium мог захватывать изменения в реальном времени.
-
PostgreSQL для CDC-пайплайна: настраиваем logical replication за 30 минут
Вторая статья цикла «CDC Pipeline в домашней лаборатории». В первой мы сделали Telegram-бота для парсинга банковских скриншотов. Теперь подготовим PostgreSQL к тому, чтобы Debezium мог захватывать изменения в реальном времени.
-
PostgreSQL для CDC-пайплайна: настраиваем logical replication за 30 минут
Вторая статья цикла «CDC Pipeline в домашней лаборатории». В первой мы сделали Telegram-бота для парсинга банковских скриншотов. Теперь подготовим PostgreSQL к тому, чтобы Debezium мог захватывать изменения в реальном времени.
-
See how Debezium powers row-level change capture while SeaTunnel enhances it with Kafka-free streaming and schema evolution support. https://hackernoon.com/inside-seatunnel-cdcs-debezium-integration-embedded-engine-offsets-and-checkpoints #debezium
-
See how Debezium powers row-level change capture while SeaTunnel enhances it with Kafka-free streaming and schema evolution support. https://hackernoon.com/inside-seatunnel-cdcs-debezium-integration-embedded-engine-offsets-and-checkpoints #debezium
-
See how Debezium powers row-level change capture while SeaTunnel enhances it with Kafka-free streaming and schema evolution support. https://hackernoon.com/inside-seatunnel-cdcs-debezium-integration-embedded-engine-offsets-and-checkpoints #debezium
-
See how Debezium powers row-level change capture while SeaTunnel enhances it with Kafka-free streaming and schema evolution support. https://hackernoon.com/inside-seatunnel-cdcs-debezium-integration-embedded-engine-offsets-and-checkpoints #debezium
-
See how Debezium powers row-level change capture while SeaTunnel enhances it with Kafka-free streaming and schema evolution support. https://hackernoon.com/inside-seatunnel-cdcs-debezium-integration-embedded-engine-offsets-and-checkpoints #debezium
-
Debezium 3.4 Final: A Feature-Packed Release for Modern Data Pipelines
https://techlife.blog/posts/debezium-3-4-release/
#Debezium #CDC #ChangeDataCapture #Kafka #Quarkus #Oracle #PostgreSQL #MongoDB #SQLServer #OpenSource
-
Debezium 3.4 Final: A Feature-Packed Release for Modern Data Pipelines
https://techlife.blog/posts/debezium-3-4-release/
#Debezium #CDC #ChangeDataCapture #Kafka #Quarkus #Oracle #PostgreSQL #MongoDB #SQLServer #OpenSource
-
Как оптимизация перформанса 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 версию.
https://habr.com/ru/companies/vktech/articles/967558/
#Tarantool #архитектура #отказоустойчивость #debezium #Kafka #JDBC_Sink_Connector #jdbc #vk_tech #tarantool_cdc #перформанс
-
Как оптимизация перформанса 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 версию.
https://habr.com/ru/companies/vktech/articles/967558/
#Tarantool #архитектура #отказоустойчивость #debezium #Kafka #JDBC_Sink_Connector #jdbc #vk_tech #tarantool_cdc #перформанс
-
Как оптимизация перформанса 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 версию.
https://habr.com/ru/companies/vktech/articles/967558/
#Tarantool #архитектура #отказоустойчивость #debezium #Kafka #JDBC_Sink_Connector #jdbc #vk_tech #tarantool_cdc #перформанс
-
Как оптимизация перформанса 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 версию.
https://habr.com/ru/companies/vktech/articles/967558/
#Tarantool #архитектура #отказоустойчивость #debezium #Kafka #JDBC_Sink_Connector #jdbc #vk_tech #tarantool_cdc #перформанс
-
Spark, DataSphere и немного магии: как мы строим аналитическую платформу в облаке для банка
Для решения классических аналитических задач в банке дата‑специалисты обрабатывают миллиарды транзакций. Поэтому создание единого информационного пространства для работы с большими объёмами данных потребует решить как задачи оптимизации производительности и обеспечения безопасности, так и задачи удобства для пользователей — и найти баланс между ними. Сергей Виноградов на конференции Data&ML2Business рассказал про разработку и построение DWH для задач Яндекс Пэй. В этой статье — дополненный рассказ о том, как устроена аналитическая платформа на базе Greenplum® и ClickHouse®, которую решили строить на базе managed‑сервисов в облаке. А также о том, как жизнь аналитиков облегчает связка Apache Spark™ и Jupyter‑ноутбуков в Yandex DataSphere.
https://habr.com/ru/companies/yandex_cloud_and_infra/articles/957470/
#spark #kafka #cdc #debezium #change_data_capture #map_reduce
-
Spark, DataSphere и немного магии: как мы строим аналитическую платформу в облаке для банка
Для решения классических аналитических задач в банке дата‑специалисты обрабатывают миллиарды транзакций. Поэтому создание единого информационного пространства для работы с большими объёмами данных потребует решить как задачи оптимизации производительности и обеспечения безопасности, так и задачи удобства для пользователей — и найти баланс между ними. Сергей Виноградов на конференции Data&ML2Business рассказал про разработку и построение DWH для задач Яндекс Пэй. В этой статье — дополненный рассказ о том, как устроена аналитическая платформа на базе Greenplum® и ClickHouse®, которую решили строить на базе managed‑сервисов в облаке. А также о том, как жизнь аналитиков облегчает связка Apache Spark™ и Jupyter‑ноутбуков в Yandex DataSphere.
https://habr.com/ru/companies/yandex_cloud_and_infra/articles/957470/
#spark #kafka #cdc #debezium #change_data_capture #map_reduce