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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
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开源版的左从板所支持API集为全部集合,开源版的集群版对于左从版所能支持的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推理时代向前推进。

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

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
1月前
|
关系型数据库 Serverless 分布式数据库
瑶池数据库微课堂 | PolarDB Serverless弹性&价格力观测
瑶池数据库微课堂介绍阿里云PolarDB Serverless的弹性与性价比优势。通过瑶池解决方案体验馆,用户可免费实操,直观感受Serverless的秒级弹性及超高性价比。内容涵盖Serverless概念、操作步骤、压测演示及性能曲线分析,展示PolarDB在不同负载下的自动扩展能力。适合希望了解云数据库弹性和成本效益的技术人员。
|
1月前
|
存储 缓存 NoSQL
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
|
1月前
|
缓存 NoSQL 关系型数据库
云端问道21期实操教学-应对高并发,利用云数据库 Tair(兼容 Redis®)缓存实现极速响应
本文介绍了如何通过云端问道21期实操教学,利用云数据库 Tair(兼容 Redis®)缓存实现高并发场景下的极速响应。主要内容分为四部分:方案概览、部署准备、一键部署和完成及清理。方案概览中,展示了如何使用 Redis 提升业务性能,降低响应时间;部署准备介绍了账号注册与充值步骤;一键部署详细讲解了创建 ECS、RDS 和 Redis 实例的过程;最后,通过对比测试验证了 Redis 缓存的有效性,并指导用户清理资源以避免额外费用。
|
22天前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
8天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
79 42
|
26天前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
202 0
|
2月前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
72 3
|
2月前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
116 3
|
2月前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
113 2
|
2月前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
370 15