海量数据下分库分表最优方案( 二 )


笔者比较倾向于CLIENT模式,架构简单,性能损耗较小,运维成本低 。
实战案例
分库分表第一步也是最重要的一步,即sharding column的选取,sharding column选择的好坏将直接决定整个分库分表方案最终是否成功 。而sharding column的选取跟业务强相关,笔者认为选择sharding column的方法最主要分析你的API流量,优先考虑流量大的API,将流量比较大的API对应的SQL提取出来,将这些SQL共同的条件作为sharding column 。例如一般的OLTP系统都是对用户提供服务,这些API对应的SQL都有条件用户ID,那么,用户ID就是非常好的sharding column 。
这里列举分库分表的几种主要处理思路:
  1. 只选取一个sharding column进行分库分表 ;
  2. 多个sharding column多个分库分表;
  3. sharding column分库分表 + es;


推荐阅读