Lazada 如何用实时计算 Flink + Hologres 构建实时商品选品平台

本文整理自 Lazada Group EVP 及供应链技术负责人陈立群在 Flink Forward Asia 2025 新加坡实时分析专场的分享。
引言:实时数据驱动,海外电商竞争的新高地
在电商行业,用户行为瞬息万变,促销节奏日益紧凑,能否在毫秒级做出数据驱动的决策,已成为决定成败的关键。作为东南亚领先的电商平台,Lazada 面临着一项巨大挑战:在六个国家管理数十亿商品 SKU,同时为不同市场的用户提供高度个性化的商品推荐。
为应对这一挑战,Lazada 基于阿里云实时计算 Flink 和 Hologres,打造了一个端到端的实时商品选品平台。这个平台不仅支撑了日常运营,更在大促期间实现了分钟级决策响应。本文将深入分享 Lazada 如何通过现代流式处理与实时分析技术,重构电商数据架构,实现从“事后分析”到“事中调控”的跃迁。
选品的本质:从“货架管理”到“用户洞察”

电商中的商品选品与传统零售有着本质区别。一家实体 7-Eleven 便利店受限于物理空间,可能只能陈列约 2500 个 SKU;而电商平台可以在单个品类下展示数百万件商品。然而,真正的挑战并不在于存储容量的限制,而在于有限的屏幕展示空间,以及为每位用户提供个性化、相关性强的商品推荐的需求。
Lazada 在六个市场开展业务,拥有一个庞大的供应生态系统,包括本地卖家、跨境商家和国际供应商。这构成了一个极其复杂的环境,我们必须高效地管理和分析数十亿个商品 SKU,同时通过智能选品和实时分析确保最佳的用户体验。
商品选品流程包含三个关键层级。最底层是数据服务层,为所有商品相关信息提供基础设施支持。在其之上是选品层,SKU 被分组进入不同池中,并根据业务需求进行处理。最上层是分析层,使业务智能团队能够进行实时分析并做出数据驱动的决策。
这种多层架构在高流量活动期间尤为重要,例如我们的大型促销活动,类似于阿里巴巴的双 11。在这些高峰时段,我们需要实时分析商品表现,识别库存风险,检测潜在欺诈行为,并监控竞争对手动态。能否在几分钟甚至几秒内做出商业决策,往往决定了整场活动的成败。
业务与技术的双重挑战

业务层面的挑战
从业务角度来看,Lazada 继承了来自阿里巴巴的基础设施,最初导致不同业务单元之间数据孤岛林立。我们的供应团队、1P 自营业务、跨境运营和 marketplace 业务部门各自维护独立的产品与 SKU 数据源。这种数据割裂在业务团队需要创建整合数据池以进行综合商品分析时,显著降低了效率。
数据新鲜度是另一个关键挑战。在我们原有的系统中,上线一个新产品或更新商品属性,可能需要超过一天时间才能同步到所有系统。这种延迟使得依赖过时数据进行时效性强的商业决策变得不可行,尤其是在闪购或促销活动期间,市场条件变化极为迅速。
此外,原有技术架构也限制了数据的丰富性。业务团队经常提出需要更多指标和标签,以更好地理解商品表现和用户偏好,但我们的旧系统无法高效地满足这些不断演进的需求。
技术架构的局限性
从技术角度看,我们原有的架构存在若干显著缺陷。全量数据同步耗时超过一天才能完成,这在节奏快速的电商环境中是无法接受的。系统的吞吐能力有限,难以应对业务运行所需的高 TPS(每秒事务数)要求。
成本效益也一直是持续存在的问题,高昂的机器资源成本和巨大的维护开销消耗了宝贵的技术资源。这些局限性表明,我们需要一个能够以可扩展的效率处理海量数据并降低运营成本的综合解决方案。
技术挑战还因需要支持异构数据源、实时流处理能力,以及高效地同时执行批处理和流处理而进一步加剧。我们的旧系统无法在满足业务所要求的性能和可靠性标准的同时,满足这些不断变化的需求。
拥抱现代流处理的新机遇

