ShardingJDBC分库分表有哪些最佳操作建议?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1485个文字,预计阅读时间需要6分钟。
1. 添加依赖:groupId: org.apache.shardingsphereartifactId: sharding-jdbc-coreversion: ${sharding.version}
2. 根据未来两年业务量选择分表分库数量:估算未来两年的业务量。
1 添加依赖
<dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-core</artifactId> <version>${sharding.version}</version></dependency>
2 分库分表数选择
根据未来两年的业务量,估算两年的业务总量M,单表数据量不能超过N(需要看具体业务场景,字段少的可以适量多一些,可与架构师及部门经验丰富的同事探讨,最大不要超过1000W);
总的分表数量K≥M/N,且K值向上取接近的最小2的次幂。
例如业务总量M=10亿,单表数量N=700W,则M/N≈143,向上取最小的2次幂为:,故总的分表数量为256。
可将分表数设定的尽可能的小,一台服务器存放多个库,业务增长后,磁盘不足时,可将该服务器上的整个库的数据迁移到新的服务器。
如总的分表数量为1024,可分为32个库:db0~db31,每个库分32张表:tb0~tb31,共16台服务器:server0~server15。
本文共计1485个文字,预计阅读时间需要6分钟。
1. 添加依赖:groupId: org.apache.shardingsphereartifactId: sharding-jdbc-coreversion: ${sharding.version}
2. 根据未来两年业务量选择分表分库数量:估算未来两年的业务量。
1 添加依赖
<dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-core</artifactId> <version>${sharding.version}</version></dependency>
2 分库分表数选择
根据未来两年的业务量,估算两年的业务总量M,单表数据量不能超过N(需要看具体业务场景,字段少的可以适量多一些,可与架构师及部门经验丰富的同事探讨,最大不要超过1000W);
总的分表数量K≥M/N,且K值向上取接近的最小2的次幂。
例如业务总量M=10亿,单表数量N=700W,则M/N≈143,向上取最小的2次幂为:,故总的分表数量为256。
可将分表数设定的尽可能的小,一台服务器存放多个库,业务增长后,磁盘不足时,可将该服务器上的整个库的数据迁移到新的服务器。
如总的分表数量为1024,可分为32个库:db0~db31,每个库分32张表:tb0~tb31,共16台服务器:server0~server15。

