Mysql数据库周末学习之Mycat全局表 mysql DBA

Mysql数据库业务中有些数据类似于数据字典,比如配置文件的配置,常用业务的配置或者数据量不大很少变动的表,这些表往往不是特别大,但是大部分的业务场景都会用到,那么这种表适合于Mycat全局表,无须对数据进行切分,只要在所有的分片上保存一份数据即可,Mycat在Join操作中,业务表与全局表进行Join聚合会优先选择相同分片内的全局表join,避免跨库Join,在进行数据插入操作时,mycat将把数据分发到全局表对应的所有分片执行,在进行数据读取时候将会随机获取一个节点读取数据。

全局表的配置如下:

<table name="t_area" primaryKey="id" type="global" dataNode="dn1,dn2" />

<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">

<table name="temp2" primaryKey="id" type="global" dataNode="dn1,dn2" />

</schema>

<schema name="TESTDB2" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn2">

</schema>

<dataNode name="dn1" dataHost="node1" database="test" />

<dataNode name="dn2" dataHost="node1" database="test2" />

<dataHost name="node1" maxCon="10" minCon="5" balance="2" writeType="0"

dbType="mysql" dbDriver="native" switchType="-1">

<heartbeat>select user()</heartbeat>

<writeHost host="master1" url="192.168.237.128:3308" user="root"

password="mysql">

</writeHost>

<writeHost host="salve1" url="192.168.237.130:3308" user="root"

password="mysql">

</writeHost>

</dataHost>

</mycat:schema>

互联网企业大多用的数据库是MySQL的,想要众多的IT工作者中脱颖而出,就需要拥有高深的技术,学习增值是必不可少的。学习之路,是贵在坚持的。老男孩教育MySQL DBA课程,几经更新课程,杜绝纸上谈兵,全企业真实案例结合理论授课,想深入的学习MySQL DBA的知识,可以关注下老男孩教育。


猜你喜欢

转载自blog.51cto.com/13543192/2122051