成熟流处理技术的出现,特别是 Apache Flink,为我们解决上述挑战提供了前所未有的机会。Flink 社区的贡献,加上阿里巴巴在该领域的大量开发工作,已经创建了一个强大的批流融合生态系统,能够处理我们复杂的业务需求。
支持异构数据源的能力尤其具有吸引力,因为 Lazada 使用了多种继承自阿里巴巴的数据源和技术。这些技术的开源性质意味着我们既可以利用社区的创新成果,又能保持足够的灵活性,根据自身特定需求定制解决方案。
这一技术基础使我们能够构想一个统一的平台,无缝整合实时流处理与批处理,为现代电商运营提供所需的灵活性和性能。
架构方案:Flink + Hologres 的黄金组合

我们的解决方案以阿里云实时计算 Flink 和 Hologres 为核心组件,构建了一个支持实时流处理与批处理能力的统一架构。该架构通过成熟的容器化和资源调度系统提供运行时可用性,并具备复杂的任务管理能力。
该平台与 Lazada 现有的多种数据库无缝集成,最大限度地降低了集成复杂性并减少了迁移风险。对 Kafka 和 MetaQ 等常见消息队列的支持,确保了与我们现有数据管道基础设施的兼容性。
在批处理方面,我们使用 MaxCompute(内部称为 ODPS)进行输入和输出操作。Hologres 在批处理和流处理方面均表现出卓越的性能,能够满足我们商品选品平台对高吞吐量的需求,同时为实时分析保持低延迟。
这种集成化方法使我们的业务团队能够一键创建商品选品任务,系统自动为特定市场和活动生成平台上最具潜力的 SKU 组合。系统支持实时分析能力,使业务团队能够在闪购等实时活动中监控活动表现并进行库存调整。
数据架构:分层处理,精准匹配业务需求

我们的分析显示,电商平台上约 70% 的指标来自离线批处理数据仓库操作,通常具有 T+1D(次日)的延迟。其余 30% 由需要更及时更新的增量数据构成,我们进一步将其分为两个不同的数据流。
其中一半的增量数据来自每小时的批处理更新(T+1H),包括聚合指标和已处理的分析数据,这些数据不需要实时处理,但需要比每日批处理更频繁地更新。另一半则是实时流数据(T+1S),包括用户浏览行为、下单操作、GMV 计算以及动态价格变动。
这一实时部分尤为重要,因为卖家可以随时更改价格,平台也能即时发起营销活动或创建补贴券。这些动态变化必须立即反映在我们的增量数据流中,以确保商品选品和定价信息的准确性。
批处理与增量数据的整合

对于批处理数据部分,我们采用从 MaxCompute 向 Hologres 进行表同步的方式,利用阿里生态系统内统一的元数据管理。这一方法在淘宝的运营中已被证明成功,提供了可靠且高效的批处理数据处理能力。
增量数据处理涉及多个数据源,包括 MySQL、Kafka 和来自 MaxCompute 的每小时数据更新。我们使用 Flink 将这些数据同步到 Hologres 中的一个中间增量数据表,该表作为不同数据源的汇聚点。
这种中间表方式具有多个优势。首先,它支持更便捷的 binlog 重放和灵活的恢复机制,确保在灾难恢复场景下的数据完整性。其次,它允许我们在中间阶段整合异构的上游数据源,而不是在最终的商品选品表中进行,从而减少了处理时间和复杂性。
中间增量数据表还充当了外部系统数据的缓冲区,通过仅保留必要的增量变更来帮助优化存储成本。我们使用 Flink 管道管理 binlog 更新,为主业务操作维护一个主分区,并设置两个备用分区,以便在灾难恢复或数据回填操作期间快速切换。
异构数据源管理

