Chgcap is an open-source library for Change-Data-Capture (CDC) written in Rust. It provides an alternative to Debezium, which is mostly limited to the Java ecosystem. With Chgcap, developers can more easily build custom replicas for their RDBMS. Use cases include creating real-time MySQL caches or real-time OLAP engines for Postgres.
We initially focus on the Rust API, but will consider other language bindings if there are many requests for them.
WARNING: Chgap is currently in its early development phase. When it reaches the beta stage, I will publish a beta version on crates.io. My initial objective is to create a DuckDB+MySQL CDC demo, which will showcase how to create a MySQL replica with OLAP functionality. If this is something you are interested in, welcome to follow us for updates.
It aims to provide all main features supported by Debezium, including:
Connector | Databases | Driver |
---|---|---|
chgcap-mysql | MySQL | mysql_async |
To install chgcap, use cargo
:
cargo install chgcap
To use chgcap, you must first configure a connector for the source database. Once the configuration is complete, you can start streaming the data using the API.
The full documentation can be found on https://github.com/neverchanje/chgcap-rs
chgcap was inspired by and uses some code from the following open-source projects:
chgcap is released under the Apache 2.0 license.