与自建开源Redis数据库相比,GaussDB(for Redis)在产品架构、成本、容量、安全 性、可靠性、故障恢复、运维等方面具有很大的优势。使用GaussDB(for Redis)可以 帮助您轻松上线业务。
产品架构对比
● GaussDB(for Redis)的产品架构
图1-1 GaussDB(for Redis)产品架构图
– GaussDB(for Redis)支持全量数据落盘,由GaussDB基础组件服务提供底层 数据三副本冗余保存,数据0丢失。
– GaussDB(for Redis)的全部计算节点可写。
– 数据三副本强一致保障,多点访问无脏读。
– GaussDB(for Redis)具有完备的大规模集群管理能力,故障秒级接管,动态 负载均衡。
– GaussDB(for Redis)采用存算分离架构,资源可弹性平滑扩缩容,业务几乎 无感知。
● 开源Redis产品架构
图1-2 开源 Redis 架构图
– 开源Redis的数据分散保存到各个独立节点本地内存中,一对主备故障就会导 致部分数据丢失。
– 开源Redis集群中有一半节点是备节点,不可写。
– 开源Redis采用主从异步复制,访问从节点数据会不一致。
– Gossip协议在开源Redis集群规模过大时,效率显著下降。
– 扩缩容开源Redis的容量实际上就是变更物理节点数量,对业务影响大。
业务场景对比
表1-1 业务场景对比
对比项 华为云GaussDB(for Redis) 开源Redis 业务场景 GaussDB(for Redis)的特点:
● 关心重要数据安全。
● 关心系统稳定性,不希望高峰期间发生 宕机。
● 关心数据一致性。
GaussDB(for Redis)适用的业务场景:
● 数据量小场景,GaussDB(for Redis)提 供更低成本。
● 数据量大场景,开源Redis难以胜任,
GaussDB(for Redis)完美驾驭。
开源Redis的特点:
● 对数据安全性要求低,
接受核心数据丢失或被 LRU挤出。
● 对稳定性要求低,接受 OOM宕机发生。
● 接受多点访问数据不一 致。
开源Redis适用的业务场 景:
往往只能用于数据量小、
数据有效期短的业务。
其他对比优势
表1-2 GaussDB(for Redis)与开源 Redis 的对比优势
对比项 华为云GaussDB(for Redis) 开源Redis 成本 成本降低75%~90%
GaussDB(for Redis)支持全量数据 落盘,采用GaussDB基础组件服 务,拥有极大价格优势。
硬件成本极高
开源Redis的全部数据保存在纯内 存介质中,且自身Fork机制导致内 存使用率低。
最大容量 PB级数据量
GaussDB(for Redis)采用存算分离 架构,使得存储资源自由扩容的同 时计算层资源也可以同步弹性伸 缩,性能有保障。
百GB级数据量
如果开源Redis集群持续增加数据 量,一方面会导致硬件成本突增,
另一方面其内部Gossip集群管理效 率也将变得极低。
容量利用
率 100%
GaussDB(for Redis)采用纯自研架 构,不受Fork问题影响,用户购买 的持久化存储空间几乎全部可用。
<50%
开源Redis受独Fork机制影响,在 快照、主从复制、AOF重写期间,
如遇业务高峰,理论上内存可增长 一倍。因此,内存使用率控制在 50%以内,才能确保安全。
规格选型 1GB细粒度,随时按需调整。 档位不连续(...32GB、48GB、
64GB)
假设业务数据量约30GB。如果选 用云缓存Redis,考虑到安全有效 容量<50%,只能选64GB的规格,
造成“买多”浪费。
数据压缩 逻辑压缩和物理压缩结合,比开源 Redis更省空间
● 逻辑压缩:对value进行初步压 缩。
● 物理压缩:对存储介质中的数 据块整体进行二次压缩。
● 根据实际业务测试,String、
Hash等常用结构在
GaussDB(for Redis)实例中,
存储空间占用仅为开源Redis的 70%~85%。
只使用逻辑压缩
时延 平均时延差距不大,p9999表现有 一定差距。
平均时延较低,p9999时延较低。
抗写能力 强
GaussDB(for Redis)支持多节点同 时写入,且采用多线程架构,吞吐 轻松翻倍。
弱
开源Redis集群中仅主节点可写,
且属于单线程架构,业务高峰有 OOM宕机风险。
对比项 华为云GaussDB(for Redis) 开源Redis
GaussDB(for Redis)实现了三副本 强一致,多点访问无脏读风险。
弱一致性
开源Redis采用主从异步复制,多 点访问存在数据不一致问题。
可用性 强
即使N-1个节点同时故障,
GaussDB(for Redis)实例依然可 用。
中等
● 如果有一半的主节点发生故 障,开源Redis集群将不可用。
● 任意一对主从节点故障,开源 Redis集群将不可用。
故障恢复 分钟级恢复,数据恢复时长与数据 量无关
在全量数据下沉存储的Shared Everthting架构下,数据只需被可 用节点接管即可,几乎不需耗时加 载。
数据量越大,恢复耗时越久 数据物理分散在多个独立节点上,
故障恢复需要将RDB快照从磁盘加 载进内存,耗时久。
负载均衡 支持
细粒度数据分片,节点间实现动态 负载均衡。
不支持
开源Redis需要依赖第三方组件。
扩容 平滑扩容
● 节点扩容:分钟级完成,业务 秒级感知。
● 容量扩容:秒级完成,业务0感 知。
● Shared Everthting架构下,底 层数据可被任一节点访问,扩
● GaussDB(for Redis)采用纯自 研架构,不存在开源Redis安全 漏洞问题。
● 提供虚拟私有云、子网、安全 组、DDoS防护以及SSL安全访 问等多层安全防护体系,实现 租户隔离和访问控制。
低
● 开源Redis内核不定期会爆出安 全漏洞问题,如
CVE-2021-32761等。如版本升 级不及时,随时有被恶意利用 风险。
● 网络环境安全级别取决于所使 用的云服务质量。
运维 一站式服务
GaussDB(for Redis)提供成熟的迁 移方案、实时监控、故障预警和数 据库专家团队7*24小时支撑。
取决于所使用的云服务质量