我们的平台通过 Flink 的变更数据捕获(CDC)能力,成功处理了多样化的数据源。来自 MySQL 和 Kafka 流的实时数据以亚秒级延迟(T+1S)处理,而来自 MaxCompute 的每小时更新则为时效性要求较低的指标提供 T+1H 处理。
Flink CDC 接入使我们能够监控各数据源的数据变化,而 Hologres 支持百万级 TPS 的写入,确保系统能够在大型促销活动期间应对峰值流量负载。这种组合为大规模电商运营所需的可扩展性和性能提供了保障。
Hologres 的分片技术结合其高 TPS 写入能力,使我们能够通过 Flink 管道从 Kafka 和 MaxCompute 并行处理每秒数百万笔交易。这一能力对于在整个庞大的商品目录中保持数据实时性至关重要。
日常运维与工作流管理
我们的日常操作流程体现了大规模电商数据处理所需的复杂编排。每天开始时,系统会在数据表中创建一个初始分区,该分区基于前一天的离线全量数据快照。
系统监控同步任务,并在初始同步完成后,基于增量数据表触发 binlog 重放操作。此过程包含复杂的监控机制,用于判断重放任务何时完成,因为在重放过程中仍会有新的实时数据持续到达。
我们使用两个触发点来识别任务完成:一是监控数据流入模式以检测增量重放是否结束,二是跟踪重放数据与当前时间的接近程度。这种双触发机制在保持操作效率的同时,确保了数据的全面捕获。
这种轻量级解决方案结合了全周期批处理与通过 Hologres 中间增量数据表实现的实时增量更新,为我们的日常运营提供了可靠性与性能的双重保障。
两大技术突破:Roaring Bitmap 与 JSON-B
Roaring Bitmap 在标签管理中的实现

我们最重要的技术创新之一是 Roaring Bitmap 技术在标签管理中的应用。在电商平台中,有两个系统严重依赖标签:用户画像和商品分类。对于用户,我们需要了解其偏好,包括品类偏好、商品类型和价格区间。对于商品,我们必须用详细属性进行标记,如颜色、产地、材质和风格特征。
标签给数据系统带来了巨大挑战,原因在于其动态性和庞大的数量。在我们最初的 Hologres 部署中,我们使用数组存储标签,这在标签检索和分析操作中造成了显著的性能瓶颈。
我们的团队研究并实现了 Roaring Bitmap 技术,该技术使用 32 位整数并将其拆分为低 16 位和高 16 位,从而高效压缩标签数据。系统使用三种数据容器:稀疏数据使用数组容器,高密度数据使用位图容器,连续范围使用 run 容器。
这一实现带来了显著的性能提升:存储需求减少 40%,CPU 使用量下降 30%,与标签相关的操作整体运行时间减少 90%。这些改进显著增强了我们的商品选品平台在大规模场景下处理复杂标签场景的能力。
JSON-B 对半结构化数据的支持

电商平台产生大量半结构化数据,尤其是来自社交媒体评论、商品评价和复杂业务关系的数据。我们的商品选品平台需要处理商品与活动、订单及各种业务决策相互关联的场景,从而形成复杂的半结构化数据关系。
Hologres 的 JSON-B 支持为我们提供了所需的灵活性,它在列式存储的同时,允许根据具体需求在存储模式之间切换。当不需要列式存储时,我们使用标准存储模式;而当分析查询需要列式访问时,我们可以轻松切换到优化的列式存储。
这种灵活性在涉及下游团队的商品选品场景中被证明极为宝贵,尤其是在将商品数据与业务操作在比单个 SKU 更细的粒度上结合时。JSON-B 的实现使我们能够在保持查询性能和存储效率的同时,处理复杂的业务关系。
业务影响与成果

基于 Flink 和 Hologres 构建的商品选品平台,在多个维度上带来了显著的业务价值。目前,我们运行超过 200 个实时任务,每天处理超过 20TB 的数据,增量更新每天处理 1 亿条记录。
这种高吞吐能力使我们的业务团队能够在闪购和促销活动等关键时期,消费实时增量指标并及时做出商业决策。平台在处理海量数据的同时保持实时响应的能力,彻底改变了我们进行商品选品和活动管理的方式。
技术效益与成本优化

