Mycat中介軟體
阿新 • • 發佈:2019-02-13
一些常見的資料庫中介軟體
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" />
<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分片規則
列舉分片
範圍分片
取模分片
一些概念
邏輯庫
真實的資料庫
邏輯表
應用層真實操作的表
分片表
分片後,落在各個庫的表
非分片表
沒有做分片
全域性表
在整個分片裡它是全域性的,每一個分片裡都會儲存一份相同的資料(如 字典資料表)(如何做資料同步?)