分库分表技术演进&最佳实践( 二 )


 
但是,无论是CLIENT模式,还是PROXY模式 。几个核心的步骤是一样的:SQL解析,重写,路由,执行,结果归并 。

笔者比较倾向于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;


推荐阅读