几种典型的分片规则

  • 按照用户ID求模,将数据分散到不同的数据库,具有相同数据用户的数据都被分散到一个库中。
  • 按照日期,将不同月甚至日的数据分散到不同的库中。
  • 按照某个特定的字段求摸,或者根据特定范围段分散到不同的库中。

数据切分的经验

  1. 第一原则:能不切分尽量不要切分。<br /> 第二原则:如果要切分一定要选择合适的切分规则,提前规划好。<br /> 第三原则:数据切分尽量通过**数据冗余或表分组**(Table Group)来降低跨库Join的可能。<br /> 第四原则:由于数据库中间件对数据Join实现的优劣难以把握,而且实现高性能难度极大,业务读取尽量少使用多表Join

数据切分带来的核心问题

  • 引入分布式事务的问题;
  • 跨节点 Join 的问题;
  • 跨节点合并排序分页问题;