分库分表案例分享

380 阅读1分钟

本节对在其它银行实施的案例,进行一个分享

业务分析

image
本次分享的系统是一个客户信息系统,首先分析行内现有用户数据量大概为1千万,业务需求都是以用户的维度出发所以用户ID作为分片键比较合适,考虑后续数据迁移的问题,分片规则采用一致性hash。

基于以上原则,对数据库表进行设计,表分为两类:分别为参数类表、业务类表,所以先进行垂直切分,其中业务类是需要分片的,所以在进行水平切分。

预设分片

image

  1. 考虑未来5年的客户数据量增长到6千万—8千万,单表按1000万的数据量上限来考虑,需要预设8个分片,考虑到未来比较大的数据增量,预设32个分片;
  2. 考虑到前期上线后2-3年内大约2000万的数据量(包括近1000万的存量数据),系统上线初期配置2个物理节点,每个节点16个分片(SCHEMA),每个分片(SCHEMA)单表大约62.5万的数据记录数,其中默认节点放在其中一台物理节点中。
  3. 未来根据客户量的增长情况进行扩容处理,按预设32个分片未来最多可扩展到32个物理节点,最优可支持扩容到3.2亿的用户数;