NoSQL數據庫全方位對比


2011-06-10 13:47 | 6795次閱讀 | 【已有11條評論】發表評論

來源:博客 | 作者:Kristóf Kovács | 收藏到我的網摘

導讀:近日曾在多家大公司任職的軟件架構師兼顧問Kristóf Kovács在博客中對主流的NoSQL數據庫(Cassandra、Mongodb、CouchDB、Redis、Riak以及HBase)進行了全方位的對比。

雖然SQL數據庫佔據統治地位15年,但現在該是結束的時候了,這只是時間問題。在NoSQL如日中天的今天,各種NoSQL產品可謂百花齊放,但每一個產品都有自己的特點,有長處也有不適合的場景。本文對Cassandra、Mongodb、CouchDB、Redis、Riak以及HBase進行了多方面的特點分析。

CouchDB使用的開發語言爲Erlang,遵循Apache許可,使用HTTP/REST協議。主要優點是可保持數據一致性和易用性,同時允許多站部署。CouchDB主要適用於積累性的、並且較少改變數據的應用。例如CRM、CMS systems等。

Redis使用的開發語言爲C/C++,遵循BSD許可,使用Telnet-like協議。主要優點是速度極快。Redis主要適用數據集數據時常變化的應用。但內存佔用較大。主要應用於金融機構、實時分析、實時數據收集、實時通信等。

MongoDB使用的開發語言爲C++,遵循AGPL(Drivers:Apache),使用Custom,binary(BSON)協議。MongoDB適用於動態查詢、且定義索引比Map/Reduce效能更佳的地方。不過與CouchDB一樣其數據變動較多,需要大容量磁盤。MongoDB可在任何Mysql/PostgreSQL的環境下使用。

Cassandra使用的開發語言是Java,遵循Apache,使用Custom,binary(Thrift)協議。Cassandra適用於寫入多於查詢的場合,例如銀行和金融行業等需要實時數據分析的行業。

Riak使用的開發語言是Erlang & C、Javascript。遵循Apache,使用HTTP/REST協議。Riak具有高容錯性的特點。Riak和Cassandra非常相似。當需要高擴展性和高容錯性時Riak是不錯的選擇。但多站點的部署需要付費。Riak適用於銷售數據錄入、工控系統等一些不允許宕機的場合。

HBase使用的開發語言爲Java,遵循Apache,使用HTTP/REST協議。HBase可支持高達數十億的列。如果你喜愛BigTable並且需要一個能提供隨機實時讀寫訪問你海量數據的數據庫,HBase是不錯的選擇。HBase現被Facebook郵件數據庫所使用。

原文鏈接:http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章