作者: 社区小助手

演讲嘉宾:车佳蔚,SHOPLINE 数据库 / TiDB 负责人



导读

本文整理自 TiDB 社区深圳站——SHOPLINE 数据库/TiDB 负责人车佳蔚的演讲《SHOPLINE & TiDB 在跨境电商中的应用实践》。本次分享深入探讨了 SHOPLINE 在跨境电商领域的数字化转型过程中,如何通过 TiDB 技术应对技术挑战,实现降本增效。

本文介绍了 SHOPLINE 在技术选型、服务个性化、用户体验优化以及数据分析应用等方面的实践,并详细说明了 TiDB 6.5 版本升级为公司带来的实际收益。他还探讨了 SHOPLINE 面临的技术痛点,包括核心业务共用 TiDB 集群引发的服务间相互影响,以及数据同步链路的实时性和稳定性问题。通过优化资源分配、增强监控机制和技术升级,SHOPLINE 成功提升了系统性能,降低了运维成本,并增强了全球范围内的数据同步和复制能力。



一、前言

SHOPLINE 是一家提供一站式跨境电商解决方案的公司,专注于帮助企业和个人在全球范围内建立和发展他们的在线业务。SHOPLINE 提供的服务包括但不限于在线商店搭建、多渠道销售、库存管理、支付系统整合、物流跟踪、营销工具以及客户关系管理等。通过这些服务,SHOPLINE 旨在帮助商家轻松管理他们的在线销售和客户关系,同时提供必要的技术支持和数据分析,以优化业务运营和提高转化率。

SHOPLINE 在数字化转型的背景下,面临着一系列技术挑战:

**1. 技术选型:**随着业务量的增长,选择合适的技术栈,尤其是数据库和后端服务,成为一大挑战。需要确保所选技术能够处理大规模数据并支持高并发访问。

**2. 服务个性化:**满足消费者对个性化服务的需求,要求提供定制化的解决方案,以适应不同商家的特定需求。

**3. 用户体验优化:**在多设备环境中,确保用户获得一致且高质量的购物体验,特别是在移动端,这对前端设计和后端服务都提出了更高标准。

**4. 数据分析和应用:**利用数据分析来驱动商业决策,需要我们提供强大的数据分析工具,帮助商家洞察市场趋势和消费者行为。

**5. 成本效益:**在提供高质量服务的同时,还需要考虑成本效益,选择合适的技术解决方案,以维持竞争力和盈利能力。

**6. 市场适应性:**随着全球市场的不断变化,我们需要快速适应不同国家和地区的市场环境,包括法规遵从、支付和物流解决方案的本地化。

二、TiDB 在 SHOPLINE 业务集群现状

  • **集群规模:**超过 10 套 TiDB 集群
  • **业务覆盖:**交易、商品、数据仓库、搜索、广告等
  • **数据同步链路:**广泛使用 MySQL -> DM -> TiDB -> TiCDC -> Kafka 的同步链路

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_tikv



三、业务痛点与应对策略

在我们的业务场景中,TiDB 集群作为支撑其业务数据库服务的关键技术组件,其性能和稳定性直接影响到整个电商平台的运行效率和用户体验。以下是我们业务 TiDB 集群所面临的痛点的详细描述:

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_mysql_02



性能影响
  • **核心业务共用 TiDB 集群:**在我们的业务架构中,多个核心业务如交易、商品管理等共用同一套 TiDB 集群资源。这种设计在资源利用上虽然可以提高效率,但也存在明显的弊端。
  • **服务间互相影响:**当一个业务服务因为高并发请求导致资源占用飙升时,会直接影响到共用同一集群的其他业务服务。例如,在促销或特殊节日期间,交易业务的访问量激增可能会占用大量计算和存储资源,从而影响到商品管理等其他服务的响应速度和稳定性。


