我想知道如何在cassandra中使用CDC。我发现这已经从3.8版开始实现( https://issues.apache.org/jira/browse/CASSANDRA-8844)。有没有使用的例子?
答案 0 :(得分:1)
<强> 1。在cassandra.yaml上启用CDC
cdc_enabled (default: false)
Enable or disable CDC operations node-wide.
<强> 2。在表格上启用CDC
CREATE TABLE foo (a int, b text, PRIMARY KEY(a)) WITH cdc=true;
// or
ALTER TABLE foo WITH cdc=true;
第3。记忆刷新到磁盘后,您可以访问$CASSANDRA_HOME/data/cdc_raw
在此文件夹cassandra store CommitLogSegments
。您可以查看此链接Read CommitLogSegments
答案 1 :(得分:1)
您可以编写自己的CommitLogReader实现,或使用此sample implementation.
但是,请注意,CDC日志不太可靠(由于重复的事件和将数据刷新到CDC所花费的时间),并且在将来的发行版中可能会发生格式更改。
答案 2 :(得分:1)
我在与 Cassandra 兼容并支持 CDC 的 ScyllaDB 工作 - 使用起来更简单。
您可以指定是否仅获取增量、前图像、后图像。数据存储在系统生成的表中,可以通过 CQL 访问和读取。
因此: