整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

华为云PB级数据库GaussDB(for Redis

华为云PB级数据库GaussDB(for Redis)揭秘

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

作者:华为云高斯Redis团队

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

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

1、存储架构

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

2、四大特性


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


3、竞争力分析

4、场景推荐

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

5、选择建议



6、命令兼容

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

7、容量参考

以往用户选择开源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


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


高拍仪进行二次开发,简单来说就是对现有软件进行定制和修改,扩展功能,然后集成实现你想要的功能。一般来说,原系统的内核不会改变。那么如何进行高拍仪的二次开发呢?


高拍仪二次开发的基本要求:

我对开源产品高拍仪使用的语言有很好的理解。

开源产品的数据结构、代码结构、系统框架结构,核心在哪里,附属功能在哪里。简单来说就是对数据库、代码逻辑、文件目录、接口理解的熟悉程度。

根据您的需求,再利用开源产品的内核对系统进行扩展和修改,并提供SDK中的API函数,帮助您更灵活方便地使用SDK中的功能,满足您的需求。


高拍仪二次开发示例:

PRO/ENGINEER 在提供强大的设计、分析和制造功能的同时,还为用户提供了多种二次开发工具。常见的二次开发工具有:FamilyTable、用户定义特征(UDF)、Pro/Program、J-link、Pro/toolkit等。


用户定义的特征(UDF) 用户定义的特征是将若干系统特征组合成一个自定义特征,使用时作为一个整体出现。系统将 UDF 特征保存为 gph 文件。 UDF适用于特定产品中的特定结构,有助于设计人员根据产品特征快速生成几何模型。

高拍仪SDK二次开发包的运行性能如何?

高拍仪系统集成服务可为各类办公OA系统、协同办公平台、数据管理平台、数据库系统提供完整的ActiveX版和DLL版二次SDK开发包。可实现图像文档的高效高质量存储,同时支持自动校正、去黑边、获取BMP位图(24位)Base64编码数据、图像压缩、防伪水印、本地图像网页删除、图片列表生成、指定图片上传到服务器,支持拍摄多页TIF多页PDF生成、条码识别等功能。通过VB、ASP。 NET、Delphi、C++、PB或JavaScript等编程语言调用SDKAPI。在整个过程中提供开发和集成服务。

高拍仪表控制集成,即通过集成高拍仪表控制,可以在java中解决各种应用软件系统。 NET、php等软件开发中遇到的高速仪器编程操作问题,快速在asp。 Net、jsp、asp等web项目调用高速仪表设备,让用户办公过程更加方便流畅。田者高拍的SDK开发包特点:强大的软件支持,提供SDK、TWAIN、DirectShow、WDMDriver、VFWDriver接口,操作简单,功能模块化。