結論:譬如專利搜索引擎用MongoDB好(專利是一次寫,多次讀), 在線應用系統用cassandra .
這是一篇基於亞馬遜雲平臺上對三個主流的NoSQL數據庫性能比較,在讀寫兩個操作不同的組合情況下性能表現不同。
橫座標是吞吐量,縱座標是延遲,這是一對矛盾,吞吐量越大,延遲越低,代表越好。
1. 純粹插入,Cassandra領先,見下圖:
2.WorkloadA: 讀修改操作各佔一半情況下的修改性能:MongoDB明顯延遲增加,落敗:
3.WorkloadB:讀修改操作各佔一半情況下的讀性能:Cassandra落後
4.WorkloadB: 95%的read和5%的update以讀爲主的場景下修改性能:MongoDB落後:
5.WorkloadB: 95%的read和5%的update以讀爲主的場景下讀取性能:
三者差不多,HBase好些:
6.WorkloadC 100%的read:
7.WorkloadD 5%的插入和95%的讀的場景下插入性能,Cassandra表現最好。
8.WorkloadD 5%的插入和95%的讀的場景下讀性能,Cassandra表現最好。
9.WorkloadF 50%的read-modify-write 和50%的read,讀取性能:
10.WorkloadF 50%的read-modify-write 和50%的read,修改性能,MongoDB表現最差
11.WorkloadF 50%的read-modify-write 和50%的read,read-modify-write性能,MongoDB表現最差
12.WorkloadG 90%的插入insert和10%的讀取,插入性能:
總體個人總結:HBase比較中庸些,適合各種場景,Cassandra適合讀寫分離的場景,寫入場景使用Cassandra,比如插入操作日誌,或領域事件日誌的寫入;而MongoDB適合做讀寫分離場景中的讀取場景,Cassandra與MongoDB之間使用定時同步,適合一致性要求不是特別強的業務。
轉自: http://grefr.iteye.com/blog/2017602