摘要: Redis是开源的基于内存且可以持久化的分布式 Key – Value数据库。自2009年发布最初版本以来,Redis的热度只增不减,除了经常位居DB-Engines的最受欢迎Key-Value数据库榜首之外,看阿里云技术总监为您深度解读云数据库Redis。

点此查看原文:http://click.aliyun.com/m/41902/

为何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 版有哪些优势?

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

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

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

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

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

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

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

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

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

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倍。

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

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

扫码获取更多资讯:

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

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

    摘要: 一.HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性.高性能.高伸缩的分布式存储系统,使用HBase技术可在廉价P ...

  2. python opencv创建图像_打开国庆的正确方式,教你用OpenCV-Python轻松生成微信国庆版头像...

    原标题:打开国庆的正确方式,教你用OpenCV-Python轻松生成微信国庆版头像 OpenCV轻松搞定,不信看内容 相信最近两天大家都被微信头像的国庆版新装刷爆了朋友圈了,不少人都@微信官方,要求换 ...

  3. 女工程师独家揭秘:双11秘密武器阿里云数据库团队故事

    点击有惊喜 . 据说,这个世界上有两类珍稀物种: 1 大熊猫 2 美女DBA DBA 即数据库管理员,需要广泛的数据库.业务.系统和网络知识:心细如发,善于沟通的性格:和7*24小时待命,火线解决问题 ...

  4. 阿里云mysql管理_阿里云数据库数据管理工具解读

    1.背景 阿里云数据库提供MySQL\SQL Server\PostgreSQL\PPAS引擎的在线数据库服务,所有数据库均免费提供了数据管理产品,提供对数据库的界面化管理操作.阿里云提供的数据管理是 ...

  5. 词根词缀记单词——打开单词的正确方式

    技巧记忆英语单词--打开新的学习姿势 学习编程看官方文档一直是一个头疼的问题,不得不说,拥有好的英语阅读能力,真的可以大大减少蹩脚翻译带来的理解问题,首先要解决的自然是单词问题 前言:究竟如何记忆的问 ...

  6. python学不会怎么办_学Python很久都学不会,技术大牛教你打开它的正确方式

    当下,数字化时代已来临,借着人工智能的东风,Python在编程语言排行中的地位也不断攀升.简洁易于上手的语法和丰富的扩展,让它在教育培训.金融.财务.营销等领域都有一席之地. 学Python已成为当下 ...

  7. 热门专业没那么难,文科生打开统计学的正确方式!

    六月,初夏. 高考结束,毕业季到来.准大学生纠结选什么专业,毕业生迈进就业大军,不论什么身份,大家都在思考着同一件事情--当下什么能力最热门? 想要得到答案很简单,打开任意一款求职软件,热门岗位的职位 ...

  8. 打开国庆的正确方式,用Python轻松生成国庆版头像

    OpenCV轻松搞定,不信看内容 公众号[OpenCV学堂],致力于计算机视觉开发技术传播,原创技术文章200+的,涉及OpenCV开发.tensorflow开发.模型解析与训练.传统图像处理算法解析 ...

  9. 打开十一的正确方式,教你用OpenCV-Python轻松生成微信十一版头像

    公众号[OpenCV学堂],致力于计算机视觉开发技术传播,原创技术文章200+的,涉及OpenCV开发.tensorflow开发.模型解析与训练.传统图像处理算法解析,对图像与视觉感兴趣的强烈推荐关注 ...

最新文章

  1. 用备份控制文件做不完全恢复下的完全恢复(数据文件备份旧--新建表空间--控制文件备份次新--日志归档文件新)...
  2. 对象的notify方法的含义和对象锁释放的三种情况
  3. 扬言要干掉 RESTful API 的 GraphQL 是什么鬼?
  4. oracle proedure 文件_关于oracle存储过程读取文件
  5. 不忘每份支持,网易云信感谢一路有你
  6. python opencv实现目标区域裁剪
  7. Maven构建依赖项
  8. 删除归档_备份与归档的“罗生门”
  9. 国内首个 App SDK 国家标准成功立项;苹果意外泄露iPhone 12发布时间;TypeScript 4.0 发布| 极客头条
  10. arcgis python 教程-终于晓得arcgis-python入门教程
  11. (剑指Offer)面试题11:数值的整数次方
  12. 【linux系统学习笔记】linux基本操作
  13. B站莫烦Python基础学习笔记
  14. librtmp源码详解
  15. 套路得人心之我的运营之路!(文末有福利)
  16. C# 反射之Activator用法举例
  17. 用了python抢购京东茅台脚本,为什么你还是抢不到茅台?教你这样设置时间,提升成功概率
  18. 微信废品回收小程序开发上门回收废品小程序开发
  19. 第九届CDA数据分析师认证考试报考指南
  20. 2019 Multi-University Training Contest 7 部分补题

热门文章

  1. 【LeetCode笔记】98. 验证二叉搜索树(Java、dfs、中序遍历、二叉树)
  2. python傅里叶函数图像_python实现傅里叶级数展开的实现
  3. import pandas as pd什么意思_Pandas万花筒:让绘图变得更美观
  4. html加入购物车的动画,vue实现加入购物车动画
  5. 一步一步学python爬虫_初学Python之爬虫的简单入门
  6. python3源代码是什么_如何用inspect查找python3源代码?
  7. 中国可燃冰储量世界第一,2030年能实现商业性开发吗?多难开采?
  8. 北大教授最短毕业致辞。#人性的可爱 #饶毅#自我尊重
  9. 爱因斯坦诞辰140周年:带你走近一个真实的爱神
  10. 算法:人工智能的新曙光