Scylla-cdc-rust is a library that enables consuming the Scylla Change Data Capture Log in Rust applications. The library automatically and transparently handles errors and topology changes of the underlying Scylla cluster. Thanks to that, the API allows the user to read the CDC log without having to deeply understand the internal structure of CDC.
It is recommended to get familiar with the documentation of CDC first, in order to understand the concept: https://docs.scylladb.com/using-scylla/cdc/
The library was written in pure Rust, using Scylla Rust Driver and Tokio.
The best place to get started with the library is the tutorial. You can also check the Scylla University lessons to learn more about the CDC.
The repository also contains two exemplary applications:
- Printer: prints all changes from CDC log for a selected table.
- Replicator: replicates a table from one Scylla cluster to another by reading the CDC log.
Use the GitHub Issues to report bugs or errors.
You can also join ScyllaDB-Users Slack channel and discuss on #cdc
channel.
- Scylla Rust Driver on GitHub
- Scylla Docs - Change Data Capture (CDC)
- Scylla University - Change Data Capture (CDC)
- ScyllaDB YouTube - Change Data Capture in Scylla
- ScyllaDB Blog - Using Change Data Capture (CDC) in Scylla
- scylla-cdc-java - A library for Java
- scylla-cdc-go - A library for Go
The library is licensed under Apache License 2.0. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 or in the LICENSE.txt file in the repository.