数据COOL谈第3期

简介: 本文整理自阿里巴巴大淘宝技术部双12队长朱成(锡泽),阿里巴巴业务平台双11队长徐培德(裴度),阿里巴巴数据库双11队长陈锦赋(智盛),InfoQ主编王一鹏,在数据COOL谈第3期的分享。

数据COOL谈第3


摘要:本文整理自阿里巴巴大淘宝技术部双12队长朱成(锡泽),阿里巴巴业务平台双11队长徐培德(裴度),阿里巴巴数据库双11队长陈锦赋(智盛),InfoQ主编王一鹏,在数据COOL谈第3期的分享。


本篇内容主要分为四个部分:

1.在特殊的高并发场景下,云数据库的技术发展需求是什么?

2.是什么支持了峰值超过50万笔/秒交易的达成?

3.是什么支持了券后到手价实时显示?

4.是什么支持了双11当晚购物历史订单随时查看?

 

一、在特殊的高并发场景下,云数据库的技术发展需求是什么?


王一鹏:请大家讨论一下,在双十一,双十二特殊的高并发,高稳定性场景下,云数据库的技术发展以及业务创新的需求。双十一、双十二已经成为真正的购物狂欢节。从消费者的反馈,产品在这些年会有什么改进呢?


徐培德:以前用户更强调的“买买买”,现在用户更喜欢“逛逛逛”。用户希望能够更加清晰地知道商品的到手价,券后价是多少?第二,用户希望在同一个订单里,支持多个地址,一键全部下单时,可以享受更多的优惠达到最高的性价比。


王一鹏:消费者在业务场景下的反馈,如果转化成技术要求大概有哪些?


徐培德:第一,数据库团队做了很多优化。保证说在0点抢购的场景下,保证扣货,在数据库层面不会出现抢购失败。


第二,提前把预期的优惠到手价,在技术层面,通过复杂的计算过程把数据能够加载到我们的应用里,呈现在消费者面前。


王一鹏:双十一的购物平台有很多浏览需求,购买需求,技术压力主要体现在哪呢?


徐培德:0点那一刻,消费者购物车会有一个下单的爆发期。随着第一波下单完成,很快进入到第二轮的商品浏览。对于消费者来说,通常要逛几个商品才会下单。所以浏览商品的流量远比下单流量高。


在浏览的过程中,数据库要保证消费者在浏览时,各种卡券的叠加计算。在这个过程当中,要核销一定的资产,保证浏览其他商品时核销的卡券已经更新。


陈锦赋:数据库作为底层产品最重要的三个指标就是成本、效率、稳定性。早期,阿里更关注数据库的稳定性。随着技术迭代和发展,数据库的效率也显得更加重要。目前,阿里更加注重控制成本,同时保证数据库的稳定性和效率。

云底座提供了非常好的稳定性和性能。云数据库为阿里提供了稳定性高、性能强以、成本低的数据库产品矩阵。

 

二、是什么支持了峰值超过50万笔/秒交易的达成?


王一鹏:是什么支持了峰值超过50万笔/秒交易的达成?


朱成:秒杀是一个非常典型的电商场景。在淘宝,每时每刻都在发生秒杀活动。除了没有抢到的人略微失望之外,整体的操作流程,用户体验是非常顺畅的。


朱成:秒杀会吸引很多的用户,当海量用户瞬间涌入,会给系统造成脉冲式的冲击。阿里通过不断地迭代、优化,秒杀活动可以立刻将结果,反馈给用户,无需等待,系统非常稳定。


徐培德:阿里的健康礼包相对来说价值较高,很多用户在一瞬间抢购礼包。对于系统的冲击是比较大的。这是一个非常极端的抢购场景。抢购的峰值流量很大,整套业务技术、数据库有很大的压力。与此同时,库又比较深,持续时间长。导致整个应用链路长时间保持高水位的均匀性。


王一鹏:数据库底层对秒杀活动有哪些支持?