数据同步敏感性
  • **数据同步链路的实时性:**SHOPLINE 的业务依赖于实时数据同步链路,从 MySQL 到 DM(TiDB Data Migration),再到 TiDB,最后通过 TiCDC 或 CDC 将变更日志传输到 Kafka 等消息队列系统。这个链路上任何一个环节的延迟都可能导致数据不一致,影响业务决策和用户体验。
  • **业务对实时性的高要求:**例如,在库存管理或实时推荐系统中,数据的实时性直接关系到交易的成功率和用户满意度。任何同步延迟都可能导致显示的库存信息不准确或推荐内容不及时更新。


技术挑战
  • **MySQL DDL 变更期间的 DM 同步延迟:**在数据库维护过程中,对 MySQL 执行 DDL 操作(如添加、删除列或修改表结构)时,DM 工具在同步这些变更时可能会遇到延迟或中断,导致数据同步不及时。
  • **TiKV 和 Kafka 抖动:**TiKV(TiDB 的分布式键值存储)和 Kafka 在高负载或网络问题等情况下可能会出现抖动,这种不稳定性会导致 TiCDC(TiDB Change Data Capture)的 ChangeFeed 任务出现延迟或中断。
  • **CDC 任务的稳定性问题:**CDC 任务负责捕获并传输数据库的变更事件,如果 CDC 服务因为 TiKV 或 Kafka 的抖动而中断,将直接影响到数据同步链路的稳定性和数据的实时性。


应对策略

为了解决上述痛点,我们需要采取一系列措施:

  • **优化资源分配:**通过 TiDB 的资源隔离功能和负载均衡机制,减少不同业务服务之间的相互影响。
  • **增强监控和预警:**实现对数据同步链路的实时监控,及时发现并处理潜在的性能瓶颈和延迟问题。
  • **技术选型和升级:**评估并采用更高效的数据同步工具和技术,比如升级到 TiDB 6.5 版本,以提高系统的稳定性和性能。
  • **容错和自愈机制:**设计和实现更加健壮的容错机制,确保在出现抖动或中断时能够快速恢复服务。

通过这些措施,SHOPLINE 可以在保证业务连续性的同时,提高数据库服务的性能和稳定性,从而为用户提供更加流畅和可靠的电商体验。



四、故障处理与升级之路



遇到的问题:TiKV oom + TiCDC/CDC 故障
  • **故障现象:**TiKV 宿主 EBS I/O 抖动导致内存飙升触发 OOM(内存溢出),进而导致 TiKV Leader 切换和 CDC 任务卡死
  • **故障原因:**深入分析发现,TiKV 悲观锁在大表订阅 Binlog 失败时,CDC 重试导致 TiKV 内存飙升是根本原因

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_电商平台_03

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_mysql_04

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_mysql_05

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_kafka_06



故障应对与恢复
  • **SOP 方案:**制定了标准化的故障恢复流程,确保后续故障能在 30 分钟内恢复
  • **长期方案:**通过测试确认 TiDB v6.5.2 版本已解决上述问题,并且新版本在性能和稳定性上均有提升

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_tidb_07

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_tidb_08



TiDB 升级流程与策略
  • **升级准备:**标准化 TiUP topology.yaml 配置文件,沿用 4.0 配置参数,并进行各组件部署规划
  • **测试与验证:**进行功能测试、业务测试、性能压测以及故障演练,确保新版本 TiDB 的稳定性和性能
  • **业务感知差异:**注意 SQL 模式和字符集框架的变化,这可能影响字段结尾包含空格等特殊字符的处理


升级实施

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_tidb_09

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_mysql_10

  • **数据同步:**实现集群间数据同步,包括从 TiDB 4.0 到 6.5 以及从 MySQL 到 TiDB 6.5
  • **业务切换:**通过灰度放量和完善回滚策略,确保业务平滑过渡,有条件的情况下实现双写


集群升级迁移总结

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_电商平台_11

  • **零故障迁移:**在 3 个月内完成了所有 4.0 集群到 6.5 的升级迁移,核心服务按集群独立
  • **TiUP 管理:**根据业务特性定制化 TiDB 参数,提升集群质量,降低故障率
  • **成本效益:**通过升级,TiDB 机器总量下降 50%,单个 TiDB 集群内部节点数减半,跨可用区流量通过数据压缩下降 30%


