乐趣区

关于数据库:为余势负天工背云原生内存数据库Tair助力用户体验优化

简介:作为双 11 大促承载流量洪峰的利器,Tair 撑持了电商交易外围体验场景。不仅在数十亿 QPS 的峰值下放弃着亚毫秒级别的顺滑提早,同时在电商交易外围体验场景上也做出了技术创新。

作者 | 漠冰
起源 | 阿里技术公众号

作为双 11 大促承载流量洪峰的利器,Tair 撑持了电商交易外围体验场景。不仅在数十亿 QPS 的峰值下放弃着亚毫秒级别的顺滑提早,同时在电商交易外围体验场景上也做出了技术创新。

一 前言

2021 年双十一,是天猫的第十三次双十一,也是 Tair 的第十三次双十一。每个参加备战的 Tair 同学各有不同,有的同学是第一次,感触到了技术大团建的独特气氛;有的同学稍多点,集齐了七件战袍来号召神龙。往年是我经验过的最缓和的一次:备战过程跌宕起伏,往年上线的新产品压测过程不太顺利;同时也是经验过的最暖的一次:在业务搭档们鼎力支持下,团队兄弟们并肩作战,最终做到了“顺滑如丝安稳如磐”。

二 背景

Tair 从 2009 年 4 月诞生开始,经验了屡次迭代,为丰盛的业务场景反对了不同的引擎。其中 MDB / LDB 是倒退工夫最长的子产品,也仍然是明天双十一的相对主力,顺滑地承当了双十一流量洪峰,压测阶段也体现良好。这背地是成熟的内核能力对场景的全面笼罩,以及一直迭代的产品能力对保护效率的晋升。当然,领有 10K+ 实例的数据库产品是离不开零碎 Owner 们精进的业余能力、对产品运行的关注、对需要的疾速响应。

除了产品本身的稳固,Tair MDB / LDB 还是 Tair 产品线其它所有产品倒退的基石,比方 Tair MDB With PMem,作为 Tair 在长久内存上的第一个里程碑,前面迭代出了 2020 年云栖大会公布的 Tair 长久内存型;在往年双十一中,基于长久内存架构的 TairSQL,扩宽了内存数据库 Tair 反对的计算场景。Tair 长久内存型在往年双十一的不同场景中施展了重要作用,上面的章节具体介绍。

三 Tair 长久内存型

Tair 长久内存型是在阿里云官网公开售卖的提供大容量、兼容 Redis 的内存数据库产品,同时也为阿里巴巴团体内外围利用提供服务。单实例老本比照 Redis 社区版最高可升高 30%,且数据长久化不依赖传统磁盘,保障每个操作长久化的同时提供近乎 Redis 社区版的吞吐和延时,极大晋升业务数据可靠性。

Tair 长久内存型所用的存储介质英特尔® 傲腾™ 长久内存(Optane PMem)是兼具杰出的内存与存储性能的解决方案,将高性价比的大容量内存与对数据持久性的反对奇妙地联合在一起,能够将更多数据保留在更凑近 CPU 的中央,减速大内存计算,放慢数据库重启工夫并缩小 I /O,升高大内存节点的功耗,并在断电时爱护数据。

英特尔®傲腾™长久内存补救了传统 SSD 和 DRAM 之间的空白,以翻新的技术提供独特的操作模式,满足针对各种工作负载的需要,特地是从云到数据库,再到内存剖析,虚拟化基础设施等数据密集型和计算密集型工作负载,助力从更大的数据集中获取更深刻的洞察。

2020 年云栖大会公布之后,通过服务越来越多云上和团体内的用户场景,Tair 长久内存型收集的用户反馈对反对的场景范畴、拜访性能、性价比等方面都提出了更高的要求。基于这些需要,Tair 长久内存型攻关了外围优化技术,让数据在 DRAM、长久内存之间动静自适应挪动,确保用户索引占用空间、数据区占用空间维持在固定比例范畴内,满足了不同用户场景下的数据存储需要。

同时,Tair 长久内存型与 Aliyun Linux 操作系统内核技术深度联合,兼容了主备复制、实时备份等场景对于数据快照的需要,并大幅度降低了超大内存占用空间下实时快照的延时影响。除了笼罩更多反对场景和进行高频场景的性能优化,在提供更高性价比方面,Tair 长久内存型精简了自主研发的长久内存存储构造的元数据占用空间,并针对 List、Hash 等用户高频应用的数据结构进行精细化的通明压缩,在维持数据长久化性能稳固下,实现 1 - 2 倍的数据压缩率,大幅升高了数据长久化版本的硬件老本。

Tair 长久内存型除了在 Redis 通用场景上深耕细作继续优化,也拓展对于老本,数据一致性,低延时和容量的综合要求很高的诸如了在广告畛域和特色存储场景上也大放异彩。同时 2021 年双十一中,在两个不同的用户场景做出了翻新,帮忙利用在零碎稳定性、性价比、体验等方面失去了显著晋升。首先介绍在风控场景中起到了重要作用的 TairCPC 数据模型。

1 TairCPC

在 2020 年双十一中首次退场的 TairCPC,往年被吸纳进入 Tair 长久内存型产品,在双十一的风控场景起到了重要作用。

TairCPC 提供的聚合算子 Sketches 化能力,以 Module 的模式下沉到存储引擎外部,能够利用很小的空间对采样数据做高性能的计算,用户增量写入后间接返回实时计算结果。应用 TairCPC 的风控业务,作为团体交易链路外围模块,间接影响线上整个交易的安全性,该产品最外围的实时计算链路进行实时风控的场景应用了 TairCPC。

