选型

Cassandra

你可能会说

写入量要到几百 TB,关系库已经扛不住了,下一步换什么?

为海量写入设计的宽列数据库去中心化、无主节点、线性扩展,写入极快;但分区键要提前设计好,且没有 JOIN 和跨行事务。
也常被叫作宽列数据库AP 数据库
先问一句写入巨大、能接受最终一致?
默认Cassandra→擅长线性扩容写入→别用复杂查询事务
成熟度试验

什么时候选它

  • 时序、日志、消息类海量写入
  • 多地域、高可用,不能有单点
  • 能接受最终一致和反范式设计

什么时候别选

  • 需要 JOIN、事务、强一致
  • 查询模式不固定(分区键会把模型锁死)
  • 数据量不大——运维复杂度完全不划算
容易混在一起 · 怎么分
Cassandra≠MongoDB

Cassandra 多主、写入扩展更强、最终一致;Mongo 单主(副本集)、文档模型、查询更灵活。

Q面试会问什么

  • 问:为什么写入快?
    答:写入追加到 memtable 和 WAL,顺序落盘,无主节点协商;读取才需要合并。
  • 问:分区键怎么选?
    答:按主要查询维度、选高基数字段,避免热点和大分区(单分区有大小上限)。
延伸阅读 · 权威出处