阿里云自研内存数据库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将不断探索新的应用场景,为用户提供更优质、更全面的数据库服务。

原文链接

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

双11特刊|购物车实时显示到手价,看云原生内存数据库Tair如何提升用户体验?的更多相关文章

  1. 订单峰值激增 230%,Serverless 如何为世纪联华降本超 40%?|双11 云原生实践

    作者 | 朱鹏 导读:2020 年 双11,世纪联华基于阿里云函数计算 (FC) 弹性扩容,应用于大促会场 SSR.线上商品秒杀.优惠券定点发放.行业导购.数据中台计算等多个场景,业务峰值 QPS 较 ...

  2. 基于Filebeat+Kafka+Flink仿天猫双11实时交易额

    1. 写在前面 在大数据实时计算方向,天猫双11的实时交易额是最具权威性的,当然技术架构也是相当复杂的,不是本篇博客的简单实现,因为天猫双11的数据是多维度多系统,实时粒度更微小的.当然在技术的总体架 ...

  3. 第八章 交互技术,8.4 Weex 双11会场大规模应用的秒开实战和稳定性保障(作者:鬼道)

    8.4 Weex 双11会场大规模应用的秒开实战和稳定性保障 前言 Native 开发的诸多亮点中,流畅体验和系统调用是最多被提及的.流畅体验体现在页面滚动/动画的流畅性,背后是更好的内存管理和更接近 ...

  4. 媲美5G的Wifi网速、“备战”资产一键领……揭秘双11小二背后的保障力量

    如今,双11不光是购物狂欢节,更是对技术的一次“大考”,对于阿里巴巴企业内部运营的基础保障技术而言,亦是如此. 回溯双11历史,这背后也经历过“小米加步枪”的阶段:作战室从随处是网线,交换机放地上的“ ...

  5. 不仅仅是双11大屏—Flink应用场景介绍

    双11大屏 每年天猫双十一购物节,都会有一块巨大的实时作战大屏,展现当前的销售情况. 这种炫酷的页面背后,其实有着非常强大的技术支撑,而这种场景其实就是实时报表分析. 实时报表分析是近年来很多公司采用 ...

  6. 使用Uploadify实现上传图片生成缩略图例子,实时显示进度条

    不了解Uploadify的,先看看前一篇详细说明 http://www.cnblogs.com/XuebinDing/archive/2012/04/26/2470995.html Uploadify ...

  7. [转载] 关于“淘宝应对"双11"的技术架构分析”

    微博上一篇最新的关于“淘宝应对"双11"的技术架构分析”.数据产品的一个最大特点是数据的非实时写入.

  8. iOS之UISearchBar实时显示结果

    iOS之UISearchBar实时显示结果     UISearchBar 经常是配合UITableView 一起使用的,一般都将UITableView的tableHeaderView属性设置为UIS ...

  9. 双11电商剁手节,最全的H5互动营销案例合集

    距离双11不足一个月! 是否准备好为双十一疯狂剁手! 自从天猫2009年首创双11购物节以来双十一不仅成为了消费者的"剁手日" 更是每年企业营销的"狂欢节" 各 ...

  10. 我们知道CDN护航了双11十年,却不知道背后有那么多故事……

    情不知如何而起,竟一往情深.恰如我们.十年前,因为相信,所以看见.十年后,就在眼前,看见一切. 当2018天猫双11成交额2135亿元的大屏上,打出这么一段字的时候,参与双11护航的阿里云CDN技术掌 ...

随机推荐

  1. IE故障修复之点击无反应

     第一步,点击开始,运行,打开Regedit,即注册表编辑器.依次找到 >>HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer ...

  2. 🚀🚀🚀Elasticsearch 主副分片切换过程中对业务写入有影响吗

    先说下结论,只要集群中的工作节点过半,有候选的master节点,挂掉的节点中不同时包含索引的主分片和副分片,那么ES是可以做到让业务无感知的进行主副分片切换的. 蓝胖子会先讲解下ES集群写入文档的原理 ...

  3. [leetcode 496. 下一个更大元素 I] 单调栈

    单调栈的写法: import java.util.ArrayDeque; import java.util.Deque; import java.util.HashMap; import java.u ...

  4. 记录--盘点 TypeScript 那些奇怪的符号

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和 ...

  5. sklearn库主要模块功能简介

    1.sklearn库简介 sklearn,全称scikit-learn,是python中的机器学习库,建立在numpy.scipy.matplotlib等数据科学包的基础之上,涵盖了机器学习中的样例数 ...

  6. 散列表的数据结构以及对象在JVM堆中的存储过程

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/129916399 出自[进步* ...

  7. KingbaseES V8R3集群运维案例之---流复制异步同步及全同步模式配置

    案例说明: 通过案例描述KingbaseES V8R3集群异步.同步及全同步强一致性配置,本案例为一主二备的架构. 适用版本: KingbaseES V8R3 集群架构: 集群复制配置参数说明: 1) ...

  8. KingbaseESV8R6识别IO使用率过高

    前言 数据库正常运行离不开I/O的使用,在操作系统上,I/O又离不开存储的性能及使用方式,我们可以在存储层利用raid条带化技术使IOPS达到最佳性能. 本篇文章有助于确认数据库I/O使用率过高的原因 ...

  9. KingbaseES V8R6 常用的系统函数

    查看当前日志文件lsn位置: select sys_current_wal_lsn(); 查看某个lsn对应的日志名: select sys_walfile_name('0/1162FBA0'); 查 ...

  10. Scala 元祖Tuple

    1 package chapter07 2 3 object Test10_Tuple { 4 def main(args: Array[String]): Unit = { 5 // 1. 创建元组 ...