MyCAT入門

MyCAT

1.什麼是MyCAT

MyCAT是基於阿里的cobar實現的數據庫中間件產品。

2.什麼是數據庫中間件

就是介於數據庫和應用之間,進行數據處理與交互的中間服務。有了數據庫中間件,應用只需要集中處理業務,大量的通用的數據聚合,事務,數據源切換都由數據庫中間件處理。

3.MyCAT的主要作用

1.單純的讀寫分離,支持讀寫分離,主從切換;
2.分表分庫,對於超過1000萬的表進行分片,最大支持1000億的單表分片
3.多租戶應用,每個應用一個庫,但應用程序mycat,實現多租戶化
4.報表系統,藉助mycat分表能力,處理大規模報表統計
5.替代Hbase,分析大數據

4.MyCAT基本元素

  • 邏輯庫
數據庫中間件是一個或多個數據庫集羣構成的邏輯庫。他並不是只有一個數據庫,而是有多個庫的聚集。
  • 邏輯表
1.邏輯表
在分佈式數據庫系統中,對應用來說,讀寫數據的表就是邏輯表。邏輯表可以是數據切分後,分佈在一個或多個分片庫,也可以不做數據切分,不分片,只由一個表構成。
2.分片表
分片表,是指那些原有的很大數據的表,需要切分到多個數據庫的表。
3.非分片表
一個數據庫中並不是所有的表都很大,某些表可以不用進行切分。非分片表,既是數據量比較小的表
4.ER表
子表的記錄與所關聯的父表記錄存放在同一數據分片上,即字表依賴於父表成爲ER表。
5.全局表
一些常常很少會改變的表成爲全局表(例如字典表),全局表將在每個數據分片上拷貝一份,且要保證數據相同。此時使用join操作時,將會大大提高效率。
  • 分片節點
數據切分後,一個大表被分到不同分片數據庫上面,每個表分片所在的數據庫就是分片節點。(dataNode)
  • 節點主機
數據切分後,每個分片節點不一定會都獨佔一個物理機器,同一物理機器上面可以有多個分片數據庫,這樣一個或多個分片節點所在的物理機器就是節點主機。爲了避免單節點主機併發數量限制,儘量將讀寫壓力高的節點,均勻分佈在不同的節點主機。
  • 分片規則
一個大表被分成若干個分片表,就需要一定的規則。這樣按照業務將數據分到某個分片的規則就是分片規則。
  • 全局序列號
數據切分後,原有關係數據庫中的主鍵約束在分佈式條件下將無法使用,因此需要引入外部機制保證數據唯一性標識,這種保證全局數據唯一標識的機制就是全局序列號

5.MyCAT安裝

下載地址:[link](http://dl.mycat.io/1.6.6.1/)
###1.Linux系統
- 到mycat項目主頁下載linux安裝包。
- 將解壓後文件放到usr/local/mycat目錄下
- mycat解壓後目錄如下
bin程序目錄
conf配置文件存放目錄
lib存放mycat項目依賴包目錄
logs存放mycat日誌目錄
- mycat啓動
vi /etc/profile 在系統環境變量文件中增加 MYCAT_HOME=/usr/local/mycat
執行source /etc/profile命令,使環境變量生效
經過以上兩個步驟的配置後,就可以到/usr/local/mycat/bin目錄下執行:/mycat start啓動服務。
###2.Windows系統
mycat在Windows中部署時,建議將解壓後的目錄放在根目錄中,儘量在路徑中不要包含中文路徑。如:D:\Mycat-server-1.6-win\
命令行啓動方式:
從cmd命令中將路徑切換到bin目錄下,執行startup_nowrap.bat即可啓動mycat服務。(mycat需要java環境支持,需先要求已有節哀吧、va環境。並且版本必須在1.7以上)。
###2.基於zk的啓動
......
......
......
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章