3大主流NoSQL數據庫性能對比測試報告


近日,知名獨立基准測評機構Bankmark,針對目前市面上主流的NoSQL數據庫SequoiaDB、MongoDB以及Cassandra三款NoSQL數據庫產品做了性能對比測試並發布測試報告。在所有的測試中,三款NoSQL數據庫產品的表現各有千秋,沒有那款產品能在所有測試場景中完敗對手,就整體表現而言SequoiaDB與Cassandra不相上下表現上佳,而MongoDB表現卻不理想屬於墊底的存在。

  測試機構:

  Bankmark是一家德國的獨立基准測評機構,業內著名的NoSQL性能測試團隊。

  測試產品:

  MongoDB(目前名氣最大,用的人最多的NoSQL數據庫,占據了非關系型數據庫的主流位置。)

  SequoiaDB(由前IBM DB2團隊的研發人員創建,據稱在性能和功能上能夠與MongoDB做正面抗衡。)

  Cassandra(是Facebook的數據庫系統的開源分支,支持者眾多,而Cassandra能一直穩壓HBase(高貴的血統,與Hadoop天然集成)長期霸占列存儲第一更是其優越性的強有力證明。)

  測試環境:

  Bankmark使用了 Yahoo Cloud Serving Benchmark(YCSB)測試框架作為測試工具。

  所有的測試都在物理硬件上進行,沒有使用任何虛擬化的層級。

  所有的數據庫測試都在一個10節點的集群上進行,其中10台服務器(Dell PowerEdge R520(5台)、Dell PowerEdge R720(5台))作為數據庫系統的主機,5台(HP ProLiant BL465c)刀片機作為YCSB客戶端。

  測試結果:

  從報告結果來看,沒有那款產品能在所有測試場景中全部擊敗對手,在“大部分內存環境”的設定下,SequoiaDB的性能明顯優於其他的產品,除了在Cassandra的強項“讀多寫少”。在“全內存環境”下測試結果表明,SequoiaDB擁有更快速的讀請求性能,而Cassandra在寫請求下表現要好於SequoiaDB。然而,在所有的測試案例中,MongoDB幾乎都是最慢的。更多內容請見測試報告(NoSQL Performance Test

  大部分內存環境(Mostly-in-memory):原始數據大小為總RAM大小的1/4

  全內存環境(in-memory):原始數據大小為總RAM大小的1/2

  測試場景1: 2億條記錄(每個節點2000萬)

  在本實驗中,全內存環境下(原(始)數據大小大約占系統總內存的45%左右 )

  1、單條數據導入

3大主流NoSQL數據庫性能對比測試報告
▲單條記錄載入測試

  從上圖結果中可以看到,在全內存環境下,單條記錄載入操作,Cassandra最高,總吞吐量可達每秒近7萬,Mongodb最差。

  2、批量數據導入(1000條記錄一批次)

3大主流NoSQL數據庫性能對比測試報告
▲批量記錄載入測試

  在該測試中,數據為每批次1000條,測試結果顯示,SequoiaDB可以達到每秒鍾近6.5萬的導入速度。

  3、Zipfian分布,100%讀

3大主流NoSQL數據庫性能對比測試報告
▲單純隨機查詢測試

  單純隨機查詢的測試中,SequoiaDB表現最為突出,Mongodb次之。

  4、Zipfian分布,50%讀,50%更新

3大主流NoSQL數據庫性能對比測試報告
▲查詢更新平衡測試

  在查詢更新平衡測試中(50%讀,50%更新),Sequoiadb表現最佳,Mongodb表現最不理想。

  5、Zipfian分布,5%讀,95%更新

3大主流NoSQL數據庫性能對比測試報告
▲更新為主的測試

  在以更新為主的測試中(5%查詢,95%更新),Cassandra表現最佳。

  6、Zipfian分布,95%讀,5%更新

3大主流NoSQL數據庫性能對比測試報告
▲查詢為主的測試

  在以查詢為主的測試中(95%查詢,5%更新),mongodb表現最優秀,Cassandra最差

  7、latest分布,95%讀,5%插入

3大主流NoSQL數據庫性能對比測試報告
▲查詢最新測試

  從圖中可以看出,查詢最新測試中,SequoiaDB對於剛剛寫入至內存中便讀取的場景性能最佳,Cassandra最差

  測試場景2: 1億條記錄(每個節點1000萬)

  在本案例/實驗中,大部分內存環境下(原(始)數據大小大約占系統總內存的22%左右)

  1、單條記錄導入

3大主流NoSQL數據庫性能對比測試報告
▲單條記錄導入測試

  從上圖結果中可以看到,在大部分內存環境下,單條記錄載入操作,Sequoiadb最佳。這與在全內存環境下結果發生了變化。

  2、批量數據導入

3大主流NoSQL數據庫性能對比測試報告
▲批量載入測試

  測試結果顯示,SequoiaDB可以達到每秒鍾7萬多的導入速度。

  3、Zipfian分布,100%讀

3大主流NoSQL數據庫性能對比測試報告
▲單純隨機查詢的測試

  單純隨機查詢的測試中,SequoiaDB表現依然是最為突出,Cassandra次之。。

  4、Zipfian分布,50%讀,50%更新

3大主流NoSQL數據庫性能對比測試報告
▲查詢更新平衡的測試

  在查詢更新平衡測試中,50%讀,50%更新,Sequoiadb依然表現最佳

  5、Zipfian分布,5%讀,95%更新

3大主流NoSQL數據庫性能對比測試報告
▲更新為主的測試

  在以更新為主的場景測試中(5%查詢,95%更新),Cassandra秒殺對手。

  6、Zipfian分布,95%讀,5%更新

3大主流NoSQL數據庫性能對比測試報告
▲查詢為主的測試

  在以查詢為主的場景中(95%查詢,5%更新),Cassandra表現最佳,Mongodb反而表現最差

  7、 latest分布,95%讀,5%插入

3大主流NoSQL數據庫性能對比測試報告
▲查詢最新的測試

  從圖中可以看出,與全內存環境不同的結果,SequoiaDB依然最快,Cassandra超過Mongodb僅次於SequoiaDB。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM