森马服饰从 Elasticsearch 到阿里云 SelectDB 的架构演进之路

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 森马引入阿里云 SelectDB 替换原 Elasticsearch + 业务库混合架构,统一分析 16+ 核心业务,打通 BI 组件,大幅简化数据同步链路和分析系统架构。实现复杂查询 QPS 提升 400%,响应时间缩短至秒级,亿级库存流水聚合查询缩短至 8 秒内的显著收益,有效驱动森马全渠道运营效率持续增长与业务创新。

森马引入阿里云 SelectDB 替换原 Elasticsearch + 业务库混合架构,统一分析 16+ 核心业务,打通 BI 组件,大幅简化数据同步链路和分析系统架构。实现复杂查询 QPS 提升 400%,响应时间缩短至秒级,亿级库存流水聚合查询缩短至 8 秒内的显著收益,有效驱动森马全渠道运营效率持续增长与业务创新。

早期架构面临挑战

浙江森马服饰股份有限公司(深交所 A 股:002563.SZ,以下简称“森马”)是中国休闲服饰和童装领域的领先企业,旗下拥有'森马''巴拉巴拉'两大核心品牌。其中,巴拉巴拉品牌在中国童装市场占有率连续多年位居第一,并跻身全球童装市场前列。集团覆盖线上线下全渠道零售,门店总数达到 8000+ 家。

为应对日渐激烈的零售行业竞争并完成全域业务模式升级,森马启动“全域货通”中台项目,整合线上线下 8000+ 店铺,以帮助缩短订单处理链路,整合线上线下全业务库存,实现库存可视、共享、协同。同时支持售前售后业务中多维度的操作流水分析、灵活多变的BI分析等场景,为全渠道运营提供灵活高效的决策支撑。

为满足上述业务目标,森马基于 Elasticsearch + 分布式 MySQL 构建了一套混合数据分析架构,使用 分布式 MySQL 满足订单查询、库存查询等简单实时的数据分析需求,并使用 Elasticsearch 支持多条件过滤、聚合分析等复杂数据分析场景。

森马基于 Elasticsearch + 分布式 MySQL 构建了一套混合数据分析架构.png

该架构在使用过程中存在下列问题:

  • 整体架构复杂且灵活性不足:整体架构中存在 Elasticsearch、分布式 MySQL 两套冗余系统,需要根据业务分析需求的特点来选择合适的系统;业务数据同步至 ES 的链路较为复杂冗长,需经过Canal、Kafka、DataSync等组件,且Canal 订阅会随着源端库实例变配导致 Binlog 位点异常,从而导致数据同步异常;由于Elasticsearch多表关联查询能力薄弱,需要业务程序把复杂的多表关联查询转化为单表查询,业务处理逻辑复杂。
  • 数据分析性能不足:面对海量数据聚合计算、多表关联分析场景性能表现较差,难以满足大规模数据下复杂的业务分析需求;不支持标准 SQL 与 DSL 查询语言,无法直接对接集团采购的 BI 套件,难以满足运营、客服人员灵活多变的数据分析需求。
  • 运维管理复杂:需同时运营管理 Elasticsearch、分布式 MySQL 两套系统,且 Elasticsearch 的 DSL 查询语法对于开发运维门槛较高;需要对 Elasticsearch 集群、索引进行良好的前期规划,否则后续可能出现集群伸缩缓慢、新增索引字段需要重写历史数据等问题;当进行海量数据复杂查询时,容易触发 Elasticsearch 节点 Full GC 等问题,导致数据分析服务不稳定。

为什么选择阿里云 SelectDB

根据上述业务挑战,森马数字中心研发团队决定引入一款高性能、高灵活性的数据分析引擎简化架构,经多轮技术验证,最终选择阿里云 SelectDB 作为核心引擎,主要基于以下考量:

  • 多种分析需求的统一支持:阿里云 SelectDB 可同时满足简单的过滤查询、海量数据的聚合分析、复杂的多表关联查询,无需维护复杂的业务逻辑来实现多表关联分析。此外,阿里云 SelectDB 支持 MySQL 连接协议,可直接对接主流的商业 BI 软件。
  • 极致分析性能:阿里云 SelectDB 在 SSB-Flat、TPC-DS 等业界标准性能测试结果中表现领先,体现了大宽表、多表关联等多种场景下均具有极致的分析性能,在前期仿真测试验证过程中,复杂查询有数量级的性能提升。
  • 简单易用: 阿里云 SelectDB 可大幅简化森马的数据分析架构,支持通过数据传输工具 DTS,一键实时同步 TP 数据库到数仓;采用标准的 SQL 接口,更方便业务人员开发对接;支持快速伸缩集群、一条SQL完成索引创建等功能。

