Разработчики Debezium выпустили версию 0.9 набора распределенных служб, которые фиксируют изменения на уровне строк в базах данных, чтобы приложения могли их видеть и отвечать.
Debezium записывает в журнал транзакций все изменения на уровне строк, зафиксированные в каждой таблице базы данных. По сути, это современная распределенная платформа отслеживания изменений данных с открытым исходным кодом, работающая на Kafka. Основными улучшениями в этой версии являются включение соединителя SQL Server и нового интерфейса для обработчиков событий встроенного механизма Debezium, который позволяет выполнять массовую обработку событий изменений.
Debezium состоит из кластера брокеров Apache Kafka, которые используются для постоянных, реплицированных и секционированных журналов транзакций, где Debezium записывает все события и из которых приложения используют все события. Kafka также использует небольшой кластер узлов Zookeeper для управления обязанностями каждого брокера.
Каждый соединитель Debezium контролирует один кластер или сервер базы данных, а соединители настраиваются и развертываются в кластере служб Kafka Connect, поэтому каждый соединитель всегда работает. Кластеры сервисов Kafka Connect независимы. Все соединители записывают свои события в Kafka, который сохраняет, реплицирует и разделяет события для каждой таблицы в отдельные разделы.
Последняя версия Debezium включает поддержку для мониторинга серверов баз данных MySQL, наборов реплик MongoDB или сегментированных кластеров и серверов PostgreSQL. Коннектор SQL Server также включен в этот выпуск, а коннектор для Oracle считается незавершенным.
Наряду с новым коннектором SQL Server, этот выпуск включает в себя начальные снимки состояния коннектора Oracle, новые показатели для коннекторов SQL Server и Oracle и расширенные показатели для коннектора MySQL.
Другим важным улучшением является то, что встроенный движок Debezium теперь поставляется с новым интерфейсом ChangeConsumer, который могут быть реализованы обработчиками событий, если они хотят обрабатывать события изменений массово. Разработчики говорят, что это может привести к существенному повышению производительности при отправке событий изменения в API, которые сами применяют семантику пакета, например в библиотеку Kinesis Producer Library.