云数据库Tair:从稳定低延时缓存到 Serverless KV

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 本次分享聚焦云数据库Tair的使用,涵盖三部分内容:1) Tair概览,介绍其作为稳定低延时缓存及KV数据库服务的特点和优势;2) 稳定低延迟缓存技术,探讨如何通过多线程处理、优化内核等手段提升性能与稳定性;3) 从缓存到Serverless KV的演进,特别是在AI大模型时代,Tair如何助力在线服务和推理缓存加速。Tair在兼容性、性能优化、扩缩容及AI推理加速方面表现出色,满足不同场景需求。

本次分享的是关于Tair的使用,云数据库Tair从稳定低延时缓存到Serverless KV。CONTENT整体分为三部分。第一部分,对云数据库Tair整体性介绍。第二部分,在缓存过程中怎么做到稳定低延迟技术。第三部分,在AI的大模型时代,应该如何将Tair从缓存往Serverless KV转移。

 

一、云数据库Tair概览

首先对Tair进行整体性介绍。从Tair的定位上,Tair是稳定低延时的缓存以及对KV的数据库服务。从生态上,Tair整体兼容Redis开源版,如果以Redis开源版的主从版所支持A集为全部集合,开源版的集群版对于主从版所能支持的API只有70%到78%,所以集群版对开源版的支持度并不高,但Tair的主从版和开源版完全兼容。集群版的兼容度在80%到90%之间,比开源版的集群版API兼容度高。另外Tair提供了不同的形态,可以使客户在各个业务场景中使用。单副本包括主从版本、集群版、智能读写版,所以单副本可以用于测试环境,主从版本用于生产级别。在整体上Tair可以提供持久内存性,包括磁盘的Serverless KV给客户提供在不同场景对不同性能数据量成本有要求情况下做出综合性考量。

 

二、建设稳定低延迟缓存的关键技术

建设稳定低延迟缓存cache技术的挑战和解决方案


1.缓存的挑战-稳定承载流量变化

首先Redis的开源版以及在客户使用过程中可能会遇到的一些情况。Redis整体性能良好,但在中大规模以及集群规模下,会出现被爆破的情况,导致这个现象的原因是单个工作处理线程天花板能力是有限的,处理的KPI基本上在10万左右。在可运维性和稳定性上,譬如在集群下会遇到未知的情况,包括遇到超时抖动很难排查。


2.超越Redis的性能-轻松应对爆发请求

在整个Tair性能稳定以及可靠性做了非常多的工作,一是Tair采用了多线程的处理机制,相比于开源版Redis6.0,它号称多线程,但真正在处理数据上依然是单线程处理,所以整体处理的性能上限不高。通过Tair多线程之后,单进程的吞吐量是开源版的2.5倍左右,包括平均延时基本上也是Redis 6.0的50%或60%。在此性能与吞吐下,可以让客户在更多关键的场景下使用。


3.缓存服务的稳定低延时技术挑战

客户使用Redis或Tair的过程中碰到比较多的问题是超时了该怎么办以及该如何去查?如果我们使用的是开源版,由于开源版的可观测性差比较多,所以很难去定位。Tair从这方面,进程内核级别包括无所化、异步化技术,把慢查询隔离掉,可以做到在有慢查询情况下,把短的产品做到比较好的处理。


4.建设稳定低延时的缓存

把Tair的内核和阿里云操作系统紧密结合,将Redis开源版一直难以解决的问题,如在做快照或者做AOF、folk的情况下,有抖动的弊端解决掉。如果使用Redis是开源版32G的进程DB做folk时,可能会卡顿几百毫秒,但用Tair加阿里云操作系统后,卡顿基本上在1毫秒内。另外假如业务出现异常访问量或者业务上新应用,把Tair拖报之后,可能会导致意外的情况,但是Tair有RBAL的机制,可以将异常的访问API、异常的访问IP这一类定向限制住,对于客户业务来说,先通过限制住异常访问来帮助业务能够恢复到平稳态之后再来调查事故原因。


5.开箱即用-无感弹性

另外一个是客户头痛的点是扩缩容。假如使用开源板扩缩容会比较难做,特别是在一个较大的集群情况下。所以Tair在扩缩容上做了非常多工作,首先把开源版按key去搬迁的机制改成块件搬迁,通过中心化的集群管理机制来统一调度扩缩容的过程。通过改进机制可以让客户在扩容过程中完全无感知。用开源版的时候经常会出现因为有大key或是在扩容过程中有机器的情况下导致整个扩缩容失败,而且很难再回滚。


上述讲的是Tair在性能与稳定性以及扩缩容的一些工作。


三、从缓存走向一个Serverless KV

1.Tair Serverless KV助力在线服务&推理缓存加速

Tair Serverles KV是最新发布的,Tair Serverless KV从技术上可以分为两层,一层是Serverless  KV 的基座,他的作用是将CPU 的DRAM包括GPU的HBM、NVM持久内存和SSD,这些介质统一混合管理。


作为混合存储介质KV池并进行统一的适调。所以可以认为他提供了较大的KV值,在各个存储介质之间流动。左右两侧分别代表了两种不同的技术业务场景,左侧是面向互联网KV负载的场景,在互联网里面KV这类使用的很多。基于Tair Serverless KV后,提供了进入Redis的在线KV服务,和前面Tair的区别,第一它是高可靠持久化;第二他是多租户,通过用户态的精细实时间片去调度,可以把时延P99做到10毫秒内。


