Prev Next

Database / ScyllaDB Interview questions

How does ScyllaDB guarantee strongly consistent schema changes using Raft?

Older versions of ScyllaDB (and Cassandra) propagated schema changes via gossip, an eventually-consistent protocol, which could momentarily leave different nodes with slightly different views of the schema during a rollout, an acceptable risk for schema but not ideal. ScyllaDB has since adopted Raft, a leader-based consensus protocol, specifically for schema and cluster topology changes.

Under Raft, schema changes are proposed to a Raft group spanning the cluster's nodes; a leader replicates the change as a log entry, and it's only considered committed once a majority of the group has durably persisted it. Every node applies committed log entries in the same order, which guarantees that at any point every node either has the old schema or the new one - never an inconsistent in-between state - unlike gossip's best-effort convergence. The same Raft-based mechanism is used for topology changes (adding/removing nodes, tablet migrations), which is what makes those operations safer and faster to reason about than the older gossip-driven approach.

What protocol did ScyllaDB previously use for schema propagation?
What does Raft guarantee that gossip did not for schema changes?

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