【大數據-文摘筆記】MongoDB、Cassandra 和 HBase 三種 NoSQL 數據庫比較

1.超過100種的NoSQL 數據庫,該如何選擇?數據庫

目前市場主要圍繞在三個NoSQL數據庫上:MongoDB,Cassandra(主要由DataStax開發的,誕生於Facebook),和HBase的(和Hadoop緊密關聯在一塊兒,也被相同社區開發出來)。緩存

補充一點,故意排除Redis,主要是由於相對於大數據存儲,它主要用於高速內存緩存數據應用。安全

上圖來自於 DB-Engines 各類數據庫的流行度排名(https://db-engines.com/en/ranking_trend),能夠看到前面幾年基本上都是關係數據庫 Oracle、MySQL、SQL Server 以及 PostgreSQL 的天下。MongoDB 排名第五名, Cassandra 排名十名,而 HBase 排名十七名。服務器

2.MongoDB:源於開發人員,爲開發人員服務oop

MongoDB 一般是開發人員第一個嘗試的NoSQL數據庫,由於它是很容易學習。(MongoDB以文檔的形式存儲數據,不支持事務和錶鏈接。所以查詢的編寫、理解和優化都容易得多。)性能

MongoDB是專門爲OLTP(On-Line Transaction Processing,聯機事務處理系統)模式。若是您須要複雜的事務處理,它不是一個好的選擇。然而,MongoDB的簡單性使其成爲一個優秀的存儲。學習

3.Cassandra:規模化安全運行大數據

MongoDB贏得人心的緣由是簡單的開發應用,Cassandra贏得人心是由於易於管理的規模。優化

Cassandra在機器拓展部署上,表現特別出色。Cassandra自帶的備份機制,保證各個數據中心的數據安全。至於增長容量到集羣,「你只需啓動一臺新機器,並告訴Cassandra那裏的新節點,而後它完成其餘剩下的事情。spa

4.HBase:Hadoop的知心夥伴

HBase,像Cassandra同樣是個經過key-value面向列存儲的服務。HBase提供了一個基於記錄的存儲層,可以快速隨機讀取和寫入數據,正好彌補了Hadoop的缺陷,Hadoop側重系統吞吐量,而犧牲I / O讀取效率爲代價。

HBase能夠利用任何數量服務器的磁盤、內存和CPU資源,同時擁有極佳的擴展功能,如自動分片。當系統負載和性能要求不斷增長,HBase的可經過簡單增長服務器節點的方式無限拓展。

因爲它與Hadoop的生態系統緊密集成,對於用戶和應用程序來講,數據是容易獲取的,能夠經過SQL的方式查詢(使用Cloudera的Impala,Phoenix,或Hive),甚至自由文本搜索(使用Cloudera Search)

 

參考文檔:

MongoDB、Cassandra 和 HBase 三種 NoSQL 數據庫比較

相關文章
相關標籤/搜索