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.7.x

  • Ability to emit heartbeat messages (DBZ-220)

  • Further bugfix releases and small feature improvements, e.g. ability to change table whitelist (DBZ-175, silent rollout for testing in 0.7.x, enabled by default in 0.8)

0.8

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

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

0.9

  • Snapshot support for Oracle

Further 0.x releases

  • 0.10, 0.11 etc., exact ordering tbd.

  • Support for MS SQL Server

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

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

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

  • 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)

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)

  • Support more messaging backends, e.g. Kinesis

  • 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)

back to top