#cdc #scylla

scylla-cdc

Library for consuming ScyllaDB CDC log for Rust

1 unstable release

0.1.0 May 11, 2023

#1610 in Database interfaces

Apache-2.0

120KB
2.5K SLoC

scylla-cdc-rust

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.

Getting started

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.

Examples

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.

Contact

Use the GitHub Issues to report bugs or errors. You can also join ScyllaDB-Users Slack channel and discuss on #cdc channel.

License

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.

Dependencies

~10–23MB
~283K SLoC