一、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连贯单点;要么应用JodisSDK,但代价是业务走向非标化。
而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数据库的全新价值。
828-B2B企业节炽热进行中!轻松应答高并发拜访,为企业发明更多价值。
想理解更多华为云产品相干信息,请分割咱们,电话:950808按0转1