因为他是大集群,所以把集群里面的所有的资源CPU磁盘带宽等统一规划管理,因此扩缩容速度特别快。第三就他整体处理热点上比之前数据库提升很多,因为之前数据库都是竞争级别的,而它是集群多租户级别,可以充分利用机器上资源。相比开源的Redis,处理热点的能力是五倍以上。第四,面向AI推理,和TensorRT-LLM 基于推理引擎一起制作,相当于帮助TensorRT-LLM做缓存加速,所以和TensorRT-LLM结合推出了 Tair Serverless KV推理缓存加速的服务。整体上通过PD处理的优化机制,包括PD分离的机制、 KV Cache的池化,把AI推理过程中整体成本降低了20%,性能吞吐提升30%。


2.面向在线KV负载的Serverless 演进

将上述内容细化。第一点面向互联网在线KV,与之前的Redis进程级别的核心区别:一是数据的持久化,二是整个扩缩容速度迅速,以及扩得快扩得广,可以从1GB 1QPS扩展到上百TB的,三是因为Tair的整体定位上是面向整体在线KV的,所以在稳定低延时上花了特别大的功夫。


3.用户态精细调度

在有慢查询的情况下,往往会把用户普通查询拖慢。这种情况下用快慢分离的处理,慢线程处理CPU使用率特别高,但是快处理使用率并不一定高,所以整体使用率不能提的特别高。另外可以增加更多的线程数去处理的,但是会带来线程间资源相互干扰的情况,所以采用按用户态的时间片切分的方式,可以把慢的查询在处理到一定时间片之后往外调度,将快查询处理,通过这种机制确保用户API SLV,并且确保我们集群的使用率,包括客户的成本足够低。


4.大模型推理遇到的挑战

在AI推理遇到的一些挑战。整体在推理过程中会用到比较多的KV Cache,它与用户输入的长文本相关,如果输入的越长,整个KV Cache占用的会越高,往往在一个推理中KV Cache可能占到了40%、50%显存或者更多。所以怎么优化KV Cache是推理加速很关键的部分。推理过程中为两个阶段,一个是欲填充阶段,一个decoding阶段,这两个阶段对于显存的资源消耗是不一样的,所以期望把这两个阶段拆分开来以便把GPU资源使用好。


5.Tair  KVcache缓存加速推理

Tair的整体推出了以KV Cache缓存加速,把用户的Context  Cache包括RAG Cache可从重复使用的放到 Tair Serverless KV中,相当于通过更多的存储来节省GPU的计算率,另外把Prefill和Decoding两个阶段拆开可以将GPU的使用力提升更高,拆分开之后,将中间KV Cache通过我们的 Tair Serverless KV池进行共享。这是整个Tair在AI所做的工作。我们也希望Tair在互联网缓存工作以及AI推理时代向前推进。

以上是本次分享的全部内容。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
6月前
|
缓存 NoSQL 关系型数据库
WordPress数据库查询缓存插件
这款插件通过将MySQL查询结果缓存至文件、Redis或Memcached,加速页面加载。它专为未登录用户优化,支持跨页面缓存,不影响其他功能,且可与其他缓存插件兼容。相比传统页面缓存,它仅缓存数据库查询结果,保留动态功能如阅读量更新。提供三种缓存方式选择,有效提升网站性能。
110 1
|
6月前
|
消息中间件 缓存 NoSQL
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
|
8月前
|
关系型数据库 Serverless 分布式数据库
瑶池数据库微课堂 | PolarDB Serverless弹性&价格力观测
瑶池数据库微课堂介绍阿里云PolarDB Serverless的弹性与性价比优势。通过瑶池解决方案体验馆,用户可免费实操,直观感受Serverless的秒级弹性及超高性价比。内容涵盖Serverless概念、操作步骤、压测演示及性能曲线分析,展示PolarDB在不同负载下的自动扩展能力。适合希望了解云数据库弹性和成本效益的技术人员。
142 2
|
8月前
|
存储 缓存 NoSQL
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
227 1
|
8月前
|
缓存 NoSQL 关系型数据库
云端问道21期实操教学-应对高并发,利用云数据库 Tair(兼容 Redis®)缓存实现极速响应
本文介绍了如何通过云端问道21期实操教学,利用云数据库 Tair(兼容 Redis®)缓存实现高并发场景下的极速响应。主要内容分为四部分:方案概览、部署准备、一键部署和完成及清理。方案概览中,展示了如何使用 Redis 提升业务性能,降低响应时间;部署准备介绍了账号注册与充值步骤;一键部署详细讲解了创建 ECS、RDS 和 Redis 实例的过程;最后,通过对比测试验证了 Redis 缓存的有效性,并指导用户清理资源以避免额外费用。
152 1
|
3月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
666 1
|
4月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
3月前
|
SQL 关系型数据库 MySQL
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
261 62
|
6月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
2月前
|
SQL 存储 关系型数据库
MySQL功能模块探秘:数据库世界的奇妙之旅
]带你轻松愉快地探索MySQL 8.4.5的核心功能模块,从SQL引擎到存储引擎,从复制机制到插件系统,让你在欢声笑语中掌握数据库的精髓!