mysql之分库分表

mysql之分库分表(Sharding-JDBC)

  1. 何时分库分表

    阿里规约中指出:单表行数超过500万行或者表容量超过2GB,才会推荐分库分表.

    说明:如果三年内数据增长达不到这个规模,就不推荐分库分表

  2. 如何分库分表
    • 垂直切分:基于业务,将一个数据库中的表根据业务拆分到多个数据库,将一个表中的字段切分成多个表
    • 水平切分:基于数据,将一个表的数据拆分到多个表中,每个表的结构一样
  3. 分库分表带来的问题
    1. 跨库的关联查询

    2. 分布式事务

    3. 字段冗余

    4. 数据同步

    5. 分页查询,范围查询

    6. 全局id同步

      • redis原子递增incr
      • uuid 无序
      • 雪花算法
      • oracle:sequence
    7. 多数据源选择

      1. 自定义注解+AOP(AbstractRoutingDataSource)

      2. Sharding-JDBC框架

      3. 配置

在这里插入图片描述

在这里插入图片描述


版权声明:本文为qq_34069839原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。