1. 程式人生 > >開源資料庫中介軟體- MyCat 學習筆記

開源資料庫中介軟體- MyCat 學習筆記

1、簡介

       MyCat 曾是阿里開源產品Cobar,Cobar核心功能和優勢是 MySQL 資料庫分片。Mycat 是基於 cobar 演變而來,對 cobar 的程式碼進行了徹底的重構,使用 NIO 重構了網路模組,並且優化了 Buffer 核心,增強了聚合,Join 等基本特性,同時相容絕大多數資料庫成為通用的資料庫中介軟體。MyCAT是一個新穎的資料庫中介軟體產品支援mysql叢集,或者mariadb cluster,提供高可用性資料分片叢集。你可以像使用mysql一樣使用mycat。對於開發人員來說根本感覺不到mycat

的存在。

2、架構

3、應用場景

      解決海量資料儲存方案

4、核心概念- 分片

      通過某種特定的條件,將我們存放在同一個資料庫中的資料分散存放到多個數據庫(主機)上面,以達到分散單臺裝置負載的效果。 資料的切分(Sharding)根據其切分規則的型別,可以分為兩種切分模式。

(1)垂直(縱向)切分

一種是按照不同的表(或者Schema)來切分到不同的資料庫(主機)之上,這種切分可以稱之為資料的垂直(縱向)切分。

(2)水平(橫向)切分

       另外一種則是根據表中的資料的邏輯關係,將同一個表中的資料按照某種條件拆分到多臺資料庫(主機)上面,這種切分稱之為資料的水平(橫向)切分。

5、核心概念- 分片規則

(1)按主鍵範圍分片 rang-long

預設配置如下:

# range start-end ,data node index
# K=1000,M=10000.
0-500M=0
500M-1000M=1
1000M-1500M=2

(2)一致性雜湊murmur

將制定的主鍵,均勻的分佈在各個分片中。

6、與資料庫配合完成讀寫分離

MySQL負責主從複製;

 

MyCat負責讀寫自動切換