分享嘉宾温云博

华为云数据库NoSQL团队研发工程师

整理墨天轮社区

导读

GaussDB(for Redis)采用云原生分布式架构,完全兼容Redis协议,支持丰富数据类型。 提供数据实时持久化、多副本强一致保障,以及实时监控、弹性伸缩、自动备份等一站式服务。

今天想和大家分享的内容是,从客户视角出发,GaussDB(for Redis)能带来哪些价值

GaussDB(for Redis)介绍

1、GaussDB(for Redis)是什么

首先,我想要传递的观念是:GaussDB(for Redis)就是Redis

目前在业界使用Redis的用户有很大的存量,相信他们在使用的过程中体会到各种各样的痛点,而我们的GaussDB(for Redis)能与开源redis兼容,实现业务0搬迁改造。GaussDB(for Redis)

采用云原生分布式架构,完全兼容Redis协议,支持丰富数据类型,同时提供数据实时持久化、多副本强一致保障,以及实时监控、弹性伸缩、自动备份等一站式服务。

关于GaussDB(for Redis)更多产品资料:https://bbs.huaweicloud.com/blogs/248875



图1 GaussDB(for Redis) 优势

2、GaussDB(for Redis)软件架构

华为云在 存储、数据库、大数据三个领域有很多的子产品,比如大数据领域的Hadoop、Hbase、Hive等。其实它们的底层都会基于一个高性能分布式存储池实现存算分离的架构,通过这样的架构带来企业级的能力。

GaussDB(for Redis)拥有先进的存算分离架构

  • 计算层:提供可弹性伸缩的吞吐性能。ELB+Proxy架构,用单机模式客户端即可快速接入业务。
  • 存储层:提供高可靠的数据存储能力。数据三副本、强一致存储。扩容秒级完成,业务0感知。

同时最关键的特点是,数据并不保存在计算层中,数据是全量下沉在存储池中。关于存储池本身,拥有数据持久化能力,以三副本形式存储,数据持久化能力比较高。



图2 GaussDB(for Redis) 软件架构

GaussDB(for Redis)解决的痛点

1、解决成本痛点

首先体现在实例价格上。GaussDB(for Redis)比开源节省20%-70%,同时容量越大,性价比越高,标配可扩容至12TB

其次体现在数据压缩上。逻辑压缩+物理压缩结合,比开源Redis更省空间,省空间就是降成本。根据实际业务测试,string、hash等常用结构在GaussDB(for Redis)实例中,存储空间占用仅为开源Redis的70%~85%

最后体现在后期扩容上。不同于开源Redis各节点本地内存装载数据分片,GaussDB(for Redis)能够实现存储独立扩容,不必为过剩算力买单。同时容量按照1GB的力度调整,按需使用也是省成本的一个途径。

综上所述,成本的痛点在这里是可以完全解决的。



图3 GaussDB(for Redis) 在成本上的解决方案

2、解决稳定性痛点

  • 稳定性指标

稳定性作为一种隐性的指标,容易影响开发与运维的效率



图4 GaussDB(for Redis) 与开源Redis 在稳定性上的指标对比

  • 跨Region容灾

跨Region容灾是实现一个RsyncServer进程,负责集群下各个节点 间的数据复制,以此为基础实现逻辑完备的灾备方案。

高斯Redis除了提供上述3AZ的强一致方案以外,还提供跨Region级别的容灾,也就是两个实例间的异步容灾。在方案里增加了一个Rsync-Server的模块,用来订阅主实例上新增的日志,再把日志反解编码成相应的格式,转发给对端的备实例,由备实例回放即可。这套方案,可以实现双向同步、断点续传、冲突解决等等。



图5 GaussDB(for Redis) 跨Region容灾

3、解决扩容痛点

业务继续扩容时,开源Redis只能加分片,从而导致扩容折腾、数据无法及时均衡、成本大涨等问题。而GaussDB(for Redis) 在扩容方面能够实现三点价值,灵活、不停服、省成本。



图6 GaussDB(for Redis) 在扩容上的解决方案

GaussDB(for Redis)案例分享

1、案例一:大型手游跨服对战

在某大型手游跨服对战的案例中,GaussDB(for Redis)数据库解决全局缓存和跨服缓存,帮助轻松应对跨服多人对战流量高峰。

  • 高稳定性,轻松应对业务的高峰变化
  • 弹性伸缩,实现秒级无损扩容,在开服首日对战高峰时做到实时扩容并游刃有余,对业务0影响;
  • 提供三副本容灾方案,从底层保证数据一致性,从源头避免脏数据出现,有效协助客户简化上层业务逻辑架构。



