Prev Next

Database / ScyllaDB Interview questions

How does ScyllaDB implement Change Data Capture internally?

When CDC is enabled on a table, ScyllaDB automatically creates a companion log table alongside it, and every insert, update, or delete on the base table also writes a corresponding row into that log table describing the change, as part of the same write path.

flowchart TD A[Write to base table] --> B[Mutation applied to base table normally] A --> C[Change record appended to CDC log table] C --> D[Log table partitioned by time-based streams] D --> E[Consumer reads log table via CQL / Kafka connector] E --> F[Consumer acknowledges progress per stream]

The CDC log table is a regular ScyllaDB table under the hood, partitioned by time-based "streams" so that reading recent changes is an efficient, sequential operation rather than a full scan, and it carries its own TTL so change history doesn't grow unbounded. Consumers, whether custom CQL clients or the official Kafka Source Connector, read from this log table incrementally, tracking their own progress per stream so they can resume where they left off after a restart. Because the log write happens as part of the same mutation as the base table write, CDC records are captured with the same durability and ordering guarantees as the underlying data, avoiding the missed-event problems that separate, out-of-band change-tracking mechanisms can suffer from.

What does enabling CDC on a table automatically create?
Why doesn't CDC suffer the missed-event problems of separate change-tracking systems?

Invest now in Acorns!!! 🚀 Join Acorns and get your $5 bonus!
Acorns Logo

Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!

Earn passively and while sleeping

Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.

Robinhood Logo

Invest now!!! Get Free equity stock (US, UK only)!

Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.

The Robinhood app makes it easy to trade stocks, crypto and more.


Webull Logo

Webull! Receive free stock by signing up using the link: Webull signup.

More Related questions...

What is ScyllaDB? What are the key features of ScyllaDB? What is the shard-per-core architecture in ScyllaDB? Define a partition key in ScyllaDB? What is a clustering key in ScyllaDB? What are the data types supported by ScyllaDB? Describe the Seastar framework used by ScyllaDB? What are the types of consistency levels in ScyllaDB? List the compaction strategies available in ScyllaDB? How do you create a table in ScyllaDB? What is a materialized view in ScyllaDB? Explain the purpose of the commit log in ScyllaDB? What is ScyllaDB Alternator? How do you apply TTL to data in ScyllaDB? What is ScyllaDB Manager? Why doesn't ScyllaDB rely on a JVM? How does ScyllaDB achieve linear scalability per node? What is the difference between ScyllaDB and Apache Cassandra? When should you use a local secondary index versus a global one? What happens when a wide partition forms in ScyllaDB? How is data replicated across nodes in ScyllaDB? Why should you avoid large batch statements in ScyllaDB? What is the difference between ScyllaDB and DynamoDB? How does ScyllaDB handle node failure with hinted handoff? When would you choose LOCAL_QUORUM over QUORUM? How can you optimize write performance in ScyllaDB? What is the difference between memtables and SSTables? Why do we use tombstones in ScyllaDB? How does ScyllaDB's shard-aware driver route requests? What is the difference between STCS and LCS compaction? When should you use lightweight transactions in ScyllaDB? How is repair implemented in ScyllaDB? Why doesn't ScyllaDB support arbitrary ad-hoc joins? What is the difference between ScyllaDB tablets and vnodes? How do you troubleshoot high read latency in ScyllaDB? Explain the internal working of the Seastar future-promise model? Explain the execution flow of a write request in ScyllaDB? Explain the lifecycle of an SSTable in ScyllaDB? How does ScyllaDB guarantee strongly consistent schema changes using Raft? What happens internally when ScyllaDB performs compaction? How can you optimize a multi-datacenter ScyllaDB deployment for latency? Which is better and why: LOCAL_QUORUM or ONE for a globally distributed app? How does token-aware routing improve latency in ScyllaDB? Why is the gossip protocol critical to ScyllaDB's cluster membership? How do you troubleshoot compaction backlog in ScyllaDB? Explain the internal working of ScyllaDB's read path? What happens when a node becomes unavailable in a ScyllaDB cluster? How does ScyllaDB implement Change Data Capture internally? Explain the execution flow of a lightweight transaction in ScyllaDB? How can you optimize schema design to avoid wide partitions at scale?
Show more question and Answers...

Integration

Comments & Discussions