陈锦赋:减库存的动作可以看成是一条不限速的高速公路。每个货车代表了一个用户请求。热点监控意味着在单位时间内通过的车流量更大。在技术层面,ROS线程池能力既满足了高水位吞吐,又满足每次请求、批量进行库存更新,“黑科技”提升数据库运转效率,让热点能力有了非常大的提升,跟整个社区相比,秒杀减库存能力提升一百倍。


RDS线程池里,有一个优先级较高的线程池,一个优先级较低的线程池,线城池之间有相互隔离的功能。在用户抢购商品时,在优先线程之内,能够优先被服务,从而确保抢购稳定,快速的通过。


与此同时,线程池会识别性能有风险的请求,然后丢在慢线程池队列,做相应的服务。保障线上整体的高水位和稳定性。


徐培德:在阿里健康礼包的秒杀活动中,抢购持续了近一分钟。相当于数据库在饱和状态持续执行每个场景。平时的一个热点,往往发生在一个分片。在阿里健康礼包的秒杀活动中,128分片里同时出现两个商品,全部是热点,CPU运行已经在50%以上。


陈锦赋:阿里的线程池实现了隔离能力。热点是一个独立的线程池。如果在热点里,有多个商品,它就在多个线程,多个队列内。它们之间又相互隔离,确保持续稳定的的结果。


朱成:今年的大促,整体会更加关注用户体验。在计算量较大,稳定性风险较高的地方实施降级。通过基础链路的改造,数据库能力提升,实施降级。


徐培德:阿里数据库现在做了存储分离以及三节点写。在存储计算分离中,有一个数据库机头升降配的操作。在大促时,用一个高规格的存储机头,计算存储节点。在日常,数据库会有升降配的过程。核心数据库因为数据量的问题,做了水平切分。


一套核心的数据库有上百个分片支撑。只要数据库有响应,都能保证操作在主节点和从节点上是生效的。任何时刻,如果主节点当机或者切换到从节点,数据不会出现性能问题。


陈锦赋:三节点能力的核心是解决数据一致性的问题。在异步复制链路下,某场景出现数据不一致,主备数据不一致。当主库出现非预期内的行为,且无法恢复备库提供服务后,数据有损。


基于算法层面的一致性,结合到MySQL数据库,把算法和数据库结合。形成RDS三节点企业版能力。它能够实现,在任意场景下的数据强一致的核心诉求。当数据库出现异常后,它能保证数据没问题。


存算分离的核心本质,是数据库从有状态的应用或软件,变成无状态的情况。存储资源和计算资源它是一体的。计算规格升级,意味着数据重新拷贝、备份、恢复。


在面向交易,面向商品的大规模数据量下,拷贝的一次成本是非常高的。为了解决这个问题,阿里实现了不带数据迁移的升降配逻辑。


在本地盘的物理介质换成云盘介质时,为解决性能差异,阿里使用了神龙ESS用户态协议,公有云ESSD的存储类型,PolarDB文件系统。在三个用户态的情况下,减少内核层面,没有意义的开销。使数据库的很多操作能够直通硬件。

在提交订单的按钮背后,涉及到的数据库操作总和有五十多次。所有优化都在微秒级别。从用户的角度,阿里已经达到了合格线。在业务的角度,还会继续提供更高性能、更高稳定性、更低成本的数据库产品。


IDS数据库以及PolarDB数据库体系,都天然具备热点能力。用户今天可以直接买到,具备非常强悍的热点能力的数据库产品。


王一鹏:PolarDB有什么特性,适合类似秒杀的高并发的场景吗?


陈锦赋:PolarDB在云原生场景下,基于存储计算分离可以随意提升整体吞吐。它存储计算分离的特性,能够更好的支持更多商品、更多用户,更大的吞吐能力。

 

三、是什么支持了券后到手价实时显示?


王一鹏:是什么支持了券后到手价实时显示?