图7 GaussDB(for Redis) 在大型手游跨服对战的应用案例

2、案例二:商品库存系统

在商品库存系统的场景上,GaussDB(for Redis)的解决方案能够实现强一致,实现无脏读、不超卖。

电商的系统经常涉及到高并发访问,客户原先使用开源redis,不健壮的主从结构会存在丢数据的风险,导致超卖的现象时有发生。切到GaussDB(for Redis)后,利用强一致能力,数据在存储池当中三副本一致,不存在数据不一致或者丢失。库存系统不管是在线上、或者是秒杀都不会出现数据不一致的现象,避免超卖。



图8 GaussDB(for Redis) 在商品库存上的应用案例

3、案例三:特征平台

第三个案例是特征平台。与大数据结合,将海量的用户特征、商品特征灌到存储中,并低时延、高并发地将特征数据、用户画像提取出来,进行线上或者离线的数据处理,并实时推荐给用户。

GaussDB(for Redis)的解决方案能达到:高抗写、数据可靠存储不丢失、成本可控、高吞吐、低时延的能力。



图9 GaussDB(for Redis) 在特征平台上的应用案例

4、案例四:全国车辆行驶行为日志

在全国车辆行驶行为日志中,GaussDB(for Redis)的解决方案实现了百TB级数据存储及强持久化存储,同时达到了降成本的效果。



图10 GaussDB(for Redis) 在全国车辆行驶行为日志应用案例

4、GaussDB(for Redis)优势总结

最后,我用六点总结对GaussDB(for Redis)的优势。

  • 性能优势

    时延:亚毫秒级~毫秒级 吞吐:随节点数水平扩展

  • 成本优势

    经验可降20%~70%成本 替换大规格Redis降本效果显著

  • 业务0改造优势

    需要改造吗? 0改造,使用上完全兼容开源Redis

  • 容量优势

    单实例支持12TB(开源Redis则是>512G就常年售罄)

  • 扩容快优势

    扩容量:秒级完成,业务0感知 扩算力:分钟级完成,期间仅秒级影响

  • 不丢数据

    能实逐条命令持久化存储

最后,欢迎大家访问华为云GaussDB(for Redis)官网,了解更多详情。

https://www.huaweicloud.com/product/gaussdbforredis.html

更多精彩内容,欢迎大家观看现场视频回放与会议资料

视频回放:https://www.modb.pro/video/6185

会议资料:https://www.modb.pro/doc/58548


墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。

关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯

