NoSQL 数据库, Cassandra 发布 1.2 版本

jopen 8年前

Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由非死book开发,用于储存特别大的数据。非死book目前在使用此系统

主要特性:

  • 分布式
  • 基于column的结构化
  • 高伸展性

Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加节点就可以了。

Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比 Dynomite(分布式的Key-Value存 储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库 的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由非死book开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。

和其他数据库比较,有几个突出特点:

模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部 署上。
真正的可扩展性 :Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。
多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。

一些使Cassandra提高竞争力的其他功能:

范围查询 :如果你不喜欢全部的键值查询,则可以设置键的范围来查询。
列表数据结构 :在混合模式可以将超级列添加到5维。对于每个用户的索引,这是非常方便的。
分布式写操作 :有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。


NoSQL 数据库 Cassandra 发布 1.2 正式版,该版本包含 CQL3,这是在 2012年4月发布的 1.1 版本中引入的。CQL 是一个 Cassandra 的建模和查询语言,类似关系数据库中的 SQL。CQL3 支持多列主键和很多其他的改进

Another Cassandra 1.2 主要的增强还包括 vnodes 虚拟节点,可让集群的启动更快以及更方便的解除、修复和重做负载均衡。此外 1.2 版本还增加对 Atomic batch 的支持,支持大事务失败后的回滚,该特性在 1.2 默认启用但对性能有 30% 的影响,可在需要时关闭。此外为了提升性能集合使用二进制进行序列化而不是 JSON 格式。

Cassandra, the distributed, column-oriented NoSQL database, has been updated to version 1.2, says the Apache Software Foundation. Version 1.2 of Cassandra sees the official release of CQL3, which was introduced in beta in April 2012's Cassandra 1.1 release. CQL is the modelling and query language for Cassandra that borrows, syntactically, from SQL to offer a more familiar database environment for developers. CQL3 allows for multi-column primary keys and many other changes, which are now established.

Another Cassandra 1.2 enhancement is the introduction of vnodes, virtual nodes which will allow a Cassandra cluster to bootstrap faster and be easier to decommission, repair and rebalance. Atomic batch support has also been added to Cassandra 1.2 allowing large transactions to be rolled back if they fail; batches are atomic by default in Cassandra 1.2 but do come with a 30% hit in performance and can be disabled as needed. Collections are now binary serialised instead of JSON serialised for better performance.

Cassandra began life as a 非死book-developed NoSQL system before being handed over to the Apache Software Foundation. Since then it has been put into use by companies such as Adobe, Cisco, Disney, eBay, FormSpring, IBM, Netflix, Openwave, Rackspace, Reddit, 推ter, and the US Government. Apache Cassandra is published under the Apache 2.0 licence and the server, driver and tools are available to download.