Mybatis动态数据源实现分库分表实战

一、概念

1.什么是分库分表?
其实就是字面意思,很好理解:

  • 分库:从单个数据库拆分成多个数据库的过程,将数据散落在多个数据库中。
  • 分表:从单张表拆分成多张表的过程,将数据散落在多张表内。

2.为什么要分库分表?
关键字:提升性能、增加可用性。

3.分库分表拆分方式

  • 垂直切分:指的是将一个包含了很多表的数据库,根据表的功能的不同,分为多个小的数据库,个库中包含部分表。比如:电商系统采用的库为db_shop,根据用户功能和产品功能,可以拆分为用户库db_user和产品库db_product。

  • 水平切分:垂直切分解决不了大表的瓶颈,如果同一个功能中表的数据量过大,就要对该表进行切分,为水平切分。

4.分库分表方案可以分为下面3种:

切分方案 解决的问题
只分库不分表 数据库/写QPS过高,数据库连接数不足
只分表不分库 单表数据量过大,存储性能遇到瓶颈
既分库又分表 连接数不足

猜你喜欢

转载自blog.csdn.net/qq_17025903/article/details/123378163