暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为云GaussDB(for Redis)揭秘第18期:谁说Redis不能存大key

GaussDB数据库 2022-06-09
425


一、社区版Redis的大key痛点


GaussDB(for Redis)专家小强最近有点忙,因为很多客户经理都来找他咨询社区版Redis的大key问题,且一个个都求知欲爆表:



小强一拍大腿:你们还真问对人了!


根据现网经验,生产环境因为大key导致的Redis事故屡见不鲜,其中典型的有扩容失败、请求阻塞、OOM宕机等等。早期业务规划不充分、消息队列消费不及时、未及时清理无效数据等原因都可能引入大key隐患。


社区版Redis大key隐患常见于以下三大场景


  1. 内存消耗不均衡,大key所在分片有OOM风险

  2. 扩容时需要搬迁部分数据,大key耗时久,会导致访问阻塞甚至数据丢失

  3. 删除或过期大key时,业务访问被长时间阻塞,甚至导致主从同步中断


社区版Redis架构并不适合可靠存储大key,业界也只能建议预防、拆分或及时清理大key。从客户视角出发,其实有些场景是需要大key的,例如企业ERP系统,海量货币汇率存储等。这时即使适当拆分,也避免不了较大HASH key存在。


二、华为云GaussDB(for Redis)的大Key解决方案


小强始终认为,好的产品应当尽量把复杂留给自己,把简单留给用户。因此,小强给每一位来咨询大key问题的客户经理都安利了better解决方案——
使用华为云企业级KV数据库GaussDB(for Redis)

大key场景下,GaussDB(for Redis)究竟比社区版Redis优秀在哪?下面从3个角度深度分析:

01
高斯Redis支持大key存储,不用担心分片OOM


  • 社区版Redis存储大key会导致分片内存消耗不均,随着集群整体数据量水位提升,大key所在分片随时有OOM风险。



  • 高斯Redis支持大key可靠存储,且不会导致分片OOM。需要注意的是,虽然高斯Redis适合用来可靠存储大key,但从网络链路角度考虑,业务应避免对大key执行诸如hgetall等风险命令。



02
高斯Redis在大key场景中也支持秒级无损扩容

  • 社区版Redis在扩容时,由于要搬迁数据,此时画风是这样的:


图:社区版Redis在大key场景扩容,风险高

可以总结为:有大key,开源Redis请谨慎扩容

  • 高斯Redis支持秒级扩容,并支持升规格、加节点、加存储容量3种手段灵活扩容,运维体验极佳。

图:高斯Redis在大key场景可安全扩容

从上图可以看出,高斯Redis采用计算、存储分离架构,扩容时不必搬迁任何数据,因此速度、稳定性都远超社区版Redis。有大key,高斯Redis可以放心扩容!

03
高斯Redis删除/过期大key时,业务0阻塞

  • 社区版Redis大key的删除/过期都会导致访问严重阻塞。实测删除/过期一个大hash key(包含1000w个元素),社区版Redis访问阻塞长达整整14秒

图:社区版Redis在大key删除场景阻塞业务访问

虽然社区版Redis提供了“异步”的unlink命令能够一定程度上缓解大key阻塞问题,但unlink并非严格异步,例如对于zset类型(skiplist编码)以及全部string key都只能阻塞删除,风险不可控。


  • 高斯Redis从根本上解决了大key删除/过期操作隐患。在高斯Redis中,对任何数据执行删除/过期,都是立刻执行成功且0阻塞。这是由于底层采用了真正的“标记删除”,因此完全不影响业务访问。实测删除/过期一个大hash key(包含1000w个元素),高斯Redis仅毫秒级


总结


根据上述对比评测,可看出相比社区版Redis的实际表现,高斯Redis更适用于大key的可靠存储场景。除了能解决业务大key痛点外,高斯Redis在稳定性、可靠性、安全性等方面也有全面的提升。

附录


  • 本文作者:华为云数据库GaussDB(for Redis)团队
  • 杭州/西安/深圳简历投递:yuwenlong4@huawei.com
  • 产品官网:huaweicloud.com/product/gaussdbforredis.html


6月15-16日


首届“华为伙伴暨开发者大会”,以“因聚而生 为你所能”为主题,采用线上直播+线下80余个分会场联动的形式,承接“华为中国生态大会”开放共赢的理念和“HDC.Cloud”勇于创新的精神,聚焦伙伴和开发者最为关切的话题,给出切实方案;聚合每一位ICT产业成员,能力互补,共同成就;释放更多潜力,拥抱更广阔的价值新空间,携手实现更大的商业成功。


在本届大会上,华为云将带来主题演讲、论坛、专场等一系列丰富的活动,与伙伴、开发者、业界大咖、技术专家和高校分享"一切皆服务"的最新技术和优秀实践,共创新价值。同时将揭幕华为ICT领域的旗舰开发者赛事“华为开发者大赛”,助力开发者创新无限。


        
大会官网
一站了解大会所有内容


点击“阅读原文”,了解更多产品信息

文章转载自GaussDB数据库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论