布景: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
- 官方博客:bbs.huaweicloud.com/blogs/24887…
华为云开年采购季盛大开幕! 点击了解概况:activity.huaweicloud.com/dbs_Promoti…