sharding-jdbc分库分表实战总结

1.分片算法调整为官方建议的标准分库算法shardingkey=hash(userNo)

2.拆分规模尽量选择2幂次方,最终选择4个库,每个库8个表

3.测试和生产环境保持保持一致的水平分库

4.整个实施过程要有完备的热切开关操作,保证可回滚

5.尽量在业务开发过程中避免没有分片键的sql查询或者写入

6.不要在sql中使用shardingsphere不支持sql关键字。例如ifnull,或者使用可替换方法

7.历史数据迁移过程中,sql中不要使用数据库自身生成的时间,例如now(),在双写过程中,会有先后写入会导致原库和分库写入瞬时时间不一致。应使用应用服务器生成时间

8.打印日志可以查看sql的执行内容。但是不能观测到shardingsphere内部的sql解析,路由,改写,执行,归并的性能,后续可以考虑和skywalking结合,观测shardingsphere内部执行性能。

9.发现项目启动后sharding-jdbc第一次做sql解析词法。比较慢,需要在项目启动后立即做SQL预热。

你可能感兴趣的:(sharding-jdbc分库分表实战总结)