从技术角度看,基于 Flink 和 Hologres 的简化架构,相比我们之前的系统,显著降低了开发和维护成本。统一平台的方法消除了管理多个独立系统的复杂性,同时提供了更优越的性能和可靠性。
机器资源成本降低了 50%,使我们能够将节省的资金重新投入到扩展 SKU 选品能力和提升客户体验上。简化的架构还减少了系统维护所需的技术专业知识,使我们的团队能够专注于创新,而非运维负担。
平台支持多种数据新鲜度要求的能力,意味着我们既可以满足活动期间对时效性极强的实时分析需求,也能支持用于战略规划的全面历史分析。这种灵活性被证明对满足组织内多样化的业务需求极为宝贵。
增强的业务能力
我们增强后的商品选品平台现在能够根据业务需求,支持多种数据新鲜度和分析时间范围。无论是团队在活动执行期间需要实时数据,还是为年度规划需要全面的历史分析,平台都能提供适当的数据粒度和性能。
消除以往的数据限制,使我们的标签能力得以显著扩展。我们现在可以导入大量标签数据集,包括通过翻译和适配流程,引入来自中国市场的天猫和淘宝商品标签。这一能力极大地提升了系统有效理解和分类商品的能力。
通过 Hologres 处理多样化上游系统的能力,对外部数据源的支持也得到了极大增强。无论数据来自阿里巴巴内部系统还是外部卖家平台,我们的统一平台都能高效地处理和整合信息。
如今,该平台已发展成为一个混合事务与分析系统,为业务团队提供了运营任务和战略分析的全面能力。这种统一方法消除了对多个专用系统的依赖,同时提高了整体效率和数据一致性。
未来规划:AI 集成与高级分析

