企业打开Redis的正确方式,来自阿里云云数据库团队的解读

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介: Redis是开源的基于内存且可以持久化的分布式 Key – Value数据库。自2009年发布最初版本以来,Redis的热度只增不减,除了经常位居DB-Engines的最受欢迎Key-Value数据库榜首之外,看阿里云技术总监为您深度解读云数据库Redis。

为何Redis成为数据库能成为后起之秀?

        数据库技术积累近半个世纪,然而随着新时代场景增多、业务发展,传统数据库面临着很多压力。数据开始初现规模,企业需要多套HA集群数据库,SQL和NoSQL Key Value混合使用,并且开始使用监控系统。而更加复杂的情况下,每个业务都需要各自特定的数据库架构和优化方案,需要加入OLAP 、离线分析任务,并且考虑高速扩展、高性能、高可靠等问题。

        Redis是开源的基于内存且可以持久化的分布式 Key – Value数据库。自2009年发布最初版本以来,Redis的热度只增不减,除了经常位居DB-Engines的最受欢迎Key-Value数据库榜首之外,也在多家调查报告中成为非常受喜爱的NoSQL数据库。

        Redis作为NoSQL的代表之一,为什么会在历史悠久的数据库领域中迸发出此般活力?

        阿里云云数据库技术总监蔡松露认为:相比与强一致性的SQL关系型数据库,NoSQL非关系型数据库具备高性能、高灵活性。在当今的互联网时代,如新金融、新零售、视频直播、人工智能、IoT等多样化的业务场景有了更严苛更不同的技术诉求。其次,擅长OLTP查询的SQL并不完美地满足猛增的OLAP分析需求。最后,数据库行业一直信奉的CAP理论已经被Paxos、Raft等算法打破,即可以同时实现强一致、高可用和高容错,这也被视为NoSQL运动兴起的重大原因之一。

        “一切坚固的东西,都烟消云散了”。 Redis能让数据库运行在内存中,比闪存盘快1000倍。

 开源Redis有哪些不足?

        其实,开源项目和企业产品,有着完全不同的定位。开源Redis项目最大的原则是简单可靠,但是云产品则需要满足很多企业诉求如多地容灾、安全加密、升级与优化、集群兼容性等等。

        阿里云云数据库团队一直积极参与Redis开源社区的共建:在Redis 创始人 Salvatore之后,对社区代码贡献第二的就是阿里云云数据库团队;去年十月,阿里云云数据库还将自研的特性如短连接性能提升30%、支持热升级、兼容Memcache等融合到ApsaraCache项目中并贡献给开源社区,对此Salvatore表示“ApsaraCache 项目开源是一件非常好的事情,将能够吸引全世界更多 Redis 核心专家参与,进一步提升产品的稳定性和可用性。”

        在每个企业级的需求背后,团队都做了巨大的研发工作。举例说明,集群高兼容性和无缝扩容以满足实际生产需求;在集群热升级时做到使用无感知且业务不受影响;提供安全加密功能满足如金融对保密级别要求高的客户等等。

 工业级使用,没有什么是小事儿

        目前,90%的中国互联网公司都依靠Redis支撑用户的高并发访问,而80%的中国视频直播网站都使用的阿里云云数据库 Redis 版。

        与开源Redis项目相比,兼容Redis协议标准的阿里云云数据库 Redis 版有哪些优势?

TB12DQWXr9YBuNjy0FgXXcxcXXa-854-323.png

                                           Figure 1阿里云基于开源Redis的企业级需求技术支持 

       作为为企业服务的云产品,仅仅提供酷炫的功能并不足够,更需要的是可靠、性能、安全和易用方面的保障和承诺。对于阿里云云数据库团队而言,很多改进都是在各种客户场景需求下不断打磨而成,比如:双机热备、持久化、同城容灾;支持集群版、高性能硬件、基于Binglog模式复制免除pfork;VPC网络、强密码认证、DDoS攻击、SSL加密;性能监控、阈值报警、高频操作、数据管理等。

        容灾是必不可少的部分,Redis原生的AOF可以帮助同一机房网络相应可达情况下的容灾,但是对于链路过长跨城甚至存在跨时区机房时,而需要远程异地同步。有些企业对可用性要求极高,每个单元都须承担流量,允许N-1个机房断电;为此,团队设计了服务单元化+数据中心的拓扑模式,并相应地进行内核改造从而具备独特的容灾能力。

TB1y_ZWXr9YBuNjy0FgXXcxcXXa-1330-602.png

                                                       Figure 2:Redis异地多活架构方案示意图 

        每个行业都会有各自场景需求。以游戏行业为例,如斗地主等房间模式需要做到随时开服,这就需要基于时间点用户备份做到瞬间克隆实例;而对于参加人数会猛增的游戏,需要在疯狂灌人时逐步增大配置以做到资源合理高效利用,比如从标准版一键升级到极致版需要秒级迁移用户数并且做到服务不收影响;在游戏低峰收尾业务时多服合并,即将多个服务数据库汇总到一个再做实时降级。同时,还要云上云下数据打通,数据归档快速回滚,做到时间点或局部恢复。

        而对于视频直播行业,瞬间大量用户涌入的场景非常需要快速存储、快速响应,基于朋友关系的送礼物、讨论评论等大部分数据操作都适合非关系型数据库,而仅有充值等少量场景需要关系性数据库,因此重度依赖Redis数据库,相应地则有“稳定性高于一切、低内存高QPS、连接数较大”的技术要求。相应地,阿里云出台的视频直播方案具备连接数可普调至1-2w、带宽可单独调配及至万兆, 集群支持热点key,读写分离等

        此外,民生类的行业又会分为极高QPS,热升、无缝扩容的新闻类,容灾、多活的交通类,容灾、数据安全的金融类,根据各种场景给出响应的优化方案。

 关于阿里云Redis 4.0云数据库增强版的一些细节

        阿里云云数据库Redis版发布的增强版具有多线程架构、内存压缩算法优化、key后台删除功能、Redis module、Redis热key统计等特点,尤其值得一提的是该款产品通过创新的Redis module让数据库第一次有了“集装箱货轮”的能力。

