阿里云自研内存数据库Tair诞生于2009年,是一种支持高并发低延迟访问的云原生内存数据库,完全兼容Redis,已历经多年双11大促考验,提供核心在线访问加速能力,显著提升系统吞吐量。
作为双11大促承载流量洪峰的利器,Tair支撑了电商交易核心体验场景。不仅在数十亿QPS的峰值下保持着亚毫秒级别的顺滑延迟,同时在电商交易核心体验场景上也做出了技术创新。
2021双十一Tair在核心检验场景做出的技术创新,来源于一款内部代号为TairSQL的子产品,TairSQL通过持久内存存储、高效事务处理模型、轻量级用户接口访问等最新技术来服务相应场景,支撑新零售实时优惠计算引擎获取用户级别的优惠券、红包、积分等资产数据,确保价格一致性。助力购物车场景首次实现高并发流量下、实时显示券后到手价,让用户对商品实付价一目了然,显著提升消费者购物体验和用户效率。
双11高峰期,用户下单自动领券,以及交易成功后资产的核销都会为数据库系统带来相应的写入流量,毫秒级别的写入延时必须维持在较低水平才能保证用户在商品搜索、详情展示等导购场景感受到到手价格的一致性变化。在激增的写入给系统带来挑战的同时,TairSQL需要响应高吞吐的查询负载,而且延时要求更为苛刻。
TairSQL使用持久内存作为数据最终存储介质,降低了访问链路上的IO延迟,无需再进行传统数据库产品耗时的缓存、磁盘上的数据频繁淘汰交换,而且针对索引据、用户区数据的访问频率进行了合理的数据分布,让高频的索引查询更新DRAM中完成;
水平扩展的集群中,每个节点服务数十个分区,每个分区使用单独线程响应的事务处理模型避免了锁竞争的开销,提供了更为平滑的P99访问延时;轻量级的用户接口访问技术降低了用户每次请求的SQL解析编译开销,结合事务处理模型让用户的读写请求都能够在数百us内处理完成并返回。
TairSQL最为关键的持久内存存储技术是Tair在技术应用上持续创新的又一里程碑:基于英特尔(Intel)傲腾™持久化内存硬件,Tair于2018年正式开始投入持久化内存的研究和落地,成功应用于当年双11的电商商品核心集群中,服务于KV缓存场景,大幅降低了成本,是中国首个在生产环境正式部署应用Intel 持久化内存硬件的产品。
Tair持久内存型兼容Redis,数据持久化不依赖传统磁盘,确保每个操作持久化的同时,提供近乎Redis社区版的吞吐和延时,极大提升了业务数据可靠性。基于Tair持久内存架构的TairSQL,兼容SQL写入查询,服务于高吞吐下对延时要求苛刻的业务,单集群峰值可达400w写、800w读,查询延时稳定在1.5ms以下,进一步拓宽了Tair支持的计算场景的广度。
不仅在新的计算场景应用上不断探索,Tair针对已覆盖的场景也时刻关注系统运行细节和日常用户反馈,深耕细作持续优化:
通过服务越来越多云上和集团内的用户场景,Tair收集的用户反馈对支持的场景范围、访问性能、性价比等方面都提出了更高的要求。基于这些需求,Tair持久内存型攻关了核心优化技术,让数据在DRAM、持久内存之间动态自适应移动,确保用户索引占用空间、数据区占用空间维持在固定比例范围内,满足了不同用户场景下的数据存储需求。
同时与Aliyun Linux操作系统内核技术深度结合,兼容了主备复制、实时备份等场景对于数据快照的需求,并大幅度降低了超大内存占用空间下实时快照的延时影响。除了覆盖更多支持场景和进行高频场景的性能优化,在提供更高性价比方面,Tair持久内存型精简了自主研发的持久内存存储结构的元数据占用空间,并针对List、Hash等用户高频使用的数据结构进行精细化的透明压缩,在维持数据持久化性能稳定下,实现1-2倍的数据压缩率,大幅降低了数据持久化版本的硬件成本。
在2020年双十一中首次登场的TairCPC,今年也将能力下沉到了Tair持久内存型产品中。TairCPC提供的聚合算子Sketches化能力,以Module的形式下沉到存储引擎内部,可以利用很小的空间对采样数据做高性能的计算,用户增量写入后直接返回实时计算结果。使用TairCPC的风控业务,作为集团交易链路核心模块,直接影响线上整个交易的安全性,该产品最核心的实时计算链路进行实时风控的场景使用了TairCPC。
今年双十一这个场景在Tair持久内存型的助力下,节省了约1/3的存储空间,加上持久内存的成本优势,让用户成本大大降低。针对TairCPC,Tair持久内存型进行了大量的性能优化,使得众多场景下性能与内存相当,在慢查的性能上提升了一个数量级,有效的提升了系统稳定性。在几乎不影响性能的情况下,实现了数据的完全持久化(RPO=0)。
Tair所做的创新,离不开阿里云完善的基础设施的支持:云原生数据库管控平台DBaaS快速实现阿里云数据库提供的安全审计、高可用、弹性伸缩、智能诊断等通用能力,以及Tair提供的数据闪回、全球分布等企业级能力。针对Tair持久内存型,DBaaS结合阿里云容器服务 ACK,支持了持久内存资源和计算资源的亲和性调度以降低持久内存访问延迟,提供持久内存的QoS策略支持,保障服务的安全可控和产品的一致性体验;
神龙裸金属服务器提供的持久内存系列产品,为Tair提供了弹性服务的基础,针对突发流量进行针对性优化的网络技术让Tair应对高吞吐场景游刃有余,对内存等硬件风险的智能预测让Tair可以提前预见大促高峰期的风险级别进行规避;
Aliyun Linux不仅对持久内存硬件进行了适配,还针对Tair独有的持久内存数据快照支持、实时快照延时降低等业务场景提供了针对性的优化。
2021天猫双11虽已落下帷幕,但我们不会停下脚步,云原生内存数据库Tair将不断探索新的应用场景,为用户提供更优质、更全面的数据库服务。
原文链接
本文为阿里云原创内容,未经允许不得转载。