7、分库分表方案设计实战
接下来,我们来给电商的商品管理模块设计一个分库分表的方案,来理解下分库分表应该如何落地。
一个典型的电商场景,商品管理模块大致的功能组件如下图:
针对这个场景,考虑到商品信息会持续增长,越来越多的情况,要如何设计分库分表方案?
1、以业务为单位考虑对数据进行垂直分片,店铺、产品、商品三种业务数据垂直拆分成三个不同的库。字典表作为广播表冗余到三个不同的库中。
2、考虑数据增长情况,商品将会是以后增长最快的数据,店铺和产品的数据增速会逐渐降低。所以对商品表进行分片。分片策略采用商品ID取模的方式,尽量保证商品数据平均分片。
3、将关联性较强的商品信息表和商品补充信息表配置为绑定表。
整体分库分表大致如下图:
思考:这种分库分表解决了哪些问题?支持的场景有哪些?不支持的场景有哪些?