MyCat是什麼?為什麼要用MyCat?

2021-08-28 01:54:05 字數 893 閱讀 8575

實習的時候,在乙個專案當中,專案經理要求把原先的mysql資料連線基於mycat來進行改造 。當時就在想mycat是什麼東西?為什麼要用它呢?

*一、什麼是mycat:

mycat是乙個開源的分布式資料庫系統,是乙個實現了mysql協議的伺服器,前端使用者可以把它看作是乙個資料庫**,用mysql客戶端工具和命令列訪問,而其後端可以用mysql原生協議與多個mysql伺服器通訊,也可以用jdbc協議與大多數主流資料庫伺服器通訊,其核心功能是分表分庫,即將乙個大表水平分割為n個小表,儲存在後端mysql伺服器裡或者其他資料庫裡。

mycat發展到目前的版本,已經不是乙個單純的mysql**了,它的後端可以支援mysql、sql server、oracle、db2、postgresql等主流資料庫,也支援mongodb這種新型nosql方式的儲存,未來還會支援更多型別的儲存。而在終端使用者看來,無論是那種儲存方式,在mycat裡,都是乙個傳統的資料庫表,支援標準的sql語句進行資料的操作,這樣一來,對前端業務系統來說,可以大幅降低開發難度,提公升開發速度

二、那麼為什麼要用到mycat呢?

*例如作業系統是對各類計算機硬體的抽象。那麼我們什麼時候需要抽象?假如只有一種硬體的時候,我們需要開發乙個作業系統嗎?

再比如乙個專案只需要乙個人完成的時候不需要leader,但是當需要幾十人完成時,就應該有乙個管理者,發揮溝通協調等作用,而這個管理者對於他的上層來說就是對專案組的抽象。

同樣的,當我們的應用只需要一台資料庫伺服器的時候我們並不需要mycat,而如果你需要分庫甚至分表,這時候應用要面對很多個資料庫的時候,這個時候就需要對資料庫層做乙個抽象,來管理這些資料庫,而最上面的應用只需要面對乙個資料庫層的抽象或者說資料庫中介軟體就好了,這就是mycat的核心作用。

所以可以這樣理解:資料庫是對底層儲存檔案的抽象,而mycat是對資料庫的抽象。*

MyCat是什麼?為什麼要用MyCat?

實習的時候,在乙個專案當中,專案經理要求把原先的mysql資料連線基於mycat來進行改造 當時就在想mycat是什麼東西?為什麼要用它呢?一 什麼是mycat mycat是乙個開源的分布式資料庫系統,是乙個實現了mysql協議的伺服器,前端使用者可以把它看作是乙個資料庫 用mysql客戶端工具和命...

MyCat是什麼?為什麼要用MyCat?

之前沒用過這個東西,搜了一下,記錄一下 實習的時候,在乙個專案當中,專案經理要求把原先的mysql資料連線基於mycat來進行改造 當時就在想mycat是什麼東西?為什麼要用它呢?一 什麼是mycat mycat是乙個開源的分布式資料庫系統,是乙個實現了mysql協議的伺服器,前端使用者可以把它看作...

mycat是什麼 MYCAT學習2

1.mycat的使用 rule 1 的作用是什麼?指定使用的分片演算法 2 中name屬性的作用是什麼?name 屬性指定唯一的名字,用於標識不同的分片規則。內嵌的 rule 標籤則指定對物理表中的哪一列進行拆分和使用什麼分演算法 3 中columns屬性的作用是什麼?指定要拆分的列名字 4 中al...