Redis/HBase/Tair比較

來源:互聯網
上載者:User

標籤:

KV系統對比表
對比維度

Redis Redis Cluster Medis Hbase Tair
訪問模式    支援Value大小 理論上不超過1GB(建議不超過1MB) 理論上可配置(預設配置10M,這個可以調大) 256M(更大value還需要測試)
支援Value結構 byte[]/list/map/set 支援分列族儲存,在列族(column Family)下支援多quantifier(quantifier支援即時增刪,不需要在schema中預定義)

(1)kv/map/list

(2)支援big_list(list無長度限制)

(3)支援建立schema,cmd query

支援的總資料量   1000+instance 按業務劃分group叢集,單個group不超過100GB scale out(業界已經有單機群幾百台伺服器的叢集規模應用案例) scale out,理論上總資料量無限制
適宜的讀寫比 存記憶體型,均適合 支援讀寫混合的業務模型(讀、寫應用不同的Cache,可配置適用各種比例的讀寫業務) 支援多引擎,適宜各種比例的讀寫。讀多寫少(mdb+leveldb),讀少寫多(leveldb)。
資料是否可改寫 Y Y 支援
是否支援Scan/Range Query   不支援,並且不支援merge operations Scan目前不支援(即將支援),Range Query不支援 支援按Key維度Scan

支援scan

支援range query

CAP   CP 僅CA(有方案可擴充為CP) CP 使用者可配置,CP或AP
語言支援 主流語言 主流語言,目前java、ruby可用 僅Java(有其它語言支援方案)

原生為Java介面。支援restful介面,支援通過thrift Server方式間接支援其他多用語言(如C,golang等)

php,restful,java,c/c++
訪問效能 點寫latency 虛機上平均1~2ms 平均5ms以下(寫操作直接刷cache和追加持久化HLOG即可)

5~8ms(write through),1ms左右(write back)

點寫吞吐率 一個instance 5w,單機器整體效能根據cpu來決定   虛機上單個redis節點5~10w qps,group的吞吐可通過多節點來擴充。受限網卡頻寬瓶頸 預計單節點可達20K/s(key + value = 1k) 受限網卡頻寬瓶頸(100MB),單機純記憶體8w~10w qps(key+value=1k)
批量寫吞吐率 受限網卡頻寬瓶頸 可在hbase叢集外直接將未經處理資料轉換為HFile(hbase底層隱藏檔),直接以檔案介面copy到hbase叢集即可(理論上受限於網路頻寬)

受限網卡頻寬瓶頸(100MB),單機純記憶體8w ~10w batch/s(batch=10keys,key+value=100,batch_size=1k)

讀latency 虛機上平均1~2ms 目前Java client的平均latency在5ms左右。(理論上負載過高時,latency會有所增加) 同機房記憶體1ms,磁碟5-8ms(延遲不會隨單機資料容量增加而增加)
可營運性 可擴充性(自動擴容、線上擴容)   支援水平擴充 支援線上擴容(暫不支援擴容時資料移轉),支援線上資料移轉 支援線上平滑擴容。 在不停讀和寫的服務下自動擴容
可用性(是否有單點、資料移轉/單機出錯時是否會有服務中斷、過載保護、慢查詢保護) 使用keepalived或者官方哨兵來保持高可用

無單點

無單點

資料移轉/單機出錯時自動容錯移轉

無過載保護(僅限制單用戶端到redis的串連數500)

無慢查詢保護

目前的叢集hmaster為單點服務(提供進程級恢複機制)。後續部署多hmaster方案。

單個RegionServer異常時,region服務被遷移到其他Server上時,該Server上的資料短時不可訪問。

無慢查詢保護

(1)無單點

(2)不中斷服務

(3)有過載保護

(4)無慢查詢保護,但有慢查詢遞迴樹監控

可靠性(如何防止資料丟失,包括機器斷電、硬碟損毀等情形下) 0~N個資料slave備份(實際使用方式基本是0個備份) 資料持久化在底層HDFS中,預設配置為三備份。

(1)多機資料冗餘

(2)斷電資料不丟失,重放redo log

(3)資料完整性crc校正(防止磁碟損壞)

對業務混合部署的支援(效能隔離) 進程級隔離(特殊處理可以到機器間隔離) 叢集級隔離

硬軟隔離:

(1)支援不同group的業務混步

(2)支援同一個group業務混步(通過名字空間隔離),支援網路和記憶體的隔離。

對存取權限的可控制性

web操作系統管理員授權

api操作支援鑒權和非鑒權兩種模式

提供機器接入的安全認證;

提供業務表層級的許可權認證機制(如讀、寫、管理營運等)。

機器粒度的白名單管理
實現語言、代碼量 JAVA,java用戶端14000行、管理中心22000行

Java。

client,30K

整個工程(包括client和測試案例等)500k

核心代碼c++,10w行左右

註:redis、redis cluster、medis如果沒有特殊說明,核心指標相同。

Redis/HBase/Tair比較

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.