NoSQL 數據庫, Cassandra 發布 1.2 版本
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.