阿里云 SelectDB 实时分析实践

基于阿里云 SelectDB 完成实时数仓升级后,森马 16+ 核心业务均切换至阿里云 SelectDB,数据通过 DTS 实时同步至阿里云 SelectDB后,由阿里云 SelectDB 统一对数据应用层提供服务。整体架构如下:

阿里云 SelectDB 实时分析实践.png

多场景统一支持

01 实时高频的订单检索分析场景

森马数据平台汇聚了大规模的平台订单、交易流水等数据,需要为 2B 业务、2C 业务、直营店、加盟商等多场景提供实时分析协同支持。在该场景下,存在毫秒级的订单在线查询、模糊检索等核心需求。

针对这些需求,森马研发人员借助阿里云 SelectDB 简单统一的索引方案,能够轻松高效地加以满足,无需组合依赖多种复杂的索引技术。具体实现逻辑如下:

  • 精准过滤需求:针对订单信息中订单 ID、门店 ID 等常用过滤属性,采用简单不分词的倒排索引方案,可数十倍的提升精准过滤查询性能,相比业界典型的布隆过滤器索引性能更优。
  • 模糊检索需求:对于订单信息中的订单描述等文本内容,采用分词模式倒排索引方案,可满足模糊匹配、短语查询等复杂检索需求。分词模式支持配置分词解析器,并能灵活配置是否支持短语查询、是否区分大小写等参数,使得倒排索引调控更为灵活。
-- 建表示例:针对订单相关字段构建倒排索引
CREATE TABLE order_table (
    order_no VARCHAR(120),    -- 订单号
    order_info VARCHAR(4096), -- 订单信息

    -- 其他字段...
    INDEX idx_order_no (order_no) USING INVERTED,
    INDEX idx_order_info (order_info) USING INVERTED 
    PROPERTIES(
        "parser" = "english",     -- 英文分词解析器
        "support_phrase" = "true",-- 支持短语精确匹配
        "lower_case" = "true"     -- 统一转为小写,实现大小写不敏感查询
    )
)...

-- 精准过滤
SELECT * FROM order_table 
WHERE order_no = '20230901123456';

-- 模糊检索匹配
SELECT * FROM order_table 
WHERE order_info MATCH_ANY '2023 order';

02 海量数据的聚合分析场景

森马库存数据量高达亿级,操作流水数据量高达十亿级规模。 在业务高峰时段,运营人员需要集中对数据进行多维度聚合统计分析,以便及时掌握业务动态。此前,森马采用基于 Elasticsearch 的聚合分析方案,该方案在高峰期多请求并行分析大量数据时,性能表现欠佳,系统会出现服务不稳定的情况,影响业务正常开展。

阿里云 SelectDB 凭借其高性能的分析引擎,有效解决了森马在海量数据聚合分析场景的痛点。即使在业务高峰期,面对高并发分析请求,阿里云 SelectDB 也能保证服务整体压力平稳,确保数据分析高效、稳定进行。

-- 千级门店的订单状态分析
SELECT status, COUNT(*) AS count FROM order_table WHERE store_code IN ('D80201', 'D80261', 'D80489'...) GROUP BY status

-- 物流仓库的海量操作流水分析
SELECT COUNT(*) AS total FROM stock_change_log log WHERE log.real_warehouse_code IN ('2SJM1S0441', '2MXAAS0211', '2QAS1S0341'...)

03 灵活多变的 BI 分析场景

森马内部早期定制开发了较多的报表及分析页面,新需求开发和存量分析功能维护成本非常高。在应对 2B 业务、2C 业务、直营店、加盟商等多场景下灵活多变的需求时,定制开发方式逐渐暴露出不足。因此森马逐步引入了商业 BI 组件,借助其简单拖拽的操作方式,为各业务场景提供灵活高效的数据分析能力。 而 Elasticsearch 不支持标准 SQL 与 DSL 查询语言,无法与主流 BI 接入打通。

阿里云 SelectDB 则采用标准的 MySQL 协议,能与大部分 BI 组件实现无缝对接,完美解决了森马业务场景下基于 BI 组件进行进行灵活数据分析的需求。从实际应用情况看,SelectDB 完美支持 BI 组件拼装的复杂关联 SQL 语句,可以让业务人员轻松实现复杂的数据分析需求,并提供秒级高效分析体验。

灵活多变的 BI 分析场景.png

极致的查询性能

