1. 程式人生 > >Mycat中介軟體

Mycat中介軟體

一些常見的資料庫中介軟體
Cobar / Mycat / TDDL / Sharding-JDBC

Mycat 可以認為是一個虛擬的資料庫伺服器,可以看作是一個基於mysql協議的資料庫代理。解決:分庫分錶帶來的複雜操作。

應用場景
讀寫分離 、 分庫分表

Mycat在linux的安裝
1、下載安裝包 http://dl.mycat.io/
2、日誌 /logs/wrapper.log Resources/log4j.xml
3、啟動 預設埠 8066

Mycat配置檔案

schema.xml
<schema name="database_rice1" /> 配置邏輯資料庫(mycat虛擬資料庫下的database)
<table name="td_user_info" dataNode="dn1,dn2,dn3" />

定義邏輯表,td_user_info繫結到對應的dn1,dn2,dn3的資料庫上,並且做了水平切分
<childTable name=""/>垂直分庫後的表
<dataNode name="db1"/>繫結虛擬資料庫到具體的database上
<dataHost name="localhost" /> 指向一個真實存在的物理資料庫

rule.xml
<tableRule name="auto-sharding-long"/>
<funtion name="rang-long"/>

server.xml
<user name="root"/>

配置許可權控制

Mycat實現讀寫分離
待詳解

Mysql全域性ID解決方案
本地檔案方式,server.xml中配置sequnceHandlerType=0 表示使用本地檔案的方式去做全域性ID
資料庫方式,使用全域性的序列表
分散式zkid

Mycat分片規則
列舉分片
範圍分片
取模分片

一些概念
邏輯庫
真實的資料庫
邏輯表
應用層真實操作的表
分片表
分片後,落在各個庫的表
非分片表
沒有做分片
全域性表
在整個分片裡它是全域性的,每一個分片裡都會儲存一份相同的資料(如 字典資料表)(如何做資料同步?)