摘要: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. 存算分离实践:JuiceFS 在中国电信日均 PB 级数据场景的应用

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

  2. 存算分离下写性能提升10倍以上,EMR Spark引擎是如何做到的?

    ​引言 随着大数据技术架构的演进,存储与计算分离的架构能更好的满足用户对降低数据存储成本,按需调度计算资源的诉求,正在成为越来越多人的选择.相较 HDFS,数据存储在对象存储上可以节约存储成本,但与此 ...

  3. 腾讯云 CHDFS — 云端大数据存算分离的基石

    随着网络性能提升,云端计算架构逐步向存算分离转变,AWS Aurora 率先在数据库领域实现了这个转变,大数据计算领域也迅速朝此方向演化. 存算分离在云端有明显优势,不但可以充分发挥弹性计算的灵活,同 ...

  4. ClickHouse 存算分离架构探索

    背景 ClickHouse 作为开源 OLAP 引擎,因其出色的性能表现在大数据生态中得到了广泛的应用.区别于 Hadoop 生态组件通常依赖 HDFS 作为底层的数据存储,ClickHouse 使用 ...

  5. 从 Hadoop 到云原生, 大数据平台如何做存算分离

    Hadoop 的诞生改变了企业对数据的存储.处理和分析的过程,加速了大数据的发展,受到广泛的应用,给整个行业带来了变革意义的改变:随着云计算时代的到来, 存算分离的架构受到青睐,企业开开始对 Hado ...

  6. 华为云企业级Redis揭秘第16期:超越开源Redis的ACID"真"事务

    摘要: 开源Redis只支持伪事务,应用场景受限.高斯Redis发布企业级事务特性,支持完备ACID,为交易.库存等上层业务带来全新可能. 本文分享自华为云社区<华为云企业级Redis揭秘第16 ...

  7. 突破冯·诺依曼架构瓶颈!全球首款存算一体AI芯片诞生

    过去70年,计算机一直遵循冯·诺依曼架构设计,运行时数据需要在处理器和内存之间来回传输. 随着时代发展,这一工作模式面临较大挑战:在人工智能等高并发计算场景中,数据来回传输会产生巨大的功耗:目前内存系 ...

  8. Redis系列--内存淘汰机制(含单机版内存优化建议)

    https://blog.csdn.net/Jack__Frost/article/details/72478400?locationNum=13&fps=1 每台redis的服务器的内存都是 ...

  9. 深入了解一下Redis的内存模型!

    一.前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分. 我们使用Redis时,会接触Redis的5种对象类型(字 ...

  10. Redis的内存和实现机制

    1. Reids内存的划分 数据 内存统计在used_memory中 进程本身运行需要内存 Redis主进程本身运行需要的内存占用,代码.常量池等 缓冲内存,客户端缓冲区.复制积压缓冲区.AOF缓冲区 ...

随机推荐

  1. 小景的Dba之路--Oracle用exp导出dmp文件很慢

    小景最近在系统压测相关的工作,其中涉及了Oracle数据库相关的知识,之前考的OCP证书也在此地起了作用.今天的问题是:Oracle用exp导出dmp文件很慢,究竟是什么原因,具体的解决方案都有哪些呢 ...

  2. k8s-单节点升级为集群(高可用)

    单master节点升级为高可用集群 对于生产环境来说,单节点master风险太大了. 非常有必要做一个高可用的集群,这里的高可用主要是针对控制面板来说的,比如 kube-apiserver.etcd. ...

  3. File --JAVA

    File --JAVA 构造方法 方法 说明 public File (String pathname) 根据文件路径创建对象 public File (String parent, String c ...

  4. 开发现代化的.NetCore控制台程序:(2)创建一个C#项目模板

    前言 上一篇文章(开发一个现代化的.NetCore控制台程序,包含依赖注入/配置/日志等要素)介绍了开发现代化的.NetCore控制台程序的细节,但这还不够,我又创建了一个脚手架模板,并命名为 Flu ...

  5. mobaxterm软件的使用

    MobaXterm是一款功能强大的多功能远程计算机管理软件,可以在Windows操作系统下运行,支持SSH.Telnet.RDP.VNC等协议 一.软件下载与安装 下载地址:https://mobax ...

  6. 微服务系列-基于Spring Cloud Eureka进行服务的注册与消费

    公众号「架构成长指南」,专注于生产实践.云原生.分布式系统.大数据技术分享. 在之前的几个教程中,我们学了: 使用 RestTemplate 的 Spring Boot 微服务通信示例 使用 WebC ...

  7. 聊聊分布式 SQL 数据库Doris(四)

    FE层的架构都能在网上找到说明. 但BE层的架构模式.一致性保障.与FE层之间的请求逻辑,数据传输逻辑等,我个人暂时没有找到相应的博客说明这些的.当然这些是我个人在学习与使用Doris过程中,对内部交 ...

  8. list.add()语句作用

    ----该方法用于向集合列表中添加对象 示例  本示例使用List接口的实现类ArrayList初始化一个列表对象,然后调用add方法向该列表中添加数据. public static void mai ...

  9. [CSAPP、APUE、UNP]文件、IO

    <鸟哥的Linux私房菜:基础学习篇(第四版)> 第5章 Linux的文件权限与目录配置 第6章 LInux文件与目录管理(正在进行) <CSAPP> 第10章 系统级IO 1 ...

  10. VScode怎么实现c的运行,这里只讲述一些细节

    第一下载的Vscode要设置信任模式,否则你后面搞什么都没有用 第二下载minGw还是gcc 都行 第三安装插件,c,c++. 然后编译就行了,我搞了一天,主要弹出的是未找到exe文件,但是我告诉大家 ...