升级 TiDB 的收益

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路_tikv_12

  • **质量:**显著提升了集群的稳定性,减少了故障发生
  • **成本:**实现了硬件资源的优化,降低了运维成本
  • **效率:**通过 TiUP 简化了部署和维护流程,提升了新集群交付速度和业务变更的灵活性


五、TiDB 在 SHOPLINE 的降本增效之路

作为一家迅速扩张的电商平台,SHOPLINE 对数据库的性能和稳定性有着严苛的要求。随着业务量的持续增长,原有 TiDB 4.0 版本在性能提升和运维成本控制方面遭遇了挑战。为了应对这些挑战,SHOPLINE 数据库/TiDB 负责人车佳蔚带领团队实施了从 TiDB 4.0 到 6.5 版本的升级,这一过程中不仅提升了系统性能,还显著降低了运营成本。TiDB 在我们的降本增效之路主要体现在以下几个方面:

**1. 提升性能与优化资源:**TiDB 的高性能特性减少了对硬件资源的依赖,允许我们处理更多的交易和数据,同时降低硬件成本。

**2. 水平扩展能力:**TiDB 支持在线水平扩展,SHOPLINE 可以根据业务需求灵活地增加或减少资源,避免了过度配置或资源不足的问题。

**3. 高可用性减少中断:**TiDB 的高可用性设计减少了系统故障时间,提高了服务的稳定性,减少了因系统故障导致的业务中断和潜在收入损失。

**4. 简化的迁移和升级流程:**TiDB 兼容 MySQL,简化了从旧系统到新数据库的迁移过程,降低了迁移成本和风险。

**5. 实时数据同步:**TiDB 的 CDC 功能支持实时数据同步,使得我们能够快速响应市场变化,提升决策效率。

**6. 降低运维成本:**TiDB 的自动化运维特性减少了对专业 DBA 的依赖,简化了日常的数据库管理工作。

**7. 提升开发效率:**TiDB 支持 SQL 标准,使得开发者能够快速上手并开发应用,加速产品上市时间。

**8. 灵活的部署选项:**SHOPLINE 可以根据自身需求选择公有云、私有云或混合云部署 TiDB,以最经济的方式满足业务需求。

**9. 跨地域数据复制:**TiDB 支持跨地域的数据复制,帮助我们实现全球数据的一致性,同时降低数据传输成本。

**10. 数据压缩技术:**SHOPLINE 通过 TiDB 支持的数据压缩技术,减少了存储需求和网络传输成本。

**11. 社区和生态系统:**利用 TiDB 的开源社区和生态系统,SHOPLINE 能够获取最新的技术更新和最佳实践,持续优化其技术栈。

通过这些方式,TiDB 成为我们在数字化转型过程中降本增效的关键技术选择,帮助我们在保持服务质量的同时,优化成本结构,提高市场竞争力。



六、总结

SHOPLINE 通过升级至 TiDB 6.5,不仅提升了数据库的性能和稳定性,确保了服务的高可用性,还通过技术创新降低了运维成本。TiDB 的水平扩展能力、实时数据同步、以及对 SQL 标准的兼容性,为我们提供了灵活、高效的解决方案,加速了业务的响应速度和市场适应性。此外,TiDB 的自动化运维和社区支持,进一步降低了我们的技术门槛和长期成本。

在我们未来的技术发展蓝图中,TiDB 凭借其卓越的性能和灵活性,已确立为我们数据库技术选型的优先选择。对于所有与 TiDB 兼容性高的业务场景,我们将毫不犹豫地采用这一前沿技术,以确保我们的平台能够持续提供高性能、高可靠性的服务,满足不断演进的业务需求。通过这种战略决策,SHOPLINE 期望进一步巩固其在跨境电商领域的技术领先地位,并为客户创造更大的价值。