摘要:GaussDB(for Redis)(下文简称高斯Redis)是华为云数据库团队自主研发的兼容Redis协议的云原生数据库,该数据库采用计算存储分离架构,突破开源Redis的内存限制,可轻松扩展至PB级存储。

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

存储架构

高斯Redis基于计算存储分离架构,计算层实现热数据缓存,存储层实现全量数据的落盘,中间通过RDMA高速网络互连,通过算法预测用户的访问规律,实现数据的自动冷热交换,最终达到极致的性能提升。

四大特性

该架构基于华为内部强大且广泛使用的自研分布式存储系统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个节点,真正做到比高可用还高的可用性。

竞争力分析

场景推荐

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

选择建议

命令兼容

兼容5.0协议,包括string/hash/list/zset/set/stream/geo/ HyperLogLog/bitmap/pubsub等等,但出于性能和安全性考虑,禁用个别危险命令,详细参考:https://support.huaweicloud.com/usermanual-nosql/nosql_09_0076.html

容量参考

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

附:资料参考

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

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

2. 《一场由fork引发的超时,让我们重新探讨了Redis的抖动问题》https://bbs.huaweicloud.com/blogs/227525

3. 《当Redis遇见计算存储分离》

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

4. 《GaussDB(for Redis)与原生Redis的性能对比》

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

点击关注,第一时间了解华为云新鲜技术~

突破开源Redis的内存限制,存算分离的GaussDB到底有多能“装”?相关推荐

  1. 大话云原生数据库中的存算分离

    目录 前言 传统数据库的局限 可用性低.资源利用率低 扩展成本高.运维成本高 存算分离带来的技术革命 谷歌三架马车奠定理论基础 Hadoop--存算分离的大数据架构 为什么云原生数据库中需要存算分离? ...

  2. GaussDB(for Redis)揭秘:Redis存算分离架构最全解析

    前言: 本文根据华为云NoSQL数据库架构师余汶龙,在今年的中国系统架构师大会SACC上的演讲整理而成,内容如下. 本次分享的大纲分成如下四个部分: 什么是GaussDB(for Redis)? 为什 ...

  3. 存算分离架构的高斯Redis,用强一致提供可靠保障

    摘要:其实开源Redis的弱一致性已经不满足很多应用场景的诉求.怎么,不信? 本文分享自华为云社区<华为云企业级Redis揭秘第15期:Redis为什么需要强一致?>,作者: GaussD ...

  4. 存算分离实践:JuiceFS 在中国电信日均 PB 级数据场景的应用

    01- 大数据运营的挑战 & 升级思考 大数据运营面临的挑战 中国电信大数据集群每日数据量庞大,单个业务单日量级可达到 PB 级别,且存在大量过期数据(冷数据).冗余数据,存储压力大:每个省公 ...

  5. 2022 IoTDB Summit:IoTDB PMC 曹高飞《Apache IoTDB 秒级扩容能力与存算分离实践》

    12 月 3 日.4日,2022 Apache IoTDB 物联网生态大会在线上圆满落幕.大会上发布 Apache IoTDB 的分布式 1.0 版本,并分享 Apache IoTDB 实现的数据管理 ...

  6. 大数据上云存算分离演进思考与实践

    作者:汤祯捷 阿里云智能计算平台团队 存算分离.数据湖.在离线混部,这些名词越来越多的出现在各行各业数字化转型的关键活动中.本文仅从大数据产品商业化从业者的视角来探讨与分析大数据领域的存算分离演进过程 ...

  7. Hadoop存算分离实现方案探讨

    传统的 Apache Hadoop架构存储和计算是耦合在一起的, HDFS作为其分布式文件系统也存在诸多不足.那么,如何实现Hadoop的存算分离,以规避HDFS的问题.降低成本.提升性能? 01.H ...

  8. 解读clickhouse存算分离在华为云实践

    摘要:本文是我们对clickhouse做了最简单的支持obs的适配改造. 本文分享自华为云社区<clickhouse存算分离在华为云实践>,作者: he lifu. clickhouse是 ...

  9. 统一元数据,数据湖Catalog让大数据存算分离不再是问题

    本文分享自华为云社区<统一元数据,华为云MRS 数据湖Catalog重磅推出!>,原文作者:ryanlunar. 1 背景 随着5G.IoT等技术的发展,企业积累了越来越多的数据,需要激发 ...

最新文章

  1. 【图论】有向无环图的拓扑排序
  2. 编写可调模板并使用自动调谐器
  3. 039_JavaScript对象访问器
  4. Java EE——Mybatis 框架学习
  5. Yii调用参数配置文件params
  6. 安装软件要求输入服务器配置信息,信息技术考试软件配置安装与操作规范(管理服务端与客户端)(30页)-原创力文档...
  7. @async 默认线程池_Springboot线程池的使用和扩展
  8. HDU 2095 find your present (2)
  9. 2019最佳年会,新东方6名员工冒着离职的风险,在年会上怒怼老板
  10. 【CodeForces - 129C】Statues(思维,bfs)
  11. Qt编写echart仪表盘JS交互程序支持webkit和webengine(开源)
  12. oracle 的“+”和“,”连接表的方式
  13. automake连载--Linux下使用autoconfig automake进阶
  14. 3.7 Spark RDD编程
  15. linux iconv 编译,交叉编译libiconv
  16. python使用matplotlib超全画图
  17. 为什么很多新型编程语言都抛弃了 C 语言风格的 for 语句?
  18. Java旅游管理系统的设计与实现毕业设计
  19. Matplotlib 中等高线图(contour)的绘制
  20. pcode.linq

热门文章

  1. Array.from()方法
  2. Protobuffer和json深度对比
  3. 机器人任务规划:从状态机到形式系统
  4. 新松机器人产业小镇_啃下“硬骨头”!“青岛造”机器人挺进新加坡港
  5. java中volatile_java中volatile关键字的含义
  6. js cookie 存储checkbox_[cookie实战记录-1]种下一个cookie
  7. vue 如何计算list的长度_航母的水线长度到底如何计算?
  8. [转]Redis内部数据结构详解-sds
  9. 基于git命令的代码统计方法
  10. 不要在给自己不学习找借口了,否则…