在2024年3月20日的首场OceanBase数据库城市行活动中,专注于物流及供应链解决方案的丽迅物流的架构师阳磊,围绕“OB Cloud在丽迅物流的实践”这一主题,进行了精彩的演讲。本文为此次演讲的内容回顾。
在丽迅物流(Lesoon Logistics)的上云进程中,他们接触并评估了国内多款分布式数据库。经过对实际业务需求的深入考量与验证,丽迅物流最终选择了OceanBase的云数据库(OB Cloud),用以升级其多个关键业务系统。截至目前,丽迅物流的仓储、库存、财务等多套关键业务系统已成功迁移到OB Cloud上,整体数据库成本降低了50%,且稳定运行已近一年。
大家好,我是来自丽迅物流的架构师阳磊,非常荣幸参加这次 OceanBase 数据库城市行活动,接下来我将从数据库升级必要性、如何升级、收益三大方面为大家分享 OB Cloud 在丽迅物流的应用实践。
丽迅物流专注于为鞋服、箱包等时尚产业提供仓储物流服务。目前,丽迅物流业务遍布全国,覆盖了全国 300 多个城市,3000 多个商圈,共 30000 多家门店;自身全渠道实体云仓 70 余个,仓库资源 100 万余平方米、运输车 1000 余辆。
随着公司业务的快速增长,自 2021 年起,丽迅物流开始启动业务系统上云战略,致力于为客户提供更稳定、更灵活、更高效的服务。
一、原有架构难以稳定支撑业务增长
在仓储系统重构之前,丽迅物流的数据库是部署在 IDC 机房,采用的是 shardingJDBC 这种 SDK 分库模式,虽然它有去中心化的优势,但伴随着丽迅物流的业务增长,在实际应用过程中,发现其仍然存在几个问题。
○ 应用启动慢:在应用启动的时候需要加载元数据,随着业务表增多会越来越慢;
○ 性能问题明显:在跨库合并查询分页的时候,也会存在一些性能问题,比如应用内存拉爆、产生分布式慢事务锁表;
○ 版本升级复杂:因为分库的逻辑写在应用内部,所以系统上线以后需要伴随组件升级,难度显著增大;
○ 弹性能力弱:原有数据库架构想要扩容比较麻烦,除了需要新增一组数据库节点外,应用还要全部改一遍配置后再重新启动,对连接数耗用也较大。
正是由于以上原因,丽迅物流决定对仓储系统进行深度重构、升级。一开始,丽迅物流采用了云数据库+中间件的 Proxy 分库分表模式。最早使用的是更稳定的云数据库+中间件 DBLE,经过一段时间的使用一些问题开始暴露出来。
○ 开源版本不稳定:DBLE 开源的组件版本稳定性不足,需要专人对分支版本进行维护与调优,升级困难;
○ 配置文件结构不合理:数据库账号和分片规则配置在一起,导致各环境需要重复配置,运维复杂度增加;
○ 分布式事务问题:比如全局表不一致、分布式事务锁表等问题;
○ 运维成本增加:代理中间件增加,导致运维成本的增加。
○ 正是在这样的背景下,丽迅物流将目光瞄准了市场上几款成熟的分布式数据库产品,经过多番对比,最终确认了 OB Cloud 云数据库。
二、仓储、财务等多个关键业务系统上线 OB Cloud
在选型 OB Cloud 的过程中,团队认为 OB Cloud 云数据库与丽迅物流业务核心需求匹配度很高,重点考虑了如下因素:
第一,核心语法高兼容。OceanBase 完全自主研发,代码改造成本低;
第二,稳定可靠。经过海量客户场景验证,OceanBase 的安全稳定性有所保障;
第三,支持多基础设施统一管理。OceanBase 支持客户多基础设施业务部署,帮助客户屏蔽底层基础设施技术复杂度;
第四,扩展性好、具备多级弹性能力。根据丽迅物流的业务增长要求,支持实现水平垂直扩容;
第五,高性价比。OceanBase 通过先进的数据压缩技术,可实现 70% 以上的存储节约,为海量数据的规模化降本提供更出色的选择;
第六,支持阿里云 DMS 管理。该平台是丽迅物流团队日常依赖的管理平台,使用 OB Cloud 显著提升运维效率;
第七,支持 Dataworks 抽数到数据平台 Hologres 做数据分析;
第八,适配 Proxy 分片规则。通过 OceanBase 表组对这些分区进行管理,实现分布式数据动态平衡。
除以上优势外,在使用 OB Cloud 之前,丽迅物流进行了基准测试。针对 OB Cloud 和 IDC 自建的 MySQL 进行了随机读写的压力测试,OB Cloud 云数据库表现优异,给了团队极大信心。故此,丽迅物流仓储管理、财务管理、客户、工单、HR 等多个关键业务系统着手上线 OB Cloud。
仓储管理系统(WMS)
WMS 仓储管理系统是丽迅物流的核心系统之一,在确认了迁移目标以后,团队内部将 WMS 仓储管理系统进行了一次深度的重构、升级,逐步将业务系统迁移至 OB Cloud。
通过使用两个 30 核 180GB 的分布式节点,替换了 5 组 64 核 128GB 的 MySQL 服务器,上线半年后,原来 5TB 的业务数据压缩到 600GB 左右,业务性能同步提升,至今运行稳定。
财务管理系统(FMS)
丽迅物流的 FMS 财务管理系统有两组 64 核 128GB 的 MySQL 服务器,团队通过对其进行数据合并迁移,去掉 ShardingJDBC,迁移到一个 14 核 70GB 的集群上,迁移后,该系统业务量占比大量缩减,只需简单调整业务代码,原来一年 2.5TB 的数据可以压缩到 350GB。
得益于 OB Cloud 天然具备的分布式能力,丽迅物流的业务系统很容易就可以进行水平、垂直扩容,轻松应对业务流量增长,平稳支撑公司业务周转。
其他:客户系统、工单系统、HR系统、接口平台等
除以上核心系统外,公司内部的客户系统、工单系统、HR 系统、接口平台,也以综合形式部署在 14 核 70GB 的 OB Cloud 上,借助 OB Cloud 的集中式架构优势,充分利用了现有的服务器资源,大大减少了数据库使用率。
三、降本50%,稳定运行近1年
经过 300 余天的使用,OB Cloud 有如下优势:
第一,高压缩比。超高数据压缩比,有效降低存储成本 70% - 80%,进一步节约备份时间;
第二,灵活的弹性能力。OB Cloud可以跟随丽迅物流的业务增长,随时进行扩缩容,包括存储也可以支持快速扩缩容,应对物流行业流量峰值;
第三,高性能。上线 OB Cloud 以后,在一些库存记账,仓库RF扫描等高并发场景下,性能提升 20%,对比之前的模式,硬件成本大幅度下降;
第四,成本优势显著。在丽迅物流迁移上云的过程中,存储成本下降 70%;同时通过多租户共享实例,运维复杂度也下降,DMS 实例数也大大减少;
第五,自我保护能力。ob_query_timeout、ob_trx_timeout 设计非常巧妙,用户可以根据业务场景对查询、事务的最大时间进行控制,防止业务被一些异常语句打满,非常好地保护了数据库;
第六,SQL 诊断。借助诊断工具可以便利地看到 TopSQL、SlowSQL,对业务瓶颈及时进行调优;
第七,服务技术支持专业高效。从选型到上线到后期的运维,都有OceanBase技术团队支持,大到解决方案,小到技术细节,都有老师耐心解答,保障系统稳定运行。
上线 OB Cloud 云数据库之后,丽迅物流获得了同城双活、灵活高效、易观测的数据库体验,整体数据库成本降低 50%,开发和运维效率大大提升。目前,丽迅物流的 TMS 运输管理系统也正在评估上线 OB Cloud 的过程中,现有几大关键业务系统已携手 OB Cloud 稳定运行近一年,期待未来更好的合作!