TB1OY.VXv9TBuNjy0FcXXbeiFXa-1920-1080.pn

                                              Figure 3:Redis module让数据库拥有“集装箱”能力 

        一般而言,传统的单核CPU需要承担30%计算和60%网络的工作负载,而当采用多核处理之后,可以将计算、网络任务分别交给若干个CPU并将性能提高三倍,从根本上解决问题从而高并发任务量。同时,还通过创新的内存压缩算法,将数据量压缩50%。

        热key统计是为了解决热点事件时大流量请求集中落在某些分片中,到达物理网卡上线,缓存分片服务被打垮,缓存击穿请求‘穿透’引起‘雪崩’的问题。常见的方法是结合使用服务端缓存、Memcache等,但是需要提前获知热点、缓存容量依然有限、增长不一致时间且热点key遗漏等。目前,受益于读写分离架构,搭配负载均衡、读写分离自动路由和各节点高可用等,增加服务端能力高效快速发现热点数据,从而应对热key困境。

 Redis未完,NewSQL待续

        阿里云云数据库 Redis 版兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构、可无缝扩展的集群架构以及读写分离架构,满足高读写性能场景及容量需弹性变配的业务需求。

        关于非关系型数据库,阿里云还有可根据不同场景切换引擎的MongoDB 3.4、首个全托管的DBaaS服务HBase  1.1,与开源社区版本相比,前者高连接数下并发提升10倍、短链接并发提升5倍,后者支持本地盘成本下降90%、整体性能提升3倍。

TB1xIcVXv9TBuNjy0FcXXbeiFXa-1227-439.png

                                         Figure 4:阿里云拥有全球最完善的NewSQL云数据库家族 

        没有NewSQL,企业将无法从容应对大规模增长的数据,多维模型、聚合、大数据计算、物联网应用、机器学习实践等等新场景都会非常艰难。随着未来不断发展演进,各类数据库或许会逐渐融合为一,那时我们只需要在线插件式的方法,根据不同业务需求选用即可。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
存储 机器学习/深度学习 人工智能
打造企业智能体(AI Agent)的重要技术-向量数据库
本篇介绍的是为通用大模型增加专业业务能力的重要技术:向量数据库
打造企业智能体(AI Agent)的重要技术-向量数据库
|
2月前
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
2月前
|
NoSQL Redis Docker
在docker中安装redis,并且阿里云服务器配置
在docker中安装redis,并且阿里云服务器配置
183 1
|
1月前
|
弹性计算 NoSQL Redis
阿里云ECS使用docke搭建redis服务
阿里云ECS使用docke搭建redis服务
154 1
|
1月前
|
弹性计算 关系型数据库 MySQL
阿里云MySQL云数据库优惠价格、购买和使用教程分享!
阿里云数据库使用流程包括购买和管理。首先,选购支持MySQL、SQL Server、PostgreSQL等的RDS实例,如选择2核2GB的MySQL,设定地域和可用区。购买后,等待实例创建。接着,创建数据库和账号,设置DB名称、字符集及账号权限。最后,通过DMS登录数据库,填写账号和密码。若ECS在同一地域和VPC内,可内网连接,记得将ECS IP加入白名单。
433 2
|
1月前
|
弹性计算 NoSQL 测试技术
倚天使用|Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
137508 3
|
1月前
|
存储 弹性计算 NoSQL
阿里云突发!上百种云产品大规模降价,云服务器、云数据库、存储价格下调
阿里云突发!上百种云产品大规模降价,云服务器、云数据库、存储价格下调
103 2
|
1月前
|
Cloud Native 自动驾驶 NoSQL
亚太唯一,阿里云连续4年入选Gartner®云数据库管理系统魔力象限领导者象限
国际市场研究机构Gartner®日前公布2023年度全球《云数据库管理系统魔力象限》报告,阿里云成为亚太区唯一入选该报告“领导者(LEADERS)”象限的科技公司,同时也是唯一一家连续4年入选“领导者”象限的中国企业。
亚太唯一,阿里云连续4年入选Gartner®云数据库管理系统魔力象限领导者象限
|
2月前
|
SQL 关系型数据库 MySQL
【JavaEE进阶】 数据库连接池与MySQL企业开发规范
【JavaEE进阶】 数据库连接池与MySQL企业开发规范
|
2月前
|
NoSQL 关系型数据库 Linux
阿里云RDS购买Linux——安装redis服务
阿里云RDS购买Linux——安装redis服务
93 0

相关产品

  • 云数据库 Redis 版