wisconsin
Deck 09: Cassandra

Deck 09: Cassandra

Content locked

The catalog is public. Reading this content requires approved access.

Sign in to read
Deck 09: Cassandra
Q1. Given a token T for a row that is replicated N times, how do you “walk the ring” to find the N nodes necessary?
Q2. What does “ack” stand for, and what does it mean in the context of writing data?
Q3. If you receive an ACK, what does it mean?  If you don’t receive an ACK, what does it mean?
Q4. Cassandra has RF, W, and R options.  How are these used when reading and writing data?
Q5. In terms of RF, W, and R: what should you do if you want a stronger durability guarantee when you get an ack?
Q6. In terms of RF, W, and R: what should you do if you want better write availability?
Q7. In terms of RF, W, and R: what should you do if you want better read availability?
Q8. In terms of RF, W, and R: what should you do if you want to guarantee that reads will see the last written data?
Q9. What does eventually consistent mean?
Q10. In eventually consistent systems, sometimes you do a read, and you get conflicting versions of the data back.  Neither version can be considered strictly better.  What are some approaches to handling this?  What does Cassandra do?
Q11. What does it mean for an operation to be idempotent?
Q12. How might we make an operation idempotent, even if it not naturally so?
Q13. Why does Cassandra have tokens for vnodes (virtual nodes) instead of just for nodes (the workers in the cluster)?
Q14. Given a Cassandra row’s token, how do we select a vnode to be responsible for that token?  Assume single replication.
Q15. What is the “wrapping range” in Cassandra, and how do we handle it?  Assume single replication.
Q16. What is “heterogeneity” in a cluster?
Q17. Where is the token map stored in Cassandra?
Q18. How do we update the token map in Cassandra?  For example, we might need to insert some new vnodes to the token map if a new worker joins the cluster.
Q19. If a client wants to interact with a Cassandra cluster, how does it start?
Q20. When multiple nodes in a system can be affected by the same fault, we say they are in the same _________
Q21. What are some examples of “faults”, and what does fault tolerance mean?
Q22. What are a couple famous systems that use consistent hashing to partition data across workers?
Q23. In consistent hashing, how are tokens managed for (a) workers and (b) rows?
Q24. At what granularity can a user specify the replication factor, in both HDFS and Cassandra?
Q25. What is the primary key in a Cassandra table?
Q26. What about a row determines which Cassandra workers are responsible for that row?
Q27. What determines the sort order of rows within a partition?
Q28. For what kinds of columns are the same values shared across many rows of data?
Q29. What are two systems that inspired the design of Cassandra?
Q30. What is a Cassandra keyspace, and where is the data it contains stored?