如何根據效能選擇記憶體NoSQL資料庫?

2021-07-09 10:31:19 字數 1490 閱讀 9003

本文主要內容是測試了不同nosql資料庫在測試工具ycsb中的表現。我們選取了3款流行的記憶體(in-memory)資料庫管理系統:redis,tarantool 以及 couchbase,還有快取系統memchached。memchached雖然不屬於資料庫管理系統但常作為快速儲存系統使用。

測試環境由4臺在microsoft azure cloud中的虛擬機器組成的計算機組組成。這些虛擬機器同屬於乙個資料中心。nosql-1和nosql-2用作測試tarantool和couchbase,nosql-3和nosql-4用作測試redis,azure redis cache 以及 memcached。這些機器都安裝和配置了相應資料庫和測試專案。虛擬機器的配置為4核a3 cpu,7gb ram,120gb硬碟。

資料庫及設定

couchbase server是開源分布式nosql面向文件資料庫,這裡使用的版本是couchbase 4.0.0-4047-1。

ycsb測試工具

yahoo! cloud serving benchmark(ycsb)是功能強大的nosql資料庫效能測試工具,它提供了6種主要的負載工作型別,以字母a到f來區分。

負載a負責更新操作,極值是50/50的讀寫操作,如用於進行新近操作記錄。負載b負責讀取操作,極值是95/5的讀寫操作,如用於進行標籤管理,多進行標籤讀取操作。負載c負載100%的讀取操作,如用於進行使用者屬性獲取。負載d以先進先出方式進行插入操作,如使用者進行最新資料讀取。負載e負責小範圍記錄讀取而不是單個記錄讀取,如執行緒會話。負載f負責記錄的讀取,修改和寫入,如使用者資訊管理。

下列測試結果圖以顏色進行測試物件區分,

tarantool (hash) (藍)

tarantool (tree)(淺藍)

redis (紅)

azure redis cache (橙)

memcached (綠)

couchbase(黑)

更多[這裡]檢視。 結論

tarantool在所有負載型別測試中皆取得了最優成績。它建立了乙個無鎖記憶體引擎,以協同多工方式進行操作而不是互斥或並行處理方式。根據以下效能圖表現,我們的結論是tarantool的高吞吐量處理是其最大優勢之一。因此在多數場合下,tarantool是使用者的最佳選擇。

原文:highscalability

**:

如何選擇nosql

眾所周知的nosql 有三個,mongodb,redis,hbase。對於好多天秤座的技術經理來說,選擇糾結症就犯了,下面說說具體怎麼選型。mongodb 我覺得定位是彌補關係型資料庫的併發讀寫效能,想當乙個主流資料庫。因為它儲存的是非結構化資料,非常方便擴充字段,資料比較靈活。而且用系統級的記憶體...

jquery如何根據text選擇option

test option text b attr selected true 或 test find option text b attr selected true 然而,在我的 中卻不起作用,不知原因為何!終於在海量無用的搜尋結果中找到一條線索,解決了問題 原因 上面兩種方法在jquery低於1....

大資料浪潮襲來 企業該如何選擇NoSQL?

文章講的是大資料浪潮襲來 企業該如何選擇nosql,在當今這個大資料時代下,優秀的傳統關係型資料庫管理系統已經無法應對很多資料庫處理任務。在今天的文章中,我們將一同 如何在各類nosql後備方案中找到適合自己的選擇。在過去幾個禮拜裡,我一直在芝加哥為自己的公司部署衛星辦公室。雖然矽谷確實算得上是大資...