Mycat的簡介及安裝
阿新 • • 發佈:2018-11-17
Mycat簡介:
1.1Mycat含義
簡單的說,MyCAT就是: 一個徹底開源的,面向企業應用開發的“大資料庫叢集” 支援事務、ACID、可以替代Mysql的加強版資料庫 一個可以視為“Mysql”叢集的企業級資料庫,用來替代昂貴的Oracle叢集 一個融合記憶體快取技術、Nosql技術、HDFS大資料的新型SQL Server 結合傳統資料庫和新型分散式資料倉庫的新一代企業級資料庫產品 一個新穎的資料庫中介軟體產品 MyCAT的目標是:低成本的將現有的單機資料庫和應用平滑遷移到“雲”端,解決資料儲存和業務規模迅速增長情況下的資料瓶頸問題。
1.2 Mycat的關鍵特性
支援 SQL 92標準 支援Mysql叢集,可以作為Proxy使用 支援JDBC連線ORACLE、DB2、SQL Server,將其模擬為MySQL Server使用 支援galera for mysql叢集,percona-cluster或者mariadb cluster,提供高可用性資料分片叢集 自動故障切換,高可用性 支援讀寫分離,支援Mysql雙主多從,以及一主多從的模式 支援全域性表,資料自動分片到多個節點,用於高效表關聯查詢 支援獨有的基於E-R 關係的分片策略,實現了高效的表關聯查詢 多平臺支援,部署和實施簡單
1.3Mycat架構
如圖所示:MyCAT使用Mysql的通訊協議模擬成了一個Mysql伺服器,並建立了完整的Schema(資料庫)、Table (資料表)、User(使用者)的邏輯模型,
並將這套邏輯模型對映到後端的儲存節點DataNode(MySQL Instance)上的真實物理庫中,這樣一來,
所有能使用Mysql的客戶端以及程式語言都能將MyCAT當成是Mysql Server來使用,不必開發新的客戶端協議。
1.4 Mycat 解決的 問題
效能問題 資料庫連線過多 E-R分片難處理 可用性問題 成本和伸縮性問題
1.5Mycat 對多資料的支援
1.6 分片策略
MyCAT支援水平分片與垂直分片:
水平分片:一個表格的資料分割到多個節點上,按照行分隔。
垂直分片:一個數據庫中多個表格A,B,C;A儲存到節點1上,B儲存到節點2上,C儲存到節點3上。
這是重點——————————————————————————————
mycat通過定義表的分片規則來實現分片,每一個表格可以捆綁一個分片規則,每個分片規則
指定一個分片欄位並繫結一個函式,來實現動態分片演算法。
schema:邏輯庫,與mysql中的Database(資料庫)對應,一個邏輯庫中定義了所包含的table。
Table表:就是物理資料庫中儲存的某一張表,與傳統資料庫不同,這裡的表格需要宣告所儲存的邏輯資料節點。
DataNode:在此可以指定表的分片規則
DataNode:Mycat的邏輯資料節點,是存放table的具體物理節點,也稱之為分片節點,通過DataSource來關聯到後端某個具體資料庫上。
DataSource:定義某個物理庫的訪問地址,用於捆綁到Datanode 上
Mycat安裝
2.1 Mycat 下載
Mycat下載可以到官網下載也可到GitHub下載
官方網站:http://www.mycat.org.cn/
github地址https://github.com/MyCATApache
2.2Mycat安裝
Mycat安裝,需要安裝jdk,也要安裝mysql
2.2.1上傳並解壓
把MyCat的壓縮包上傳到linux伺服器,並且解壓
[[email protected] local]# tar -xvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/
解壓到了/usr/loca
2.2.2 啟動
/usr/local/mycat/bin/mycat start 啟動 /usr/local/mycat/bin/mycat stop 停止 /usr/local/mycat/bin/mycat restart 重啟
2.2.3連線
可以使用MySQL自帶的客戶端進行連線,也可以使用視覺化軟體進行連線 mycat的預設的賬號和密碼都是user 客戶端連線 mysql -uuser -puser -P8066 -h192.168.82.110 (注意:埠號前的P為大寫的) 注意:可以使用mysql的客戶端直接連線mycat服務。預設服務埠為8066
別忘了去防火牆那裡開一下的埠號
firewall-cmd --permanent --add-port=8066/tcp
firewall-cmd --reload 連結不上,可以執行:vi /etc/my.cfg 在mysqld節點下新增: skip-name-resolve
2.2.4成功的介面