Apache Cassandra(社区内一般简称为C*)是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式架构于一身。Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性和性能,被 Constant Contact, CERN, Comcast, eBay, GitHub, GoDaddy, Hulu, Instagram, Intuit, Netflix, Reddit, The Weather Channel等超过1500家知名网站所采用,成为了一种流行的分布式结构化数据存储方案。
Cassandra的特点是高可扩展性,高可用性和高性能,可运行在商业硬件或云架构上,并支持跨机房,低延时,已被证明是任务敏感性数据的最佳平台。
1. 高扩展性体现在Cassandra支持线性扩展,End Point数据公司近期做了一个针对Apache Cassandra, HBase, MongoDB 和 Couchbase 的压力测试,图1显示Cassandra表现优异,在节点增加时,性能也跟着线性增加。
图1. End Point公司读取写入吞吐数据比较结果
多伦多大学的NoSQL性能指标分析结果也是相同的,如图2,3,4所示。
图2. 随机访问读取吞吐数据比较结果
图3. 随机访问及顺序扫描吞吐数据比较结果
图4. 混合读写吞吐数据比较结果
2. 高可用性体现在不存在单点情况,数据自动在多个节点间复制,每个节点数据是一致的,并支持跨数据中心的低延时,在不停机情况下替换出错的服务器。
3. 无论在单点情况下还是集群,Cassandra的性能表现非常不错。
因此总结一下,Cassandra是一个分布式的NoSQL数据库,高可扩展性,高可用性,低延时,跨数据中心。