借助阿里云 SelectDB 的高性能查询引擎,森马实现了海量数据查询效率与系统扩展性的双重突破

  • 在千万级订单检索过滤场景下,相较于传统数据库与 ES + 业务库混合架构,阿里云 SelectDB 查询 QPS 提升约 400%,达到 QPS 200+ 水平,大幅提高订单检索过滤效率。
  • 在十亿级库存流水聚合分析场景下,阿里云 SelectDB 将查询耗时缩短至秒级,让业务人员能够更快地获取分析结果,及时做出决策。
  • 在千万级数据多表关联分析场景下,阿里云 SelectDB 无需复杂的业务逻辑开发,性能达到秒级水平。

森马全域货通中台全量上线后,在业务高峰期,集群资源压力也比较可控,系统运行非常平稳。此外,在压力测试环境中,阿里云 SelectDB 展现出了出色的线性扩展能力,可通过弹性扩容支持更高的业务流量,为森马的业务发展提供坚实的技术保障。

极致的查询性能.png

成熟易用的产品体验

目前,森马全域货通数据中台已全面上线,阿里云 SelectDB 在其中提供了出色的产品体验,帮助森马降低运维成本,提高研发效率:

  • 简化技术架构: 阿里云 SelectDB 统一了多个数据分析组件,以往运维人员需分别维护多个组件,而如今仅需关注阿里云 SelectDB 单平台,降低日常维护成本。
  • 实时化数据链路: 与 DTS 打通实现实时数据同步,并可自动同步常见的 DDL 操作(如自动加列),数据链路延时控制在 5 秒以内。在数据变更或出现异常的场景下,数据同步链路可快速自愈,有效保障了数据的及时性和准确性。
  • 高度兼容标准 SQL: 阿里云 SelectDB 具备出色的 SQL 兼容度,原有分布式 MySQL 相关查询基本无需改动即可完成迁移。同时,阿里云 SelectDB 消除了业务代码中复杂的多表关联处理,无需再为复杂的关联逻辑而烦恼,大幅提升了研发效率。
  • 可视化数据开发:阿里云 SelectDB 提供了可视化的数据开发工具 SelectDB Studio,研发人员可以通过直观的界面进行 SQL 开发、日志检索分析、审计查询、慢查询分析以及权限管理等操作,简化了数据分析开发的对接过程,让研发工作更加便捷高效。

成熟易用的产品体验.png

阿里云 SelectDB 自全量上线以来,在业务高峰期能轻松应对读写流量的冲击,整体服务质量始终保持平稳,为森马业务提供了可靠的数据分析能力。

灵活弹性和资源隔离

阿里云 SelectDB 采用存算分离架构,计算资源弹性伸缩过程快速且平稳,具备简单灵活的弹性伸缩能力。在森马全域货通的业务高峰期,尤其是直播大促等高压力时段,容易出现流量激增的突发情况。此时,可快速对阿里云 SelectDB 进行弹性扩容,以应对激增的业务需求。当流量高峰过去,再按需适当缩容,从而降低成本。值得一提的是,阿里云 SelectDB 扩缩容过程均为在线操作,无需停服,也无需大量数据搬迁,极大地提高了业务应对突发情况的灵活性和效率。

除了弹性伸缩能力,阿里云 SelectDB 还提供了优雅的资源隔离方案。基于存算分离架构,多个计算组可以强一致地共享分析同一份数据,该特性满足了森马多查询场景之间的隔离需求。例如,在线类订单查询服务独立采用一个计算组,确保订单实时性与高效性。而离线类的聚合分析、BI 分析场景独立采用另一个计算组,避免相互干扰。阿里云 SelectDB 提供的资源隔离能力不仅简单易用,且无需额外存储成本,为森马提供了低成本、高效的计算资源隔离方案。

灵活弹性和资源隔离.png

应用收益

森马基于阿里云 SelectDB 完成数据架构升级后,实现了查询效率的质变的同时降低了运维成本,为全域货通项目的成功提供了关键支撑,取得了以下关键收益:

  • 数据分析效率显著提升: 复杂查询 QPS 提升 400%,响应时间缩短至秒级,亿级库存流水聚合查询缩短至 8 秒内,打通 BI 组件提供灵活按需的分析能力,大幅提升2B 业务、2C 业务、直营店、加盟商等多场景下的数据分析效率。
  • 运维成本大幅降低: 16+ 核心业务均切换至阿里云 SelectDB 统一分析,数据架构与同步链路大幅简化,可直接基于 SQL 语句直接展示结果,无需二次开发中间层,节省额外开发成本。此外,通过存算分离架构实现计算资源弹性扩缩容,提升性能的同时大幅降低了运维成本。
  • 支持稳定运行: 阿里云 SelectDB 由 Apache Doris 原厂飞轮科技提供 7 * 24 小时技术支持,在重大保障期间及时响应,有效支撑“一个森马、一个团队、一个目标、一起奋斗” 战略目标,为森马全域零售建设提供敏捷技术能力。

未来规划

