mycat 学习总结

mycat原理: 对sql进行“拦截”

server.xml 定义一些mycat连接信息 [同mysql]
<user name="mycat">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
<!-- 可在此定义 表级 DML 权限设置 -->
</user>
schema.xml
<!-- 读写节点定义 -->
rule.xml
<!-- 分片规则定义 -->

mysql 主从复制原理 (SLAVE启动两个线程)

(1) IO线程 读 MASTER binary log (binlog) 写回SLAVE relay log
(2) SQL线程 读 relay log --> relay 重新执行

binlog 日志格式模式 (1) stament [两个库执行一样的sql] (2) row [行数据发生改变时,逐行复制] (3)mixed

 

1: 垂直拆分(分库)

(1)当数据库表太多,造成数据庞大 可考虑进行垂直拆分: 将表分开存储在不同的库(有关联关系的表要放在同一个数据库)

2: 水平拆分 (分表)

(1)当某张表数据量过大, 可考虑水平拆分 如: 对id取模 分开存储在不同数据库


3: 垂直拆分 + 水平拆分

 

mycat高可用

 

posted on 2020-03-04 16:11  yang希军  阅读(145)  评论(0)    收藏  举报