MyCat讀寫分離和分庫

學習主題:MyCat
學習目標:
1 掌握MyCat的配置規則
2 掌握MyCat配置讀寫分離
3 掌握MyCat分片分庫

1.MyCat的使用-rule

(1)的作用是什麼?
配置分片規則

(2)<tableRule>中name屬性的作用是什麼?
屬性指定唯一的名字,用於標識不同的分片規則。內嵌的rule標籤則指定對物理表中的哪一列進行拆分和使用什麼分片算法

(3)<tableRule>中columns屬性的作用是什麼?
指定要拆分的列的名字

(4)<tableRule>中algorithm屬性的作用是什麼?
使用function 標籤中的name 屬性。連接表規則和具體分片算法。table 標籤內使用。讓邏輯表使用這個規則進行分片

(5)<function>的作用是什麼?
配置具體的分片規則算法

(6)<function>中name屬性的作用是什麼?
算法的名字

(7)<function>中class屬性的作用是什麼?
算法具體的類的名字

(8)<function>中property屬性的作用是什麼?
配置算法需要的參數

2.MyCat的使用-配置讀寫分離

(1)如何在MyCat中配置讀寫分離?
修改Schem.xml,配置數據庫信息,指定分片規則
配置讀數據庫和寫數據庫,實現分離

3.MyCat的使用-分片規則

(1)auto-sharding-long的分片規則是什麼?
以500萬爲單位,實現分片規則.
邏輯庫A對應dataNode -db1和db2. 1-500萬保存在db1中, 500萬零1到1000萬保存在db2中,1000萬零1到1500萬保存在db1中.依次類推.

(2)crc32slot的分片規則是什麼?
在CRUD操作時,根據具體數據的crc32算法計算,數據應該保存在哪一個dataNode中

(3)在配置分片規則時需要注意什麼?
1)<columns>id</columns>中推薦配置主鍵列
2)所有的tableRule只能使用一次。如果需要爲多個表配置相同的分片規則,那麼需要在此重新定義該規則。
3)在crc32Slot算法中的分片數量一旦給定,MyCat會將該分片數量和slor的取值範圍
保存到文件中。在次修改分片數量時是不會生效的,需要將該文件刪除。文件位置位於conf目錄中的ruledata目錄中

4.MyCat的使用-測試分庫

(1)在使用MyCat分庫時需要注意什麼?
1)使用MyCat實現分庫時,先在MyCat中定義邏輯庫與邏輯表,然後在MyCat的鏈接中執行創建表的命令必須要在MyCat中運行。因爲MyCat在創建表時,會在表中添加一個新的列,列名爲_slot。
2)使用MyCat插入數據時,語句中必須要指定所有的列。即便是一個完全項插入也不允許省略列名。

(2)如何在MyCat中配置分庫?
在Schem.xml中配置多個dataNode,指向同一個物理主機,指向不同的數據庫,在table標籤中配置多個dataNode節點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章