Debezium Roadmap

This page describes the roadmap for upcoming work on Debezium.

Debezium is community-driven and as such the roadmap constantly evolves to reflect the users needs and contributions. You can find a fine-grained list of planned issues and feature requests in our issue tracker, but this page is a good starting point to see where we are going.

Please get in touch if you think anything important is missing on the roadmap.

0.8.x

  • Bug fix releases as required

0.9

  • Snapshot support for Oracle

  • Initial support for MS SQL Server

  • Make Antlr-based DDL parser the default for MySQL connector

Further 0.x Releases

  • 0.10, 0.11 etc., exact contents and assignment to specific releases tbd.

  • Alternative implementation for the Oracle connector not based on XStream, but e.g. using LogMiner or similar

  • Ability to change table whitelist (DBZ-175, silent rollout for testing in one release, enabled by default in the next one)

  • Re-structure DB history topic to have proper semantic representation instead of being DDL-based (DBZ-549)

  • Support for Infinispan as a sink (to enable caching use cases)

  • Make Debezium easily usable on Kubernetes/OpenShift (likely via Ansible Playbook Bundles)

  • Provide more detailed monitoring information about Debezium’s internal state and health via JMX (e.g. to spot loss of DB connection while the connector still is running)

  • Unify more parts of the code base across connectors, e.g. handling of whitelists

  • Explore publication of change events via reactive data streams (on top of embedded connector)

  • DB history topic compaction tool

  • Rebase existing connectors to be based on new common framework developed during the work on the Oracle and SQL Server connectors == 1.0

  • Review of emitted message formats, committing to not do breaking changes of message structures after that, unless needed for bug fixes (we already are very keen about that right now, but will be even stricter after 1.0)

  • Relocate Debezium’s Java packages to io.debezium.internal.*, making it apparent that there’s no public Java API/SPI (apart from the embedded connector); we may add such API/SPI later on, allowing to implement custom connectors on the foundations of Debezium, but it won’t be supported as of 1.0

  • Analyze and fix performance bottlenecks

Future 1.x releases

  • Exploration of creating aggregated events, based on the streams/data from multiple tables, so to enable use cases which need to incorporate data from multiple tables into a single output structure (e.g. an Elasticsearch document containing order and orderline info)

  • Provide standalone container for running Debezium without Apache Kafka and Connect

  • Support more messaging backends, e.g. Kinesis, Apache Pulsar etc.

  • Explore and provide building blocks for implementing CQRS architectures based on change data streams

  • Support for Infinispan as a source

  • Allow to propagate custom contextual data in change messages (e.g. the business user doing a certain change)

Past Releases

0.8.0

  • Initial support for Oracle via XStream API (changes only, no initial snapshot)

  • Overhaul query parser for MySQL DDL statements to be more robust

0.7.x

  • Ability to emit heartbeat messages (DBZ-220)

  • Further bugfix releases and small feature improvements

back to top