溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mycat的使用 - 01.概念, 及安裝

發(fā)布時間:2020-08-01 05:14:36 來源:網絡 閱讀:6651 作者:coveringindex 欄目:MySQL數據庫

識Mycat


1. Mycat是什么

Mycat是一款數據庫中間件, 其用于分庫分表, 還實現了讀寫分離, 故障切換等功能.


2. Mycat的工作原理

用一個動詞來概括就是"攔截", 它攔截了用戶發(fā)送的SQL語句, 首先對其做了一些特定的分析: 如分片分析, 路由分析, 讀寫分離分析, 緩存分析等, 然后將其發(fā)往后端真實的數據庫, 并將返回的結果做適當處理, 最終再返回給用戶.



Mycat中的概念


1. 邏輯庫(schema)

邏輯庫是用戶直接訪問的地方, 它是由后端的一個或多個物理庫組成, 而用戶是不知道物理庫的存在的.


2. 邏輯表(table)

其和邏輯庫的概念類似, 后端是由一個或多個物理表組成的. 若是多個物理表, 該表就是分片表了, 由于數據量大, 需要切分到多個數據庫的表中, 每個分片都有一部分數據, 所有分片構成完整的數據. 若是一個物理表, 就是非分片表.


由于分片, 就讓join操作變得復雜, 據此, Mycat中提出了ER表和全局表的方式來優(yōu)化join. ER表, 是通過E-R關系構成的表分組, 即子表的記錄與所關聯的父表的記錄存放在同一個分片上. 全局表, 是類似于字典表這樣的, 數據量較少, 且變更不頻繁的表, 在每個分片上都有一份完整的數據拷貝.


3. 分片節(jié)點(dataNode)

數據切分后, 一個大表被分到不同的分片數據庫上面, 每個表分片所在的數據庫就是分片節(jié)點.


4. 節(jié)點主機(dataHost)

數據切分后, 每個分片節(jié)點不一定都會獨占一臺機器, 同一機器上面可以有多個分片數據庫, 這樣一個或多個分片節(jié)點所在的機器就是節(jié)點主機.


5. 分片規(guī)則(rule)

數據切分后, 一個大表被分成若干分片表, 就需要一定的規(guī)則, 這樣按照某種業(yè)務規(guī)則把數據分到某個分片的方法就是分片規(guī)則.


6. 全局序列號(sequence)

數據切分后, 原有的關系數據庫中的主鍵約束在分布式條件下將無法使用, 因此需要引入外部機制來保證數據的唯一性標識, 該保證數據全局唯一標識的機制就是全局序列號.



Mycat的安裝


1. jdk下載, 及Java環(huán)境的設置

http://www.oracle.com/technetwork/java/javase/archive-139210.html


將其解壓到目錄/usr/local下.


# cat /etc/profile.d/java.sh

export JAVA_HOME=/usr/local/jdk1.7.0_80

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


# source /etc/profile.d/java.sh


# java -version

java version "1.7.0_80"

Java(TM) SE Runtime Environment (build 1.7.0_80-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)



2. Mycat下載, 及安裝

https://github.com/MyCATApache/Mycat-download/blob/master/1.5-RELEASE/Mycat-server-1.5.1-RELEASE-20161130213509-linux.tar.gz


將其解壓到目錄/usr/local下.


# cat /etc/profile.d/mycat.sh

export MYCAT_HOME=/usr/local/mycat


# source /etc/profile.d/mycat.sh


# echo $MYCAT_HOME

/usr/local/mycat


創(chuàng)建mycat用戶

# useradd mycat


啟動

# su - mycat


$ cd /usr/local/mycat/


$ bin/mycat restart

Stopping Mycat-server...

Mycat-server was not running.

Starting Mycat-server...


$ tail -f logs/wrapper.log

...

INFO   | jvm 1    | 2018/03/15 21:43:25 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org

INFO   | jvm 1    | 2018/03/15 21:43:25 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

INFO   | jvm 1    | 2018/03/15 21:43:25 |

INFO   | jvm 1    | 2018/03/15 21:43:25 | log4j 2018-03-15 21:43:25 [./conf/log4j.xml] load completed.

INFO   | jvm 1    | 2018/03/15 21:44:25 | MyCAT Server startup successfully. see logs in logs/mycat.log


若感興趣可關注訂閱號”數據庫最佳實踐”(DBBestPractice).

Mycat的使用 - 01.概念, 及安裝

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI