墨天轮访谈 | 华为云温云博:从客户视角出发,GaussDB(for Redis)究竟“香”在哪里?
分享嘉宾:温云博
华为云数据库NoSQL团队研发工程师
整理:墨天轮社区
导读
GaussDB(for Redis)采用云原生分布式架构,完全兼容Redis协议,支持丰富数据类型。 提供数据实时持久化、多副本强一致保障,以及实时监控、弹性伸缩、自动备份等一站式服务。
今天想和大家分享的内容是,从客户视角出发,GaussDB(for Redis)能带来哪些价值。
GaussDB(for Redis)介绍
1、GaussDB(for Redis)是什么
首先,我想要传递的观念是:GaussDB(for Redis)就是Redis。
目前在业界使用Redis的用户有很大的存量,相信他们在使用的过程中体会到各种各样的痛点,而我们的GaussDB(for Redis)能与开源redis兼容,实现业务0搬迁改造。GaussDB(for Redis)
采用云原生分布式架构,完全兼容Redis协议,支持丰富数据类型,同时提供数据实时持久化、多副本强一致保障,以及实时监控、弹性伸缩、自动备份等一站式服务。
关于GaussDB(for Redis)更多产品资料:https://bbs.huaweicloud.com/blogs/248875
图1 GaussDB(for Redis) 优势
2、GaussDB(for Redis)软件架构
华为云在 存储、数据库、大数据三个领域有很多的子产品,比如大数据领域的Hadoop、Hbase、Hive等。其实它们的底层都会基于一个高性能分布式存储池实现存算分离的架构,通过这样的架构带来企业级的能力。
GaussDB(for Redis)拥有先进的存算分离架构:
- 计算层:提供可弹性伸缩的吞吐性能。ELB+Proxy架构,用单机模式客户端即可快速接入业务。
- 存储层:提供高可靠的数据存储能力。数据三副本、强一致存储。扩容秒级完成,业务0感知。
同时最关键的特点是,数据并不保存在计算层中,数据是全量下沉在存储池中。关于存储池本身,拥有数据持久化能力,以三副本形式存储,数据持久化能力比较高。
图2 GaussDB(for Redis) 软件架构
GaussDB(for Redis)解决的痛点
1、解决成本痛点
首先体现在实例价格上。GaussDB(for Redis)比开源节省20%-70%,同时容量越大,性价比越高,标配可扩容至12TB
其次体现在数据压缩上。逻辑压缩+物理压缩结合,比开源Redis更省空间,省空间就是降成本。根据实际业务测试,string、hash等常用结构在GaussDB(for Redis)实例中,存储空间占用仅为开源Redis的70%~85%
最后体现在后期扩容上。不同于开源Redis各节点本地内存装载数据分片,GaussDB(for Redis)能够实现存储独立扩容,不必为过剩算力买单。同时容量按照1GB的力度调整,按需使用也是省成本的一个途径。
综上所述,成本的痛点在这里是可以完全解决的。
图3 GaussDB(for Redis) 在成本上的解决方案
2、解决稳定性痛点
- 稳定性指标
稳定性作为一种隐性的指标,容易影响开发与运维的效率
图4 GaussDB(for Redis) 与开源Redis 在稳定性上的指标对比
- 跨Region容灾
跨Region容灾是实现一个RsyncServer进程,负责集群下各个节点 间的数据复制,以此为基础实现逻辑完备的灾备方案。
高斯Redis除了提供上述3AZ的强一致方案以外,还提供跨Region级别的容灾,也就是两个实例间的异步容灾。在方案里增加了一个Rsync-Server的模块,用来订阅主实例上新增的日志,再把日志反解编码成相应的格式,转发给对端的备实例,由备实例回放即可。这套方案,可以实现双向同步、断点续传、冲突解决等等。
图5 GaussDB(for Redis) 跨Region容灾
3、解决扩容痛点
业务继续扩容时,开源Redis只能加分片,从而导致扩容折腾、数据无法及时均衡、成本大涨等问题。而GaussDB(for Redis) 在扩容方面能够实现三点价值,灵活、不停服、省成本。
图6 GaussDB(for Redis) 在扩容上的解决方案
GaussDB(for Redis)案例分享
1、案例一:大型手游跨服对战
在某大型手游跨服对战的案例中,GaussDB(for Redis)数据库解决全局缓存和跨服缓存,帮助轻松应对跨服多人对战流量高峰。
- 高稳定性,轻松应对业务的高峰变化
- 弹性伸缩,实现秒级无损扩容,在开服首日对战高峰时做到实时扩容并游刃有余,对业务0影响;
- 提供三副本容灾方案,从底层保证数据一致性,从源头避免脏数据出现,有效协助客户简化上层业务逻辑架构。
图7 GaussDB(for Redis) 在大型手游跨服对战的应用案例
2、案例二:商品库存系统
在商品库存系统的场景上,GaussDB(for Redis)的解决方案能够实现强一致,实现无脏读、不超卖。
电商的系统经常涉及到高并发访问,客户原先使用开源redis,不健壮的主从结构会存在丢数据的风险,导致超卖的现象时有发生。切到GaussDB(for Redis)后,利用强一致能力,数据在存储池当中三副本一致,不存在数据不一致或者丢失。库存系统不管是在线上、或者是秒杀都不会出现数据不一致的现象,避免超卖。
图8 GaussDB(for Redis) 在商品库存上的应用案例
3、案例三:特征平台
第三个案例是特征平台。与大数据结合,将海量的用户特征、商品特征灌到存储中,并低时延、高并发地将特征数据、用户画像提取出来,进行线上或者离线的数据处理,并实时推荐给用户。
GaussDB(for Redis)的解决方案能达到:高抗写、数据可靠存储不丢失、成本可控、高吞吐、低时延的能力。
图9 GaussDB(for Redis) 在特征平台上的应用案例
4、案例四:全国车辆行驶行为日志
在全国车辆行驶行为日志中,GaussDB(for Redis)的解决方案实现了百TB级数据存储及强持久化存储,同时达到了降成本的效果。
图10 GaussDB(for Redis) 在全国车辆行驶行为日志应用案例
4、GaussDB(for Redis)优势总结
最后,我用六点总结对GaussDB(for Redis)的优势。
-
性能优势
时延:亚毫秒级~毫秒级 吞吐:随节点数水平扩展 -
成本优势
经验可降20%~70%成本 替换大规格Redis降本效果显著 -
业务0改造优势
需要改造吗? 0改造,使用上完全兼容开源Redis -
容量优势
单实例支持12TB(开源Redis则是>512G就常年售罄) -
扩容快优势
扩容量:秒级完成,业务0感知 扩算力:分钟级完成,期间仅秒级影响 -
不丢数据
能实逐条命令持久化存储
最后,欢迎大家访问华为云GaussDB(for Redis)官网,了解更多详情。
更多精彩内容,欢迎大家观看现场视频回放与会议资料
视频回放:https://www.modb.pro/video/6185
会议资料:https://www.modb.pro/doc/58548
- 查看原文:https://www.modb.pro/db/380852
- 查看【国产数据库沙龙】键值数据库专场文章、视频回放资源:https://www.modb.pro/topic/379708
墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。
关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