亿级数据的分库分表

一、分库分表的基本概念

当表的数量或大小超过一定限度,对业务效率产生了一定的影响,可以考虑分库分表。阿里的推荐是,当数据库超过500万行或者单张表大小超过2G,建议分库分表。

二、好处

  • 减少数据库的压力;
  • 提高查询的效率;

三、分库分表的两种方式

    1、 垂直方式:将一个多字段的表,拆分成多个有关联的表;

    2、 水平方式:将表按行数进行拆分。

四、问题解决层次

亿级数据的分库分表

五、其他

    1、 避免跨库的关联查询的方式:库表字段冗余、数据同步、RPC(不推荐)

    2、 全局ID生成的方式:数据库(for update)、UUID、Redis、ZK、雪花算法、Leaf