墨天轮访谈 | 华为云温云博:从客户视角出发,GaussDB(for Redis)究竟“香”在哪里?的更多相关文章

  1. 华为云PB级数据库GaussDB(for Redis)揭秘第七期:高斯Redis与强一致

    摘要:在KV数据库领域,"强一致性"不仅是一个技术名词,它更是业务与运维的重要需求. 清明刚过,五一假期就要来了.大好春光,不如去婺源看油菜花吧!小云迅速打开APP刷出余票2张,赶 ...

  2. 租了一台华为云耀云服务器,却直接被封公网ip,而且是官方的bug导致!

    小弟在博客园也有十多个年头了,因为离开了.net圈子,所以很少发文,今天可算是被华为云气疯了.写下这篇文章,大家也要注意自查一下,避免无端端被封公网ip. 因为小弟创业公司业务发展,需要一个公网做宣传 ...

  3. 亚马逊云架设WordPress博客

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 这篇文章介绍如何在亚马逊云架设WordPress博客.最强的云,加上最流行的建站工 ...

  4. 如何使用华为软件开发云快速部署PHP网站

    华为软件开发云这个工具,从去年推出我就一直在关注,毕竟是华为最新的一款软件开发工具,最近我一直在使用华为软件开发云进行开发项目管理,它有在线编译和构建.云端在线代码检查等功能,编译省去了很多物理机器的 ...

  5. Eclipse安装Git插件以及通过Git导入华为软件开发云项目

    --内容提交-- 1.    Eclipse安装Git插件 2.    在Eclipse中导入华为软件开发云项目, 以及常用Git操作 一. Eclipse安装Git插件 现在从eclipse官网下载 ...

  6. GitHub转华为软件开发云详细教程

    一.复制GitHub的代码库地址 首先,打开Github网页,找到要迁移的代码仓库地址,如下: 点击Clone or Download,出现以下界面 点击Copy toclipboard(复制到粘贴板 ...

  7. 如何将Android Studio与华为软件开发云代码仓库无缝对接(二)

    上篇文章:如何将Android Studio与华为软件开发云代码仓库无缝对接(一) 上一章讲了,如何用Android Studio以软件开发云代码仓库为基础,新建一个项目.接下来,这一章继续讲建好项目 ...

  8. 华为软件开发云对比Jenkins-JavaWeb项目持续部署方式

    一.前言:Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成和持续部署变成可能. 本文 ...

  9. 华为软件开发云CloudIDE功能简测

    华为软件开发云CloudIDE是面向软件开发者的云端开发环境,支持在线编写代码,智能提示,代码提交,代码片段智能搜索等功能. CloudIDE实现了大部分IDE的功能,同时克服了全能IDE的缺点. 一 ...

  10. 看完给跪了:技术大牛总结的Github与华为软件开发云完整对比

    华为软件开发云配置管理 服务和Github是国内外比较有代表性的代码托管平台,它们以git作为版本管理工具,使项目中身处各地的人员可以协同工作,主要操作涉及仓库.分支.提交.pull request等 ...

随机推荐

  1. 从web2的用户名密码登录到web3的钱包签名认证

    Web2 都有哪些常用的认证场景 早期我们使用网页类 Web2 应用时,大多采用账号 + 密码的认证方式访问.为了方便很多网站设置的都是相同的密码(这很不安全). 随着移动应用的普及,慢慢我们习惯了手 ...

  2. 02 IO口的操作

    目录 前言 一.IO的概念 1.IO接口 2.IO端口 二.CPU和外设进行数据传输的方法 1.程序控制方式 1.1 无条件 1.2 查询方式 2.中断方式 3.DMA方式 一.方法介绍和代码编写 1 ...

  3. 第零讲:基础架构:一条SQL查询语句是如何执行的

    目录 第零讲:基础架构:一条SQL查询语句是如何执行的 正确的认识事物的方式方法(极为重要): sql语句内部的执行过程:(极为重要) MySQL 可以分为 Server 层和存储引擎层两部分. Se ...

  4. 【Java】单号创建服务

    需求:ERP项目存在若干个业务功能,每个业务的单子的单号创建规则需要被统一规划 1.每个业务有自己对应的标识 2.业务单号必须以英文字母为前缀,长度在2 - 4个字符 3.单号的组成 = [ 前缀 ] ...

  5. 【Vue】Re21 VueX 第二部分(Mutations)

    一.Mutations携带参数处理 Store状态的更新唯一方式:提交Mutations Mutations包含两部分: 1.字符串的事件类型[TYPE] 2.一个回调函数[HANDLER] 该函数的 ...

  6. 8月5日CSP-S模拟赛赛后总结

    8月5日CSP-S模拟赛赛后总结 \[8月5日 \ \ CSP-S模拟赛 \ \ 赛后总结 \\ 2024年8月5日 \\ by \ \ \ uhw177po \] 一.做题情况 第一题比赛 \(10 ...

  7. 2024-08-14:用go语言,给定两个长度分别为n和m的整数数组nums和changeIndices,下标从1开始。初始时,nums 中所有下标均未标记。 从第1秒到第m秒,每秒可以选择以下四种操

    2024-08-14:用go语言,给定两个长度分别为n和m的整数数组nums和changeIndices,下标从1开始.初始时,nums 中所有下标均未标记. 从第1秒到第m秒,每秒可以选择以下四种操 ...

  8. python学习(一)django orm多表查询

    ###多表查询 一般的多表查询都是直接建立一个多对多关系 class Books(models.Model): users = models.ManyToManyField(User, related ...

  9. 什么是FPGA?为什么FPGA会如此重要?

    CPU.GPU.FPGA三者能力相加就是芯片的未来! 很多粉丝问我,嵌入式方向中的FPGA怎么样?收入如何? 前言 讲述FPGA前,我们先讲讲当年中兴被制裁的问题. 美国前总统特朗普曾经发布过一条禁令 ...

  10. 如何实现基于Cortex-A9 的UART裸机驱动

    前言 Uart在一个嵌入式系统中是一个非常重要的模块,他承担了CPU与用户交互的桥梁.用户输入信息给程序.CPU要打印一些信息给终端都要依赖UART. 本文将以Exynos4412的UART控制器为基 ...