展望未来,我们的技术规划重点集中在人工智能集成和高级分析能力上。我们已经开始为基于主题的场景实施 AI 驱动的商品选品,例如为特定市场创建圣诞节、F1 赛事或明星演唱会相关的活动。
我们的 AI 驱动选品系统能够基于活动主题和历史表现数据,从数十亿可用商品中推荐最具潜力的 SKU。这一能力利用了 Hologres 的向量查询功能,以及即将推出的 64 位 Roaring Bitmap 支持,这将实现更复杂的标签管理和 AI 生成的商品理解。
我们预计 AI 生成的商品标签将比人工生成的标签产生更多数据,这需要更强的存储和处理能力。扩展后的 Roaring Bitmap 支持将在处理这种数据量增长的同时保持查询性能方面发挥关键作用。
新品类发现与趋势分析
我们未来的发展还包括识别平台上尚未上架、甚至在整个电商生态系统中都尚未出现的产品的能力。这涉及检测概念性商品和新兴趋势,这些可能代表新的商业机会。
通过与开放搜索引擎的集成以及 AI 驱动的趋势分析,我们将能够主动识别新的商品组合机会。这一能力旨在帮助我们的业务团队提前捕捉市场机遇,通过识别新兴的客户需求和商品类别来抢占先机。
客户满意度的无止境追求推动着商品选品的持续创新。客户不断寻求更具吸引力、更新颖、更令人满意的产品组合,这为我们技术团队应用前沿技术解决真实业务问题创造了持续的机会。
技术实现洞察
性能优化策略
我们的实施揭示了若干对大规模电商平台至关重要的性能优化策略。使用中间数据表作为缓冲区,显著提高了系统的弹性和恢复能力,同时降低了数据源管理的复杂性。
分区策略被证明在维护和灾难恢复场景中保持系统可用性方面至关重要。我们采用的三分区方法(一个主分区,两个备用分区)能够在无服务中断的情况下实现无缝切换,确保关键操作期间的业务连续性。
Flink 的流处理能力与 Hologres 的高性能存储相结合,产生了超越各组件单独能力之和的协同效应。这一集成表明,选择能够相互增强优势的互补技术至关重要。
可扩展性考量
从一开始就为可扩展性而设计,对于应对 Lazada 的增长轨迹至关重要。我们的架构能够在无需根本性重新设计的情况下,适应不断增长的数据量、用户流量和业务复杂性。
对异构数据源的支持确保了随着 Lazada 进入新市场或增加新业务线,我们能够集成新的数据流和业务系统。这种灵活性对我们支持在东南亚的快速扩张至关重要。
通过高效的数处理和存储策略实现的资源优化,使我们能够经济高效地扩展。在性能提升的同时将机器成本降低 50%,证明了正确的架构选择能够同时带来技术和经济效益。
经验教训与最佳实践
数据架构设计原则
我们的经验突显了在电商环境中设计高效数据架构的若干关键原则。首先,通过分层架构实现关注点分离,能够在保持系统整体一致性的同时,对不同组件进行独立优化。
其次,中间数据层在管理复杂性和提供灵活性方面的价值不可低估。这些层充当缓冲区、转换点和恢复机制,显著提升了系统的弹性和可维护性。
第三,从一开始就为批处理和流处理工作负载进行设计,确保系统能够在不牺牲架构的前提下满足多样化的业务需求。我们采用 Flink 和 Hologres 所实现的统一方法,正是这一原则的典范。
技术选型标准
选择能够相互补充并与现有基础设施对齐的技术,可以降低集成复杂性并加快实施进度。我们选择 Flink 和 Hologres,既利用了阿里生态系统现有的投入,又获得了所需的先进能力。
拥有强大社区支持的开源技术,提供了长期可持续性和持续的创新。活跃的 Flink 社区确保了对流处理和实时分析新兴用例的持续开发和支持。
性能特征必须与业务需求相匹配,特别是对于处理高吞吐、低延迟工作负载的系统。Hologres 的百万级 TPS 能力对于满足我们在大型促销活动期间的峰值流量需求至关重要。
结语
Lazada 利用阿里云实时计算 Flink 和 Hologres 对商品选品平台的改造,展示了现代流处理和实时分析技术对电商运营的深远影响。我们从一个分散、以批处理为主的系统,转型为一个统一、实时的平台,在技术、运营和业务层面都带来了巨大收益。
基础设施成本降低 50%,结合数据新鲜度和分析能力的显著提升,验证了投资现代数据架构的战略价值。更重要的是,平台在关键商业事件中支持实时决策的能力,彻底改变了我们进行活动管理和优化客户体验的方式。
我们的经验表明,成功的数字化转型不仅需要技术采纳,更需要深思熟虑的架构设计、谨慎的技术选型以及对业务需求的深刻理解。Apache Flink 的流处理能力与 Hologres 的高性能分析相结合,产生了单靠任一技术都无法独立实现的能力。
随着我们继续通过 AI 集成和高级分析能力演进平台,我们所构建的基础为未来的创新提供了所需的灵活性和性能。满足客户需求的无尽旅程推动着持续改进,确保我们的技术投资能够带来持久的业务价值。
对于正在考虑类似转型的组织,我们的经验表明,现代流处理和实时分析的好处远不止于技术改进。能够实时做出数据驱动的决策、用统一基础设施支持多样化业务需求、并经济高效地扩展,这些优势直接转化为业务成功。
电商的未来在于以业务速度处理和分析数据,而我们对 Flink 和 Hologres 的实施,已为 Lazada 在这一数据驱动的格局中蓬勃发展做好了准备。随着我们不断突破实时分析和 AI 驱动洞察的可能边界,我们仍致力于与更广泛的技术社区分享我们的经验。
更多内容

活动推荐
阿里云基于 Apache Flink 构建的企业级产品-实时计算 Flink 版现开启活动:新用户复制点击下方链接或者扫描二维码即可 0 元免费试用 Flink + Paimon实时计算 Flink 版(3000CU*小时,3 个月内)了解活动详情:https://free.aliyun.com/?utm_content=g_1000395379&productCode=sc

版权声明: 本文为 InfoQ 作者【Apache Flink】的原创文章。
原文链接:【http://xie.infoq.cn/article/42d85e1fc53195d0ee95ccf4b】。文章转载请联系作者。
评论