朱成:用户在浏览的过程中,希望查看到手价,券后价。它涉及到渠道货品,红包优惠规则,快递费用等问题。把计算放到浏览阶段要求系统必须解决计算复杂性的问题。


这背后牵涉到数据一致性问题,对数据库的计算力,数据库架构提出了非常苛刻的要求。


徐培德:券后价在大促时,作为一个攻坚项目,卷后价依赖两方面,算力和数据存储。在存储方面,经过调研之后,最终选择了一款TairSQL内存化的数据库产品。它可以用较低的硬件成本,提供较高的读写并发的能力。


保证在非常短的时间内,在异构的数据源之间进行数据同步,保证用户在用户体感上非常顺滑。


陈锦赋:数据库团队解决消费者的实际体感问题时,以业务场景作为整体输入。基于Tair,研发全新的TairSQL产品类型。它是一个缓存数据库。通过新硬件AEPTair的结合,实现超大内存存储,使它的存储空间量翻了十倍甚至上百倍。


目前,在公有云上所有人都可以通过企业版的形态,享受到和阿里巴巴完全一致的缓存类服务。

 

四、是什么支持了双11当晚购物历史订单随时查看?


王一鹏:是什么支持了双11当晚购物历史订单随时查看?


朱成:淘宝已经有18年的历史积攒了海量的订单,在海量订单上精准检索,智能联想难上加难。以前,在高峰期会对这个功能进行降级。用户只能查询三个月以内的订单。查询的过程中可能会遇到找不准,找不到等体验问题。


朱成:现在用户还可以随时随地查看自己的历史订单,在历史订单里进行检索,提升了查询满意度,准确度和用户体验。


徐培德:用户的订单检索,依赖的数据库的模糊匹配功能。通过单纯的数据库结构,很难提供这种体验。在用户体验的角度,希望给用户更强的搜索体验。所以,阿里选择了一种新的数据库产品,ADB在线分析的数据库。它支持全文检索,相关性排序等功能。


陈锦赋:对于团队来说ADB是一个全新挑战。整个内核团队花了整整一年的时间满足这个业务诉求。团队投入了非常多的能力,去解决这个问题。

业务的真实数据存在RDS内部,而ADB是一个数据仓库。团队实现了在线数据能够,实时到达数据仓库,完成秒级实时传输。


海量存储是数据仓库的强项,ADB作为在线数据仓库,将千亿级订单存在ADB上,并且支持实时分析、实时检索。


原来的存储类型,是以“列存”作为核心标准。今天有“行存”要求,“行存”业务需求,以及“列存”的存储模式。所以团队研发了新的存储类型,“行列混存”的能力。“行列混存”基于内存场景,以列存方式,实现检索。以行存结果,返回给业务。


订单搜索维度能够提供高效的查询场景。ADB3.0基于新的存储类型,实现毫秒级查询升,覆盖全字段。在这个基础上,ADB研发了最新的索引技术,支持全列的索引查询能力。


在这个技术下,实现了一个搜索框内的输入,它的匹配条件,能够落在每一列上。在订单搜索满意度上,和去年相比,整体的客诉量下降了86%左右。

今天,阿里仍在持续建设库仓一体,希望在线数据有实时搜索、实时实时分析的能力。面向消费者,提供一体化的服务能力。


