-
MYCAT讀寫分離
查看全部 -
MYCAT讀寫分離配置:
Linux環(huán)境下:
停止MYCAT: bin/mycat stop
啟動(dòng)MYCAT:? ?bin/mycat start
查看全部 -
server.xml文件:定義了所有與MYCAT系統(tǒng)相關(guān)的配置
<system><property name=""></property></system>用于定義系統(tǒng)配置,比如系統(tǒng)的端口號(hào),系統(tǒng)的內(nèi)存大小,超時(shí)時(shí)間等
<user></user>用于定義連接MyCAT的用戶,比如用戶名,密碼等
查看全部 -
rule.xml文件:定義了對(duì)表的分片規(guī)則
<tableRule name=""></tableRule>定義表使用的分片規(guī)則
<function name=""></function>定義分片算法
查看全部 -
schema.xml文件:
1. <schema><table></table></schema>定義邏輯庫表
2. <dataNode></dateNode>定義數(shù)據(jù)節(jié)點(diǎn)
schema:定義邏輯庫
table:定義邏輯庫下的邏輯表
通過這組標(biāo)簽可以知道:邏輯表依賴于邏輯庫爾存在的,如果數(shù)據(jù)庫不需要分片,只需要讀寫分離,那么就可以不配置邏輯表(table),只需保留schema標(biāo)簽就可以了
dateNode:定義分片節(jié)點(diǎn)
一個(gè)數(shù)據(jù)節(jié)點(diǎn)代表一個(gè)獨(dú)立的數(shù)據(jù)分片,這個(gè)標(biāo)簽中定義的內(nèi)容包括:節(jié)點(diǎn)名字、物理數(shù)據(jù)庫的名字
3. <dataHost></dataHost>定義數(shù)據(jù)節(jié)點(diǎn)的物理數(shù)據(jù)源
dataHost:定義物理數(shù)據(jù)源的信息(物理數(shù)據(jù)庫實(shí)例),它定義了一組主機(jī)節(jié)點(diǎn),這組節(jié)點(diǎn)是一個(gè)真實(shí)的物理數(shù)據(jù)庫實(shí)例。一個(gè)dataHost所指定的主機(jī)就是一組真實(shí)的MySQL集群,除此之外還包括定義讀寫分離的配置和心跳語句的配置。
查看全部 -
mycat的關(guān)鍵配置文件
1、schema.xml:用于配置邏輯庫表及數(shù)據(jù)節(jié)點(diǎn)
2、rule.xml:用于配置表的分片規(guī)則
3、server.xml:用于配置服務(wù)器權(quán)限
server.xml文件
system:定義與mycat系統(tǒng)相關(guān)的一些重要配置,比如:端口號(hào)、系統(tǒng)使用內(nèi)存大小等等
user:定義連接mycat的用戶(賬號(hào)、密碼等)
注意:這里定義的用戶和后端數(shù)據(jù)庫的實(shí)際用戶時(shí)不一樣的
rule.xml文件
1、tableRule:定義表使用的分片規(guī)則
2、function:定義分片算法
schema:定義邏輯庫
table:定義邏輯庫下的邏輯表
通過這組標(biāo)簽可以知道:邏輯表依賴于邏輯庫爾存在的,如果數(shù)據(jù)庫不需要分片,只需要讀寫分離,那么就可以不配置邏輯表(table),只需保留schema標(biāo)簽就可以了
dateNode:定義分片節(jié)點(diǎn)
一個(gè)數(shù)據(jù)節(jié)點(diǎn)代表一個(gè)獨(dú)立的數(shù)據(jù)分片,這個(gè)標(biāo)簽中定義的內(nèi)容包括:節(jié)點(diǎn)名字、物理數(shù)據(jù)庫的名字
dataHost:定義物理數(shù)據(jù)源的信息(物理數(shù)據(jù)庫實(shí)例)
查看全部 -
啟動(dòng)MYCAT
查看全部 -
安裝java運(yùn)行環(huán)境1.7以上
下載mycat源
wget?http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz
配置環(huán)境變量
vi /etc/profile
export MYCAT_HOME=/usr/local/mycat
查看全部 -
安裝MYCAT
查看全部 -
MYCAY的關(guān)鍵特性:
1. 支持sql92標(biāo)準(zhǔn):sql92標(biāo)準(zhǔn)是大多數(shù)關(guān)系型數(shù)據(jù)庫都支持的一個(gè)SQL標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)中定義了SQL語句的一些功能和標(biāo)準(zhǔn)的一些事務(wù)的特性,比如說隔離級(jí)別等。
2. 支持MYSQL集群:一主多從,一主一從,多主多從等。
3. 支持JDBC連接數(shù)據(jù)庫:可以通過JDBC來連接除了MySQL之外的其他關(guān)系型數(shù)據(jù)庫,比如Oracle,MSSQL,SqlServer,PgSQL等
4. 支持NOSQL數(shù)據(jù)庫: 比如MongoDB。
5. 支持自動(dòng)故障切換,高可用性
6. 支持讀寫分離
7. 支持全局表:全局部就是一些比較小的字典表,這些表一般都很小,并且經(jīng)常與其他數(shù)據(jù)表進(jìn)行關(guān)聯(lián)使用。MYCAT可以把同樣的數(shù)據(jù)自動(dòng)的存儲(chǔ)到多個(gè)分片節(jié)點(diǎn)上,這樣可以有效提高表之間的關(guān)聯(lián)效率。
8. 支持獨(dú)有的基于ER關(guān)系的分片策略:ER關(guān)系就是實(shí)體關(guān)系模型,是關(guān)系型數(shù)據(jù)庫的基礎(chǔ)。ER關(guān)系的分片策略是基于ER關(guān)系模型來實(shí)現(xiàn)的,這種分片策略可以把子表記錄與所關(guān)聯(lián)的附表存放到同一個(gè)數(shù)據(jù)分片上。也就是說子表可以依賴于附表來進(jìn)行存儲(chǔ),這樣就保證了在子表與附表關(guān)聯(lián)的時(shí)候不會(huì)跨分片跨庫來進(jìn)行操作。
9. 支持一致性HASH分片
10. 基于Java開發(fā),支持多平臺(tái)運(yùn)行與部署
11. 支持全局序列號(hào):全局序列號(hào)保證Id全局唯一
查看全部 -
MYCAT的基本概念:
1. MYCAT中的數(shù)據(jù)庫——邏輯庫,
位于中間層,它屏蔽了分庫、分表后,數(shù)據(jù)庫操作的復(fù)雜性。前端應(yīng)用可以像使用一個(gè)未分庫、分表的數(shù)據(jù)庫一樣來使用分庫、分表的數(shù)據(jù)庫(數(shù)據(jù)庫路由等都是由中間件實(shí)現(xiàn))
user_db是邏輯數(shù)據(jù)庫
db01、db02、db03是物理數(shù)據(jù)庫
mycat中只保存邏輯庫的定義,不保存數(shù)據(jù),具體的數(shù)據(jù)存儲(chǔ)在物理數(shù)據(jù)庫中
2. MYCAT中的數(shù)據(jù)庫——邏輯表:前端應(yīng)用通過MYCAT所看到的表就是邏輯表,一個(gè)邏輯表可能對(duì)應(yīng)后端的多個(gè)物理數(shù)據(jù)庫中的表,比如User_DB邏輯庫中有一張user_info邏輯表,而實(shí)際上user_info表中的數(shù)據(jù)是存儲(chǔ)在db01,db02,db03物理庫中的物理user_info表中。
查看全部 -
MYCAT的主要作用:MYCAT可以實(shí)現(xiàn)數(shù)據(jù)庫的垂直拆分
數(shù)據(jù)庫的垂直拆分:可以稱之為縱向的拆分,把數(shù)據(jù)庫中的表按照一定的規(guī)則來分?jǐn)偟蕉鄠€(gè)數(shù)據(jù)庫實(shí)例中,比如一個(gè)電商系統(tǒng)可以將用戶模塊、訂單模塊、支付模塊等相關(guān)涉及的表分別存放到用戶庫,訂單庫,支付庫中。
數(shù)據(jù)庫的水平拆分:也就是分庫分表,在經(jīng)過垂直拆分后,業(yè)務(wù)量持續(xù)發(fā)展,規(guī)模相當(dāng)大。這時(shí),拆分過后的用戶庫已經(jīng)不能滿足需求,這時(shí)需要通過一定的規(guī)則進(jìn)行水平拆分
切蛋糕(從左向右水平分開)
將原來的一個(gè)用戶庫分成多個(gè)用戶庫,通過一定的規(guī)則進(jìn)行切分(拆分之后,每個(gè)庫中的表結(jié)構(gòu)都一樣),前端應(yīng)用通過mycat和切分規(guī)則來對(duì)后端切分后的數(shù)據(jù)庫進(jìn)行訪問
查看全部 -
MYCAT的主要作用:
2. 實(shí)現(xiàn)數(shù)據(jù)庫的讀寫分離,MYCAT支持讀負(fù)載均衡,多出現(xiàn)在一主多從的架構(gòu)上,讀操作可以在多個(gè)從服務(wù)器上進(jìn)行均衡。MYCAT還支持后端MySQL主從復(fù)制集群高可用。
這里的高可用:指的是可以在配置的時(shí)候,除了主節(jié)點(diǎn)之外,在指定一臺(tái)從節(jié)點(diǎn)也可以支持寫的功能,當(dāng)主節(jié)點(diǎn)宕機(jī)之后,MYCAT會(huì)把寫的SQL路由到我們?cè)谂渲梦募兄付ǖ膹墓?jié)點(diǎn)上,并且并不支持把其他的從節(jié)點(diǎn)設(shè)置為新的主節(jié)點(diǎn)進(jìn)行主從同步的功能。
查看全部 -
MYCAT的主要作用:
1. MYCAT實(shí)現(xiàn)了MySQL通信協(xié)議的一個(gè)分布式數(shù)據(jù)庫系統(tǒng)中間層。
數(shù)據(jù)庫中間層的作用:數(shù)據(jù)庫讀寫分離、讀負(fù)載均衡、數(shù)據(jù)庫連接池(控制數(shù)據(jù)庫的連接數(shù)量)、屏蔽后端數(shù)據(jù)庫的變更,對(duì)關(guān)系型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫進(jìn)行操作。
查看全部 -
MYCAT的前世今生
查看全部
舉報(bào)