未来,森马将继续深化阿里云 SelectDB 在更多业务场景中的应用,以实现更高效的查询,驱动全渠道运营效率持续增长与业务创新:

  • 报表导出加速: 森马计划引入阿里云 SelectDB 湖仓融合分析能力,利用阿里云 SelectDB 进行数据加工,然后将数据导出到外部存储,支持数据的进一步分析处理需求。
  • AI 智能应用: 森马期待未来阿里云 SelectDB 深入与 AI 相结合,协助快速分析调优 SQL 语句,同时为业务提供更智能的 AI 报表能力。
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
1月前
|
存储 数据挖掘 BI
2-5 倍性能提升,30% 成本降低,阿里云 SelectDB 存算分离架构助力波司登集团实现降本增效
波司登集团升级大数据架构,采用阿里云数据库 SelectDB 版,实现资源隔离与弹性扩缩容,查询性能提升 2-5 倍,总体成本降低 30% 以上,效率提升 30%,助力销售旺季高效运营。
134 9
|
30天前
|
存储 弹性计算 运维
AI时代下阿里云基础设施的稳定性架构揭秘
计算、存储、网络作为云计算基础 IaaS 服务,一直是阿里云的核心产品,承载着百万客户的 IT 基础设施。曾经我们认为应用高可用、服务分布式可以满足客户对 IaaS 所有的稳定性诉求。
241 2
AI时代下阿里云基础设施的稳定性架构揭秘
|
23天前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
|
7天前
|
存储 人工智能 关系型数据库
阿里云AnalyticDB for PostgreSQL 入选VLDB 2025:统一架构破局HTAP,Beam+Laser引擎赋能Data+AI融合新范式
在数据驱动与人工智能深度融合的时代,企业对数据仓库的需求早已超越“查得快”这一基础能力。面对传统数仓挑战,阿里云瑶池数据库AnalyticDB for PostgreSQL(简称ADB-PG)创新性地构建了统一架构下的Shared-Nothing与Shared-Storage双模融合体系,并自主研发Beam混合存储引擎与Laser向量化执行引擎,全面解决HTAP场景下性能、弹性、成本与实时性的矛盾。 近日,相关研究成果发表于在英国伦敦召开的数据库领域顶级会议 VLDB 2025,标志着中国自研云数仓技术再次登上国际舞台。
84 0
|
1月前
|
存储 弹性计算 运维
AI 时代下阿里云基础设施的稳定性架构揭秘
十五年磨一剑,稳定性为何是今天的“命门”?
|
3月前
|
存储 缓存 分布式计算
高内存场景必读!阿里云r7/r9i/r8y/r8i实例架构、性能、价格多维度对比
阿里云针对高性能需求场景,一般会在活动中推出内存型r7、内存型r9i、内存型r8y和内存型r8i这几款内存型实例规格的云服务器。相比于活动内的经济型e和通用算力型u1等实例规格,这些内存型实例在性能上更为强劲,尤其适合对内存和计算能力有较高要求的应用场景。这些实例规格的云服务器在处理器与内存的配比上大多为1:8,但它们在处理器架构、存储性能、网络能力以及安全特性等方面各有千秋,因此适用场景也各不相同。本文将为大家详细介绍内存型r7、r9i、r8y、r8i实例的性能、适用场景的区别以及选择参考。
|
5月前
|
弹性计算 负载均衡 网络协议
阿里云SLB深度解析:从流量分发到架构优化的技术实践
本文深入探讨了阿里云负载均衡服务(SLB)的核心技术与应用场景,从流量分配到架构创新全面解析其价值。SLB不仅是简单的流量分发工具,更是支撑高并发、保障系统稳定性的智能中枢。文章涵盖四层与七层负载均衡原理、弹性伸缩引擎、智能DNS解析等核心技术,并结合电商大促、微服务灰度发布等实战场景提供实施指南。同时,针对性能调优与安全防护,分享连接复用优化、DDoS防御及零信任架构集成的实践经验,助力企业构建面向未来的弹性架构。
477 76
|
3月前
|
消息中间件 存储 大数据
阿里云消息队列 Kafka 架构及典型应用场景
阿里云消息队列 Kafka 是一款基于 Apache Kafka 的分布式消息中间件,支持消息发布与订阅模型,满足微服务解耦、大数据处理及实时流数据分析需求。其通过存算分离架构优化成本与性能,提供基础版、标准版和专业版三种 Serverless 版本,分别适用于不同业务场景,最高 SLA 达 99.99%。阿里云 Kafka 还具备弹性扩容、多可用区部署、冷热数据缓存隔离等特性,并支持与 Flink、MaxCompute 等生态工具无缝集成,广泛应用于用户行为分析、数据入库等场景,显著提升数据处理效率与实时性。