业务挑战
在客户零售业务发展迅猛背景下,客户零售电商业务年增长率达 300% 以上。客户生产环境为某共有云,其 RDS 数据库中订单详情大表已达数亿纪录,业务查询请求已出现缓慢现象,架构升级转型迫在眉睫。 为最大化兼容现有技术生态,技术团队决定通过 Sharding 方式来完成数据的拆分,以降低单表容量的方式提升整体业务效率,同时需要避免 Sharding 和业务逻辑耦合。 同时,电商业务对连续性有极高的要求,因此本次升级改造需完全在线进行,秒级完成切换。
解决方案
使用 SphereEx-DBPlusEngine 对订单详情表进行拆分,以 user_id 为分片键将数亿纪录拆分到多数据库实例,共由千余个分片所承载。同时,对于业务未来发展所需,预留了在线 Reshard 的能力。 在升级上线过程中,SphereEx-DBPlusEngine 内置的 Scaling 能力,会根据所制定的分片规则自动完成全量和增量数据同步,动态数据校验,可帮助客户在最短的时间内完成业务切换。
客户收益
- 显著提升查询性能:通过多实例多表方式大表的拆分,查询接口性能提升 260%,性能痛点得到解决;
- 在线平滑迁移上线:业务层,不需要修改业务代码;数据层,SphereEx-DBPlusEngine 内置迁移能力帮助客户高效完成数据迁移及上线切换;