华为云企业级 Redis 揭秘第 17 期:集群搭载多 DB,多租隔离更降本
本文分享自华为云社区《华为云企业级Redis揭秘第17期:集群搭载多DB,多租隔离更降本》,作者: GaussDB 数据库 。
背景:GaussDB(for Redis)是华为云数据库团队推出的企业级 Redis,完全兼容开源 Redis,既能显著降低成本,又能提供更稳定可靠的 KV 存储服务。
一、一切要从某个深夜的需求说起
某天深夜,作为后端小能手的小强强刚准备收工,老板打来电话:“小强强,咱们 Redis 用的也太杂了,好几十套,啥规格都有!这里面肯定有不少资源浪费!你负责搞个降本增效专项吧,把 Redis 使用成本降下来,也让运维同学轻松点。”
别看我们小伙子年轻,实则经验老道。小强强拍着胸脯接下需求,大致有了思路(如图):
图 1 Redis 资源整合+降成本+轻松运维
“搞定这件事的核心办法就是‘一 Redis 多用’!”,小强强立刻想到 2 个方案:
方案 1:让业务同学给 key 加前缀。该方案看似搞定了需求,但隔离性差,大量 key 前缀占空间,业务改造也很麻烦,因此它并不是优选。
方案 2:使用 Redis 的多 DB。业务通过 select 命令访问专属 DB,flushdb 命令又能一键清数据,隔离效果不错,按理说还是很方便的。
二、开源 Redis 的多 DB 是鸡肋
但是,作为经验十足的后端开发,小强强提前识别到了方案 2 的严重隐患:
开源 Redis 的“多 DB”只能用于单机,不支持集群,搞不定后期扩容。
而单机 Redis 扩容到 64G 已经是极限,更不用说 fork 导致的容量利用率只有 50%。
也就是说,随着后期业务增长,多个业务挤在一套容量只有 64G 的开源 Redis 中,意味着当内存不足时,必须得有业务迁出!
图 2 开源 Redis 多 DB 无法扩展,后期只能重新拆分
这不就回到了最初的问题**吗?开源 Redis 的多 DB 方案明显不符合资深后端的身份,对此,小强强坚决 say no!
好吧,开源 Redis 的多 DB,看来你是真的帮不上忙!
三、当多 DB 遇上 GaussDB(for Redis)
前面提到,“多 DB”是小强强此刻最需要的功能,但开源 Redis 多 DB 却有着后期无法扩容的严重隐患。为了解决问题,小强强找到了真正解决该痛点的产品:GaussDB(for Redis)。
在多 DB 的使用上,GaussDB(for Redis)与开源 Redis 用法完全一致,实现了同一实例下的数据隔离。GaussDB(for Redis)的多 DB 核心价值在于:
吞吐可水平扩展至百万 QPS,容量支持 12TB,解决了扩展性问题;
相比开源 Redis,成本可降 20%~70%;
单实例支持 6w+DB 数,搞定大规模业务多租隔离。
基于 GaussDB(for Redis)多 DB 功能,业务多租户可以放心共用一套 GaussDB(for Redis),不但轻松实现降本,而且能完美 cover 住后期业务增长。
图 3 GaussDB(for Redis)多 DB 实现业务多租隔离
终于搞定一个靠谱方案!小强强可以放心地交差了。最后,再一次为好用的产品打 call:
GaussDB(for Redis)支持真正可扩展的多 DB,轻松降本,简直 yyds!
四、附录
本文作者:华为云数据库 GaussDB(for Redis)团队
杭州/西安/深圳简历投递:yuwenlong4@huawei.com
华为云开年采购季盛大开幕!点击了解详情:https://activity.huaweicloud.com/dbs_Promotion/index.html
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/d55560a012becd9c2b0e3e878】。文章转载请联系作者。
评论