请解释 Cassandra 在分布式数据库存储方面的实现原理,包括其数据分布、复制、一致性等关键机制。
考察说明
考查对 Cassandra 分布式存储核心机制的理解,包括数据分布、复制和一致性。
回答思路
- 【回答框架 1】Cassandra 采用去中心化的对等架构,所有节点地位相同,数据通过一致性哈希分布到环上,每个节点负责一部分 token 范围。
- 【回答框架 2】数据复制通过副本因子配置,同一数据存储多份,副本放置策略考虑机架和可用区,提高容错性。
- 【回答框架 3】一致性由 QUORUM 等一致性级别控制,读修复和 hinted handoff 机制确保最终一致性。
- 【回答框架 4】写入先记录提交日志,再写入内存表,定期刷新到 SSTable,结合布隆过滤器加速读取。
- 【回答框架 5】删除通过 tombstone 标记实现,后台压缩时清除,避免立即物理删除。
- 【关键点 1】一致性哈希环形分布
- 【关键点 2】副本因子和机架感知放置
- 【关键点 3】QUORUM 一致性级别
- 【关键点 4】提交日志和 SSTable 存储
- 【关键点 5】tombstone 删除机制
- 【易错点 1】过度强调强一致性,Cassandra 是最终一致性
- 【易错点 2】忽略 tombstone 和压缩机制可能占用存储
- 【易错点 3】未提及维护工具如 nodetool 的修复命令