1. 程式人生 > >Mysql數據庫周末學習之Mycat全局表 mysql DBA

Mysql數據庫周末學習之Mycat全局表 mysql DBA

mysql數據庫 數據庫管理員 數據庫開發 北京mysql

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的知識,可以關註下老男孩教育。


Mysql數據庫周末學習之Mycat全局表 mysql DBA