摘要:GaussDB(for Redis)(下文简称高斯Redis)是华为云数据库团队自主研发的兼容Redis协定的云原生数据库,该数据库采纳计算存储拆散架构,冲破开源Redis的内存限度,可轻松扩大至PB级存储。

GaussDB(for Redis)(下文简称高斯Redis)是华为云数据库团队自主研发的兼容Redis协定的云原生数据库,该数据库采纳计算存储拆散架构,冲破开源Redis的内存限度,可轻松扩大至PB级存储。

本文将从存储架构、四大个性、竞争力、利用场景等方面进行介绍。

  1. 存储架构

高斯Redis基于计算存储拆散架构,计算层实现热数据缓存,存储层实现全量数据的落盘,两头通过RDMA高速网络互连,通过算法预测用户的拜访法则,实现数据的主动冷热替换,最终达到极致的性能晋升。

  1. 四大个性

该架构基于华为外部弱小且宽泛应用的自研分布式存储系统DFV,实现了一套Share Everything的云原生架构,充分发挥了云原生的弹性伸缩、资源共享的劣势,使得高斯Redis具备强统一、秒扩容、低成本、超可用的四大特点,完满避开了开源Redis的主从沉积、主从不统一、fork抖动、内存利用率只有50%、大key阻塞、gossip集群治理等问题。

Ø 强统一

数据复制是存储的事件,因而业余的事件交给业余的团队来做。通过分布式存储DFV,高斯Redis轻松实现了3正本强统一,并可轻松反对6正本,为业界独创。

在强统一架构下,用户再也不必放心开源Redis的主从沉积,带来的丢数据、不统一、OOM等极其问题,更不必放心业务出错,比方计数器、限流器、拜访统计、hash字段等不统一。

Ø 秒扩容

数据规模收缩之后,扩容是个高危且艰难的操作。高斯Redis基于云原生架构,将扩容分成计算层和存储层。计算层扩容,无需任何数据搬迁,只需批改路由映射,即可秒级实现。存储层是个共建的超级数据湖,其容量微小,而且扩容是切成细腻度的64MB数据分区,对下层数据库业务简直无感。

因而高斯Redis能够轻松撑持业务的大规模收缩,并且真正做到计算/存储分层的按需扩容和购买。

Ø 低成本

高斯Redis绝对于开源Redis,在存储介质上应用了磁盘代替内存。一方面,因为采纳存算拆散架构,计算资源少了一半,即没有从节点;另一方面,存储资源按需购买,无任何节约,并且采纳了逻辑/物理压缩。最终,每GB综合老本不到开源Redis的十分之一。

Ø 超可用

开源Redis或友商Redis不论单分片还是集群,其数据复制都采纳主从架构,导致N个节点的集群,如果同时挂掉一对主从(即2个节点),整个集群就不可用。而高斯Redis采纳存算拆散之后,每个计算节点都能够看到并共享所有数据,因而N个节点,最多能够容忍挂掉N-1个节点,真正做到比高可用还高的可用性。

  1. 竞争力剖析

  1. 场景举荐

高斯Redis不仅性能迫近缓存,而且其存储能力(扩展性、高性能、易用性)超过数据库。因而除了缓存场景能够抉择高斯Redis以外,上至PB级别大规模数据存储都能够抉择高斯Redis。场景参考如下:

  1. 抉择倡议

  1. 命令兼容

兼容5.0协定,包含string/hast/list/zset/set/stream/geo/ HyperLogLog/bitmap/pubsub等等,但出于性能和安全性思考,禁用个别危险命令,具体参考:https://support.huaweicloud.com/usermanual-nosql/nosql_09_0076.html

  1. 容量参考

以往用户抉择开源Redis的时候,须要购买内存,比方用户数据是100G,因为开源Redis内存使用率减半,须要购买200G内存,并且为了高可用,还得购买200G的从节点,那么加起来就是400G的内存。然而购买高斯Redis时,用户只须要依据实在寄存的数据大小,按需抉择购买存储空间即可,内存只是为了性能减速(内存/磁盘比越大,性能越好)。

附:材料参考

  1. 《华为云GaussDB(for Redis)与自建开源Redis的老本比照》

https://www.modb.pro/db/42739

  1. 《一场由fork引发的超时,让咱们从新探讨了Redis的抖动问题》https://bbs.huaweicloud.com/blogs/227525
  2. 《当Redis遇见计算存储拆散》

https://developer.huaweicloud.com/hero/forum/thread-83188-1-1.html

  1. 《GaussDB(for Redis)与原生Redis的性能比照》

https://bbs.huaweicloud.com/blogs/236949