近日,Apache 发布了 Cassandra 1.0.0 ,这是该分布式基于列的数据存储的首个主要里程碑版本,带来了数据压缩与其他几处性能改进和优化。
Cassandra 为 Apache 的顶级开源项目,是个可伸缩的分布式( Amazon 的 Dynamo 与 Google BigTable 基于列的数据模型是其代表)数据库管理系统。Cassandra 最初是由 Facebook 开发的,后来在 2008 年开源,现在一直处于开发当中。近日,Apache发布了其首个主要的里程碑版本Cassandra 1.0.0,带来了大量的新特性、改进和Bug 修复。
呼声最高的一个特性就是数据压缩。 Cassandra 1.0 支持每个 ColumnFamily 的数据压缩,ColumnFamily 是个列的容器,类似于传统关系数据库的表。压缩过程在后台运行,对于节点的响应时间没什么影响。压缩将数据所占据的空间减少了 2 到 4 倍,据 Pavel Yaskevich 所述,这间接提升了 25-35% 的读性能以及 5-10% 的写性能。
根据 Apache Cassandra 项目的副总裁 Jonathan Ellis 所述,从 Cassandra 0.6 到 1.0,性能有了很大的提升,“与 2010 年的发布相比,写性能提升了 40%。但我们真正想要改进的是读性能,这提升了惊人的 400%”。
其他改进有:
通过 off-heap 缓存、空间搜集和自动化的自我调整,内存管理得到了改进,GC 暂停数更少、性能更加可预测(点击这里查看详细信息)。 更好的磁盘空间管理:通过提交日志与即时删除废弃的数据文件实现了更好的空间占用控制。
新的可选级别的压缩策略,提供了更加可预测的性能与确定的 SStable 大小(点击这里查看详细信息)。
改进的 hinted handoffs,这样就需要更少的读修复,实现了更好的读性能。
大量的性能改进(点击这里查看详细信息)、CQL、修复、更简单的操作等等。
目前,Cisco、 Digg 、 Facebook 、 Rackspace 、 Reddit 、 Twitter 等公司都在使用Cassandra,最大的产品集群在150 多台机器上拥有超过100TB 的数据。
评论