Cassandra
你可能会说
写入量要到几百 TB,关系库已经扛不住了,下一步换什么?
为海量写入设计的宽列数据库去中心化、无主节点、线性扩展,写入极快;但分区键要提前设计好,且没有 JOIN 和跨行事务。
也常被叫作宽列数据库AP 数据库
什么时候选它
- 时序、日志、消息类海量写入
- 多地域、高可用,不能有单点
- 能接受最终一致和反范式设计
什么时候别选
- 需要 JOIN、事务、强一致
- 查询模式不固定(分区键会把模型锁死)
- 数据量不大——运维复杂度完全不划算
容易混在一起 · 怎么分
Cassandra≠MongoDB
Cassandra 多主、写入扩展更强、最终一致;Mongo 单主(副本集)、文档模型、查询更灵活。
Q面试会问什么
- 问:为什么写入快?
答:写入追加到 memtable 和 WAL,顺序落盘,无主节点协商;读取才需要合并。 - 问:分区键怎么选?
答:按主要查询维度、选高基数字段,避免热点和大分区(单分区有大小上限)。
延伸阅读 · 权威出处