分享嘉宾温云博

华为云数据库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. PHP数组遍历的四种方法

    PHP数组循环遍历的四种方式   [(重点)数组循环遍历的四种方式] 1,https://www.cnblogs.com/waj6511988/p/6927208.html 2,https://www ...

  2. 【SVN】属性功能配置

    一.配置SVN提交模板 更改SVN提交信息模板 (参考源博客): https://www.cnblogs.com/fairylyl/p/10505833.html 右键属性配置: 新建一项属性,选择[ ...

  3. 【H5】11 表格

    概述: 在HTML中一个很普通的任务是构建表格数据,有大量的元素和属性是来满足这种需求的. 只需要一点儿的CSS来设定风格,HTML让在web上显示表格数据变的很容易,例如你的学校的教学计划,你当地的 ...

  4. mojo编程语言:mojo调用python库及内置函数builtins

    编程语言mojo调用python十分方便,mojo不仅可以调用python的库函数更可以调用python的内置函数(builtins),给出示例代码: from python import Pytho ...

  5. 为wsl ubuntu设置固定IP

    参考: https://www.cnblogs.com/lidabo/p/16855858.html https://zhuanlan.zhihu.com/p/515068209 ========== ...

  6. 什么是snapshot isolation

    数据库常见的4种事务隔离级别: (源自:(34条消息) 8. 事务隔离级别: 总结_oyw5201314ck的博客-CSDN博客_ck事务隔离) 大多数的数据库默认的事务隔离级别是Repeatable ...

  7. vue&element项目实战 之api模块化与公共字典

    4.api模块化配置 步骤一:编写字典api即dic.js import request from '@/utils/request' // 查询字典列表 export const getDicLis ...

  8. 用一杯星巴克的钱,训练自己私有化的ChatGPT

    文章摘要:用一杯星巴克的钱,自己动手2小时的时间,就可以拥有自己训练的开源大模型,并可以根据不同的训练数据方向加强各种不同的技能,医疗.编程.炒股.恋爱,让你的大模型更"懂"你-. ...

  9. 新版的Django Docker部署方案,多阶段构建、自动处理前端依赖

    前言 前几天的文章中,我们已经把使用 pdm 的项目用 docker 搞定了,那么下一步就是把完整的 DjangoStarter v3 版本用 docker 部署. 现在不像之前那么简单直接一把梭了, ...

  10. quartz执行卡死--强制中断线程

    在quartz中经常会碰到由于网络问题或者一些其他不稳定因素导致的线程卡死问题,这往往会导致数据处理的延时.而有时候一时无法定位到卡死的原因,为了降低系统风险,我们就会希望有一个超时机制,当执行超时时 ...