数据库也玩模块化?一起开启阿里云Redis4.0的“集装箱”之旅

Posted 阿里云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库也玩模块化?一起开启阿里云Redis4.0的“集装箱”之旅相关的知识,希望对你有一定的参考价值。

日前,阿里云推出了首个模块化云数据库Redis 4.0版,用户无需重构底层代码即可在一个云数据库里构建多个场景,让数据库第一次有了“集装箱货轮”的能力,性能上还提升了300%之多,大幅提升工作效率。

过去,企业和开发者在数据库上做搜索或机器学习所面临的环境是不同的,每新增一个功能都需要重构一次数据库代码,既费时又费力。而模块化数据库不同,开发者只需将搜索、机器学习、地理位置和时序列装到阿里云Redis module这个“集装箱”里,无需代码改动就可运行,效率大幅提升。

“传统的数据库行业定律已经被打破,融合式、兼容并蓄的数据库,将是未来行业发展的一大趋势。”阿里云云数据库技术总监蔡松露表示。


新版的阿里云Redis云数据库采用多线程架构设计,可发挥多核的计算性能,搭配全面升级的25Gb网络,实现了性能300%的进化。同时,创新的内存压缩算法可在不降低性能的情况下,将数据体量压缩50%,现在购买过去一半大小的规格,就可以完成事务处理。

此外,基于LFU的热点Key发现及缓存机制等Feature,阿里云Redis4.0可以有效优化直播场景中信息卡顿等现象。目前国内80%的视频直播网站在使用阿里云Redis数据库,包括近期如火如荼的《芝士超人》等移动直播答题APP都将题库、消息等热点数据放在阿里云Redis上,保障用户体验流畅顺滑。

除了Redis外,阿里云还推出了MongoDB3.4版本,可提供TerarkDB、RocksDB和WiredTiger三引擎切换。以及比社区版提升3倍新能的HBase1.1,成本仅有此前的十分之一。



以下为阿里云云数据库Redis4.0的详细解读

1、Redis4.0之基于LFU的热点key发现机制

业务中存在访问热点是在所难免的,Redis也会遇到这个问题,然而如何发现热点key一直困扰着许多用户,Redis4.0为我们带来了许多新特性,其中便包括基于LFU的热点key发现机制。

2、Redis4.0之MEMORY命令详解

在过去,查看Redis的内存使用状态只有info memory命令,而且也只有一些基础信息,想要获取全局信息就有些困难。4.0开始Redis提供了`MEMORY`命令,一切都变得简单起来。

3、Redis4.0之lazyfree

DEL删除体积较大的键,或FLUSHDB和FLUSHALL清空包含大量键的数据库时,会造成Redis阻塞。Redis 4.0 引入了lazyfree的机制,它可以将删除键或数据库的操作放在后台线程里执行,从而尽可能地避免服务器阻塞。

4、Redis4.0之Lua脚本新姿势

Redis内嵌了Lua环境来支持用户扩展功能,但是出于数据一致性考虑,要求脚本必须是纯函数的形式,对于随机性的写入Redis是拒绝的。从Redis 3.2开始Lua脚本支持随机性写入,最近在总结4.0的新特性,索性就都归到4.0里,方便查阅。

5、Redis4.0之RDB-AOF混合持久化

Redis有两种持久化的方式——RDB和AOF,RDB是一份内存快照,AOF则为可回放的命令日志,他们两个各有特点也相互独立。4.0开始允许使用RDB-AOF混合持久化的方式,结合了两者的优点,通过aof-use-rdb-preamble配置项可以打开混合开关。

6、Redis4.0之利用管道优化aofrewrite

Redis的aof持久化本质上是一个redo log,把所有执行过的写命令追加到aof文件中。那么随着Redis的运行,aof文件会不断膨胀,当触发收缩条件时就要做aofrewrite。 Redis是通过fork子进程来做aofrewrite,同时为了保证aof的连续性,父进程把aofrewrite期间的写命令缓存起来,等收割完子进程之后再追加到新的aof文件。

二、典型场景应用

1、阿里云Redis读写分离典型场景

秒杀活动是绝大部分电商选择的低价促销,推广品牌的方式。不仅可以给平台带来用户量,还可以提高平台知名度。一个好的秒杀系统,可以提高平台系统的稳定性和公平性,获得更好的用户体验,提升平台的口碑,从而提升秒杀活动的最大价值。

2、Redis大数据应用场景

当前已经进入大数据时代,大数据技术和产品百花齐放,在各自的应用场景发挥重要作用,Redis做为高性能的键值数据库与这些技术有着千丝万缕的联系,本文将介绍如何将Redis与Hadoop、ELK等技术进行结合。

3、阿里云Redis典型场景:如何构建可扩展通用排行榜系统

本文主要介绍通用排行榜的需求功能,并介绍了基于Redis的ZSET数据结构的排序方法,另外探讨了通用排行榜的架构及用户如何通过阿里云Redis解决通用排行架构的技术问题。

4、Redis在游戏开发中的典型应用

Redis作为目前最流行的键值对存储数据库,有着丰富的数据结构支持,在民生、金融、游戏、直播等诸多领域都有广泛的应用,大大提升了开发者的开发效率。今天我们主要介绍Redis在游戏开发中的几个典型应用场景:用户数据缓存、持久化功能的消息队列、乐观锁功能。

三、产品家族及技术分析

1、云数据库Redis版推出256M双机热备版

服务于个人开发者和初创企业,适合高QPS、小数据量业务

2、云数据库Redis版·单节点

纯缓存业务量身打造,满足10万QPS的高并发读写访问,故障秒级恢复,保障服务高可用。

3、云数据库Redis单节点集群版

QPS最高可扩展到百万级,可极大满足对于 Redis 大容量或高性能的业务需求,由于分片服务器为单节点,适合对数据容错性较低的纯缓存场景。

4、云数据库Redis集群版

轻松突破 Redis 自身单线程瓶颈,可极大满足对于 Redis 大容量或高吞吐性能的业务需求。

5、云数据库Redis读写分离版

为满足读多写少的业务场景,最大化节约用户成本,阿里云Redis推出了读写分离版本,为用户提供透明、高可用、高性能、高灵活的读写分离服务。阿里云Redis读写分离版最高支持10万写QPS,60万读QPS。

6、阿里云数据库全新功能Redis读写分离,全维度技术解析

目前的阿里云Redis不管主从版还是集群规格,slave作为备库不对外提供服务,只有在发生HA,slave提升为master后才承担读写。这种架构读写请求都在master上完成,一致性较高,但性能受到master数量的限制。经常有用户数据较少,但因为流量或者并发太高而不得不升级到更大的集群规格。

点击阅读原文,关于云数据库Redis版,您想了解的都在这里


以上是关于数据库也玩模块化?一起开启阿里云Redis4.0的“集装箱”之旅的主要内容,如果未能解决你的问题,请参考以下文章

2021阿里云开发者大会|云原生数据库:一站式数据服务分论坛即将开启

Redis4.0数据库:Redis4.0之持久化存储(下)

docker redis4.0 集群(cluster)搭建

Redis4.0 之持久化存储

使用spark-redis组件访问云数据库Redis

阿里云SLB后NginxTomcat获取真实IP