、社区版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个角度深度分析:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

三、总结

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

828-B2B企业节火热进行中!轻松应对高并发访问,为企业创造更多价值。

华为云GaussDB(for Redis)揭秘:谁说Redis不能存大key相关推荐

  1. 华为云GaussDB(for MySQL)2.0全新升级,三大技术大揭秘

    摘要:9月23日,在华为全联接2021主会场,华为高级副总裁.华为云CEO.消费者云服务总裁张平安发表"深耕数字化,一切皆服务"主题演讲,并发布了GaussDB(for MySQL ...

  2. 华为云GaussDB,11.11让企业无后顾之忧

    每年11.11大促对于数据库而言都是一场生死考验,如何保障系统的稳定可靠,如何平稳度过业务流量洪峰期,如何高效扩容,成为每个参与活动客户的一大痛点.本文将通过5个常见的大促问题及分析,看看华为云Gau ...

  3. 解读华为云GaussDB(for Influx):数据直方图

    本文分享自华为云社区<华为云GaussDB(for Influx)揭秘第九期:最佳实践之数据直方图>,作者:GaussDB 数据库. 1.   背景 随着5G和IOT的快速发展,面对爆发式 ...

  4. 华为云GaussDB云原生数据库

    近日,由中国信息通信研究院主办的"原生聚力,云数赋能"第四届云原生产业大会顺利召开.在这场云原生领域盛会中,华为云GaussDB(for MySQL)云原生数据库凭优越的技术创新实 ...

  5. 华为云GaussDB(for Redis)GaussDB(for Redis)全面对比Codis

    华为云GaussDB(for Redis)全面对比Codis 一.Codis究竟有多火? 说Codis是国内最流行的自建Redis集群方案,一点也不为过.客户曾这样说: "Codis你不知道 ...

  6. 华为云 GaussDB 数据库,会是新的国产之光吗?

    华为云 GaussDB 数据库,会是新的国产之光吗? 华为云数据库业务总裁苏光牛 7月20日,华为云TechWave技术峰会上,华为云数据库业务总裁苏光牛正式发布两大数据库新品,包括关系型数据库Gau ...

  7. 华为云GaussDB首席架构师冯柯:摘取皇冠上的明珠,华为云数据库的创新与探索

    摘要:做数据库很难,但好在有一群技术人始终坚守着,见证着国产数据库的崛起. 本文分享自华为云社区<华为云GaussDB首席架构师冯柯:摘取皇冠上的明珠,华为云数据库的创新与探索>,作者:华 ...

  8. 华为云GaussDB专家走进课堂,跟莘莘学子聊聊数据库

    近期,各地疫情又一次席卷而来,居家隔离成为常态.不过,外出的不便并没有阻挡莘莘学子求知的渴望,线上课堂成为了大多学生上课的主要形式.在北京邮电大学中,邓芳老师.卢向群老师.杜军平老师.肖晨老师等多名老 ...

  9. 华为云GaussDB新产品特性亮相DTC2021,新品开源预告

    摘要:华为云数据库产品部CTO庄乾锋携3位GaussDB技术专家在DTC2021大会上分享了产品最新技术.优秀实践案例,以及透露了重大新品即将开源,以数据驱动业务发展,为企业数字化转型持续注入新动力. ...

最新文章

  1. Windows下电脑硬盘的日常维护细则
  2. Win32汇编数组编程图解
  3. docker入门,基于ubuntu16.04
  4. [剑指offer][JAVA]面试题[51][数组中的逆序对][归并排序]
  5. java读取mp3文件_java读取mp3文件 | 学步园
  6. 校园网系统集成方案设计
  7. 脱硫塔发生堵塞,会产生什么影响?怎么应对?基于钙法、镁法、双碱法、氨法脱硫技术比较分析
  8. 联想微型计算机安装Win7,联想c340如何安装win7_联想c430一体机改win7系统步骤
  9. Elasticsearch 集群报错 master not discovered yet
  10. 史上最全Java面试题整理(附参考答案)
  11. Android 判断当前设备是手机还是平板
  12. 软件测试遵循的基本原则
  13. uni-app 汉字转拼音 搜索和按首字母排序页面
  14. Linux命令卸载谷歌浏览器,linux系统安装和卸载google浏览器
  15. 通过手机控制蓝牙模块的实例
  16. Android 平台应用使用RxAndroid
  17. 站长福利!将Discuz论坛转原生Android/iOS双端插件《BigApp》开源分享
  18. 不狠狠逼一下自己,永远不知道自己有多么强大
  19. 洛谷p5740最厉害的学生 C语言
  20. powerworld电力系统仿真,潮流计算,短路计算,电力系统分析。潮流计算对比,牛拉法,PQ分解法对比

热门文章

  1. Oracle ojdbc6-11.2.0.3.jar下载以及Maven手动安装jar包
  2. 形容计算机专业的诗句,形容人专业敬业的古诗句
  3. IOS7.X完美越狱解决被安装太极助手的方法
  4. elastic-job 是如何保证分布式环境下任务只有一个实例运行
  5. sklearn自带数据集load_digits(手写数字识别)的线性与对数模型实现,并比较二者性能
  6. android马赛克,iOS Android 去马赛克处理
  7. pytesseract 提高印刷体数字识别率走的弯路 白底黑字
  8. python语言程序设计(梁勇)
  9. Release notes for VPP 22.10
  10. 软考复盘:我的一些复习经验分享