揭祕GaussDB(for Redis):全面對比Codis

摘要:Codis集羣在國內Redis生態圈很流行,社區已停止維護。本文從架構和特性兩方面對比,帶你感受華爲雲GaussDB(for Redis)的全新價值。

本文分享自華爲雲社區《華爲雲GaussDB(for Redis)揭祕第19期:GaussDB(for Redis)全面對比Codis》,作者: 高斯Redis官方博客 。

一、Codis究竟有多火?

說Codis是國內最流行的自建Redis集羣方案,一點也不爲過。客戶曾這樣說:

“Codis你不知道嗎?我們公司用了好多年了,好東西呀。”

的確,相比去中心化架構的開源Redis Cluster,Codis這種proxy代理集羣顯然更“好用”,甚至就連RedisLabs官方都推出了功能類似的redis-cluster-proxy來彌補傳統Cluster缺點。

然而其實從N年前開始,Codis社區就沒有人維護了,我們的客戶項目經理海鵬老師也經常要幫助客戶把自建Codis搬遷到雲上的GaussDB(for Redis)。

Codis的確很優秀,不過我們可以負責任地說:

華爲雲KV數據庫GaussDB(for Redis)更優秀!

二、GaussDB(for Redis) vs Codis:架構比拼

首先,我們從技術架構角度來看看兩款產品究竟哪裏不同。

如圖,架構上的差異一目瞭然,我們可以自頂向下分析:

1、非標SDK vs 標準SDK

公有云用戶普遍討厭“搞特殊”,然而Codis偏要搞特殊。Codis綁架用戶必須使用非標Jodis SDK來解決代理層單點故障問題。但如果用戶偏要使用標準SDK(如大名鼎鼎的Jedis)呢?Codis表示:對不起,跟高可用說拜拜吧。

相反,GaussDB(for Redis)在使用上則很友好,業務側使用任何標準SDK都行,同時高可用、自動負載均衡能力也全都在。上雲搬遷時,GaussDB(for Redis)兼容方面做得也很成熟,不論客戶原來代碼用的是StandAlone,還是Cluster、Sentinel等模式,都可以0改造上雲,真正做到開箱即用,體驗感極佳。

2、無負載均衡 vs 專業的ELB

Codis的代理層雖然提供了橫向擴展能力,但並不好用:要麼犧牲高可用來使用標準SDK連接單點;要麼使用Jodis SDK,但代價是業務走向非標化。

而GaussDB(for Redis)提供ELB,方便用戶統一接入,在簡化客戶端複雜度的同時,還帶來了專業的負載均衡能力。有了這個統一接入IP,用戶相當於自己在使用一個超大容量的單機Redis,而無需操心底層細節。

3、存算耦合 vs 存算分離

可以認爲,Codis是在多套Redis分片上做了一層封裝,架構模型是傳統的存算耦合。在大key、數據一致性、分片故障、擴縮容等典型場景中,都延續了開源Redis的長期“痛點”。

GaussDB(for Redis)採用存算分離架構,計算層聚焦數據業務,存儲層基於高性能分佈式共享存儲池,確保數據三副本存儲強一致,超高可靠。同時大幅節省硬件成本,幫業務減負。

三、GaussDB(for Redis) vs Codis:特性比拼

從前文的架構維度對比可以看出,GaussDB(for Redis)上有ELB讓業務側“更好用”,下有存儲池讓數據“更可靠”,比自建Codis集羣優秀了太多。

下面再從特性維度聊聊,GaussDB(for Redis)還能給業務側帶來哪些價值。

1、兼容性

GaussDB(for Redis)完全兼容Redis協議,同時兼容StandAlone/Cluster/Sentinel等多種SDK模式,方便業務搬遷上雲。而Codis的兼容性則顯得很差。

2、穩定性

自建Codis集羣穩定性強依賴開源Redis能力,不論是擴容還是大key場景,都有相同痛點,在此不再贅述。

GaussDB(for Redis)自研架構完全解決了開源Redis的fork問題,穩定性大幅提升;同時,在與分佈式存儲池架構的深度合作下,數據的可靠性也全面優於Codis。

3、成本

Codis依然是傳統純內存Redis的封裝,業務存不了多少就會觸及成本痛點。隨着業務長期發展,逐漸也會有數據降冷(如APP的冷用戶),此時Codis裏真正有價值的熱數據佔比越來越低,全量數據在內存中成本會相當高。

GaussDB(for Redis)的算力則按需選配,存儲價格低,非常適合大容量KV存儲場景。

四、總結

Codis是很多開發和運維同學曾經青睞的產品,是時代的記憶,但是,技術在快速發展。在這裏,建議使用了Codis的業務可以考慮使用GaussDB(for Redis),感受華爲雲這款企業級KV數據庫的全新價值。

五、附錄

  • 本文作者:

華爲雲數據庫GaussDB(for Redis)團隊

  • 更多產品信息,歡迎訪問官方博客:

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章