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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 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月前
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
4月前
|
缓存 NoSQL Java
Redis 缓存与数据库数据不一致问题
Redis 缓存与数据库数据不一致问题
92 3
|
19天前
|
安全 NoSQL 关系型数据库
阿里云数据库:助力企业数字化转型的强大引擎
阿里云数据库:助力企业数字化转型的强大引擎
|
2月前
|
安全 关系型数据库 数据库
阿里云RDS PostgreSQL版支持 PG17,还不来体验?
PostgreSQL被誉为最先进的开源数据库,具有强大的扩展性和灵活架构。9月26日,社区官方正式发布了PostgreSQL 17.0版本,在性能、逻辑复制、开发者体验等方面进行了优化。阿里云RDS PostgreSQL 版已支持 PostgreSQL 17.0,并在社区17.0基础上,进行了安全、成本、可运维性等多方面提升,增加多种内核特性及插件特性。
|
2月前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
275 2
|
20天前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
20天前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
22天前
|
NoSQL 关系型数据库 OLAP
如何选择最合适的数据库,帮助企业及个人业务更好的开展
如何选择最合适的数据库,帮助企业及个人业务更好的开展
|
3月前
|
SQL 存储 NoSQL
Redis6入门到实战------ 一、NoSQL数据库简介
这篇文章是关于NoSQL数据库的简介,讨论了技术发展、NoSQL数据库的概念、适用场景、不适用场景,以及常见的非关系型数据库。文章还提到了Web1.0到Web2.0时代的技术演进,以及解决CPU、内存和IO压力的方法,并对比了行式存储和列式存储数据库的特点。
Redis6入门到实战------ 一、NoSQL数据库简介
|
3月前
|
存储 缓存 NoSQL
Redis内存管理揭秘:掌握淘汰策略,让你的数据库在高并发下也能游刃有余,守护业务稳定运行!
【8月更文挑战第22天】Redis的内存淘汰策略管理内存使用,防止溢出。主要包括:noeviction(拒绝新写入)、LRU/LFU(淘汰最少使用/最不常用数据)、RANDOM(随机淘汰)及TTL(淘汰接近过期数据)。策略选择需依据应用场景、数据特性和性能需求。可通过Redis命令行工具或配置文件进行设置。
71 2

热门文章

最新文章

相关产品

  • 云数据库 Tair(兼容 Redis)