记录一下,方便查看
1.分库分表解决方案:
应用层(jar包):当当 -sharding-jdbc 阿里-TDDL
proxy: 社区: Mycat-cobar 数字:Atlas 百度:heinsberge 商业版:oneproxy youtube:vitess
2.拆分原则:
2.1能不拆分尽量不拆分
2.2如果要拆分一定要选择合适的拆分规则,提前规划好
2.3数据拆分尽量通过数据冗余或表分组来降低跨库join的可能
2.4跨库join是共同难题,所以业务读取尽量少使用多表join
2.5分片规则和策略 多种分片规则策略,还可以自定义
2.6分布式全局唯一ID 多种分布式全局唯一ID实现
2.7多数据源管理问题 统一管理所有数据源
2.8跨库跨表join问题 全局表/sharedjoin/catlet
3 核心配置文件:
server.xml:是Mycat服务器参数调整和用户授权的配置文件。
schema.xml:是逻辑库定义和表以及分片定义的配置文件。
rule.xml:是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改需要重启 MyCAT。
log4j.xml:日志存放在logs/log中,每天一个文件,日志的配置是在conf/log4j.xml中,根据自己的需要可以调整输出级别为 debug;debug级别下,会输出更多的信息,方便排查问题。
分片相关的id分片规则配置文件 autopartition-long.txt partition-hash-int.txt sequence_conf.properties sequence_db_conf.properties
service.xml 这是mycat的用户名密码 可以用数据库连接工具连接
schema.xml 对应上图的 TESTDB
配置数据库连接:可以看到这两个是前面 上一个博客写的docker mysql主从的 地址
看第一个table 标签 里面有个rule 就是分片规则 通过id 来分片
4 然后启动mycate(windows版本) 在bin目录下 startup_nowrap.bat
5.数据库连接:因为是本地 然后密码在配置文件展示了 用8066端口就可以连接 了
db1:
db2:
mycat库下的db: