加载中...
Cassandra 是 Apache 基金会旗下的分布式 NoSQL 数据库,起源于 Facebook 的收件箱搜索项目,2008年开源。采用去中心化的环形架构,无单点故障,以线性水平扩展和跨数据中心复制能力见长,适合超大规模写入密集型场景。

| 类型 | 分布式 NoSQL 宽列存储 |
| 起源 | Facebook,2008年开源 |
| 当前归属 | Apache Software Foundation |
Cassandra 的架构直接借鉴了 Amazon Dynamo 论文,所有节点地位平等,通过 Gossip 协议互相交换状态,不存在 Master。数据按一致性哈希分布在环上,每条数据写入时可以指定一致性级别:QUORUM 要求多数节点确认,ONE 只等一个节点,这种可调节的一致性是 Cassandra 区别于传统数据库的核心设计哲学。
写入路径非常高效:数据先写 CommitLog(顺序 IO),再写内存中的 Memtable,Memtable 满后刷写为磁盘上不可变的 SSTable。读取时需要合并多个 SSTable 的结果,因此 Cassandra 的写远比读快——这和大多数数据库相反。[1]
Cassandra 的数据建模与关系型数据库思路完全相反:先想查询,再设计表结构。不支持 JOIN,不支持聚合子查询,WHERE 条件必须匹配主键或索引。一个查询场景往往对应一张专门的宽表(Wide Table),数据冗余是正常的、被鼓励的。
Apple 的 iCloud 是 Cassandra 最著名的大规模用户之一,曾披露其集群节点数超过75000个。Netflix 用它存储用户观看历史,Instagram 用它存储时间线数据。

| 类型 | 分布式 NoSQL 宽列存储 |
| 起源 | Facebook,2008年开源 |
| 当前归属 | Apache Software Foundation |
登录 后参与讨论
暂无讨论,来发表第一条评论吧