往年双十一这个场景在 Tair 长久内存型的助力下,节俭了约 1 / 3 的存储空间,加上长久内存的老本劣势,让用户老本大大降低。针对 TairCPC,Tair 长久内存型进行了大量的性能优化,使得泛滥场景下性能与内存相当,在慢查的性能上晋升了一个数量级,无效的晋升了零碎稳定性。在简直不影响性能的状况下,实现了数据的齐全长久化(RPO=0)。

2 TairSQL

2021 双十一 Tair 在外围测验场景做出的技术创新,来源于一款外部代号为 TairSQL 的子系统。双 11 高峰期,用户下单主动领券,以及交易胜利后资产的核销都会为数据库系统带来相应的写入流量,毫秒级别的写入延时必须维持在较低水平能力保障用户在商品搜寻、详情展现等导购场景感触到到手价格的一致性变动。

价格一致性场景对于数据库产品的技术挑战简略来讲就是:读写负载高,延时要求刻薄。为了应答这个场景的技术挑战,上面的章节简略介绍下 TairSQL 应用的内核技术。

TairSQL 内核技术

针对双十一的业务特色,TairSQL 做了长久内存数据存储革新、客户端连贯开销升高、集群初始化减速、内存应用优化等和性价比、稳定性相干的工作,然而服务于高吞吐低提早的场景,次要得益于长久内存存储、高效事务处理模型、轻量级用户接口拜访等几个外围个性:

  • 长久内存数据存储,应用长久内存作为数据最终存储介质,升高了拜访链路上的 IO 提早,无需再进行传统数据库产品耗时的缓存、磁盘上的数据频繁淘汰替换,而且针对索引数据、用户区数据的拜访频率进行了正当的数据分布,让高频的索引查问更新在 DRAM 中实现。
  • 事务处理模型,程度扩大的集群中,每个节点服务数十个分区,每个分区应用独自线程响应的事务处理模型防止了锁竞争的开销,提供了更为平滑的 P99 拜访延时。
  • 轻量级用户接口,轻量级的用户接口拜访技术升高了用户每次申请的 SQL 解析编译开销,联合事务处理模型让用户的读写申请都可能在数百 us 内解决实现并返回。

合格的内核技术只是满足了产品的 physiological needs,产品的 safety needs 须要提供相应的稳定性技术来满足。

TairSQL 稳定性技术

稳定性技术波及到产品的方方面面,不仅包含开发中针对稳定性的个性,还包含可能反映零碎运行状态的周边组件。上面章节次要介绍监控、客户端、服务端流控三局部稳定性技术。

监控。家喻户晓,监控就是零碎的眼睛,没有监控,也不太容易看到产品运行的细节问题。TairSQL 目前次要有两套监控,一套是用来监控集群可用性相干的指标,另外一套是 Grafana+Prometheus+TairSQL Exporter 的链路来提供秒级的 RT、QPS 数据展现。监控的欠缺水平间接决定是否可能发现零碎上的一些细节性问题,比方 TairSQL 的秒级监控能够明确展现每个数据节点的 QPS,在热点拜访没有触发流控就能被发现,从最终数据拜访源数据库的视角热点无处遁形。

客户端。TairSQL 应用富客户端的形式,申请能够间接路由到须要拜访到的节点上。客户端的资源耗费管制、和服务端的交互开销、建连断连在 10K+ 利用节点时对服务端的冲击、服务端拓扑变动时对客户端的及时反馈,这些都是客户端 SDK 上所做的实现考量和优化点。同时客户端和团体内生态 VipServer、鹰眼等产品进行了适配,屏蔽后端节点变动对利用的影响,反对影子表链路的拜访和全链路拜访的定位。

服务端流控。流控 / 背压是一个成熟的服务端产品必备的性能,TairSQL 目前线上的服务端流控统计局部依据工作队列占用的内存大小和长度两个纬度进行限度,依据极限压测时的状态作为默认值的参考,流控的触发阶段是绝对宽松的,只有异常情况才会触发。复原阶段是较为严格的,只有以较高的确信值认定节点曾经复原到失常状况之后,才会解除流控状态。

四 兄弟零碎

云原生内存数据库 Tair 所做的翻新离不开阿里云欠缺的基础设施的反对:

  • 数据库管控平台 DBaaS,疾速实现阿里云数据库提供的平安审计、高可用、弹性伸缩、智能诊断等通用能力,以及 Tair 提供的数据闪回、寰球散布等企业级能力。针对 Tair 长久内存型,DBaaS 联合阿里云容器服务 ACK,反对了长久内存资源和计算资源的亲和性调度以升高长久内存拜访提早,提供长久内存的 QoS 策略反对,保障服务的平安可控和产品的一致性体验。
  • 神龙裸金属服务器,提供的长久内存系列产品,为云原生内存数据库 Tair 提供了弹性服务的根底,针对突发流量进行针对性优化的网络技术让 Tair 应答高吞吐场景熟能生巧,对内存等硬件危险的智能预测让 Tair 能够提前预感大促高峰期的危险级别进行躲避。
  • Aliyun Linux,不仅对长久内存硬件进行了适配,还针对 Tair 独有的长久内存数据快照反对、实时快照延时升高等业务场景提供了针对性的优化。

五 总结

Tair 长久内存版在 2021 天猫寰球购物节中的体现是云原生内存数据库 Tair 在产品演进跟线上的重要里程碑。Tair 将继续以内存 / 长久内存 为外围存储,重点建设云原生、混合存储介质上的数据智能散布、在线存储和实时计算解决一体化等外围能力,增强云原生内存数据库的产品能力,在同一套零碎中提供多种工作负载,帮忙客户的泛滥场景真正在线化。

原文链接
本文为阿里云原创内容,未经容许不得转载。

退出移动版