揭秘华为云 GaussDB(for Redis) 六大秒级能力盘点
1 引言
大家经常用时间类指标来评估数据库能力,诸如RTO/RPO、扩容耗时、变更操作对业务影响的时长等等,在高可用需求日益迫切的当下,这些都是评价数据库能力的重要参考。在KV数据库领域,华为云GaussDB(for Redis)基于存算分离的基础架构,在很多关键评估维度都具有“秒级”能力,今天便带大家了解一下。
2 GaussDB(for Redis)秒级能力盘点
2.1 秒启动
社区版Redis在宕机恢复的场景下,需要依赖AOF或RDB文件将数据全量加载到内存中,随着数据量增加,这个耗时经常需要数分钟甚至更久。
GaussDB(for Redis)节点拉起时无需加载全量数据,即可快速提供服务,启动时间受数据量影响极小, 大数据规模下亦可以达到秒级启动 ,体验丝滑。
2.2 秒删除
社区版Redis在删除/过期数据,尤其是大key的情况下会导致访问严重阻塞。
而GaussDB(for Redis)从根本上解决了大key删除/过期的操作隐患,在底层事先采用了“标记删除,异步回收”的逻辑,对任何数据执行删除/过期,都是立刻执行成功且0阻塞,因此完全不影响业务访问。在实测删除/过期一个大hash key(包含1000w个元素)时,GaussDB(for Redis)仅耗时毫秒。
图:GaussDB(for Redis)大key秒删
2.3 秒备份
社区版Redis打快照时需要将全量数据dump到磁盘上,效率受到磁盘IO性能影响,耗时久。而且有着“fork问题”,造成性能抖动,导致容量利用率只有50%。
GaussDB(for Redis)备份基于底层文件系统的快照技术,记录某一时间点的数据状态,无需进行耗时的数据拷贝操作,真正做到秒级打快照。客户的数据快照文件自动上传到华为云OBS桶内,后续可用来一键恢复到新实例,相当便捷。
图:GaussDB(for Redis)时间点快照一键恢复
2.4 秒扩容
社区版Redis计算、存储强耦合。比如64G规格装满了,当需要升128G规格时,升级过程不仅耗时久,严重影响业务;而且价格翻倍,存在大量算力成本浪费。
GaussDB(for Redis)提供以下3种灵活变更的“扩容”方式:
l 1 )数据快装满了?一键扩容量,秒级完成,不影响业务
GaussDB(for Redis)底层存储资源按配额形式提供使用,数据快写满场景,只需一键点击扩容,秒级获得更多容量。比如64G扩容到128G,秒级完成,不影响业务。同时无需为不必要的算力买单,扩容价格涨幅小,成本有极大优势。
图:GaussDB(for Redis)存储扩容
l 2 )流量突发高峰?一键加节点,业务只受到秒级影响
GaussDB(for Redis)扩算力的最便捷方式即增加节点,秒级即可完成负载重新均衡,业务短暂受影响。
图:GaussDB(for Redis)算力扩容-添加节点
l 3 )周期性做活动?节点规格按需伸缩,避免算力浪费
在一些周期性的活动抢券场景,客户往往需要按周期进行规格升降,承载计划内的流量高峰,同时避免平时的浪费。GaussDB(for Redis)支持提升节点规格,比如16U升32U,客户可灵活按需扩容。
2.5 故障秒恢复
GaussDB(for Redis)内部有全局的HA管控能力,计算节点故障秒级探测,发现故障后同样采用秒级接管的方式处理,秒级恢复业务侧正常访问。
2.6 双活秒级RPO
GaussDB(for Redis)支持region内/跨region容灾,即搭建稳定主从实例,提供企业级的高可用。通过高性能数据同步模块实现高性能主从实例同步,在高压力写入的业务压力下测试,有着RPO=10s的超高可靠性表现。
3 总结
经过上面的简单盘点可以看出,GaussDB(for Redis)在启动、大key删除、扩容变更等多种应用场景下均具有秒级能力,最小化业务影响,给用户提供企业级安全、稳定、可靠的使用体验。