数据实时化之后需要发掘更多的商业价值,数据库产品也往实时数据分析的方向发展,这也是云原生数据仓库ADB3.0的价值。希望能够实现数据的在线化、实时化,挖掘其背后的商业价值。

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
机器学习/深度学习 存储 NoSQL
Graph RAG: 知识图谱结合 LLM 的检索增强
RAG(Retrieval Argumented Generation)这种基于特定任务/问题的文档检索范式中,我们通常先收集必要的上下文,然后利用具有认知能力的机器学习模型进行上下文学习(in-context learning),来合成任务的答案。这次,我们借助 LLM 的力量,强化下 RAG。
2942 0
Graph RAG: 知识图谱结合 LLM 的检索增强
|
5月前
|
缓存 人工智能 监控
MCP资源管理深度实践:动态数据源集成方案
作为一名深耕AI技术领域多年的开发者,我见证了从传统API集成到现代化协议标准的演进历程。今天要和大家分享的MCP(Model Context Protocol)资源管理实践,是我在实际项目中积累的宝贵经验。MCP作为Anthropic推出的革命性AI连接标准,其资源管理机制为我们提供了前所未有的灵活性和扩展性。在过去的几个月里,我深度参与了多个企业级MCP项目的架构设计和实施,从最初的概念验证到生产环境的大规模部署,每一个环节都让我对MCP资源管理有了更深刻的理解。本文将从资源生命周期管理的角度出发,详细探讨文件系统、数据库、API等多种数据源的适配策略,深入分析实时数据更新与缓存的最佳实践
201 0
|
资源调度 分布式计算 Kubernetes
给 K8s 装上大数据调度引擎:伏羲架构升级 K8s 统一调度
飞天伏羲作为有着十多年历史的调度团队,在服务好 MaxCompute 大数据平台的过程中,一直在不断通过自我革新赶超业界先进水平,我们经历了 Fuxi 2.0 的这样的大规模升级,今天通过 K8s 统一调度项目又再次实现了系统架构的蜕变,将大数据平台强大的调度能力赋予 K8s 系统,同时去拥抱 K8s 周边丰富的生态。除了集团弹内集群,将来我们在公共云、专有云等多个场景,也会以 K8s 统一调度的方式进行输出,以更好地服务云上的用户,敬请期待!
2546 96
给 K8s 装上大数据调度引擎:伏羲架构升级 K8s 统一调度
|
存储 机器学习/深度学习 负载均衡
模型服务网格:云原生下的模型服务管理
模型服务网格:云原生下的模型服务管理
78757 90
模型服务网格:云原生下的模型服务管理
|
存储 Kubernetes 算法
在K8S中,etcd 及其特点?
在K8S中,etcd 及其特点?
|
Kubernetes 监控 Perl
在K8S中,hpa原理是什么?
在K8S中,hpa原理是什么?
|
存储 Kubernetes 调度
kubernetes核心技术之Pod知识总结
【4月更文挑战第2天】kubernetes核心技术之Pod知识总结
538 0
|
SQL 存储 监控
轻松玩转全链路监控
好的产品总是能给予用户最轻松的使用体验,并在实际生产中发挥出巨大的业务价值。我们不妨从现在开始,就将所有微服务应用通过无侵入的方式接入ARMS,构建一体化的全链路监控体系,而不是等到真正遇到生产故障的那一天,为了定位问题而费尽周折。
10649 89
轻松玩转全链路监控
|
机器学习/深度学习 编解码 达摩院
【OpenVI-图像超分实战篇】别用GAN做超分了,快来试试基于扩散模型的图像超分吧!
近10年来,深度学习技术得到了长足进步,在图像增强领域取得了显著的成果,尤其是以GAN为代表的生成式模型在图像复原、老片修复,图像超分辨率等方面大放异彩。图像超分辨率是视频增强方面,用于提升画质的典型应用。生成对抗网络GAN使得在图像分辨率增加的同时,保持细节特征,补充生成真实的纹理,其中应用广泛的工作是Real-ESRGAN。 扩散模型DiffusionModel在图像超分辨率这方面的新的应用,展现出其超过GAN的生成多样性和真实性。看完后,你会发现,还在用GAN做图像超分辨率吗?已经OUT了,快来试试DiffusionModel吧!
28926 3
【OpenVI-图像超分实战篇】别用GAN做超分了,快来试试基于扩散模型的图像超分吧!
|
安全 API 数据安全/隐私保护
[笔记]Windows安全之《二》Session0隔离及相关启动技术
[笔记]Windows安全之《二》Session0隔离及相关启动技术
588 0