當前位置:
首頁 > 最新 > oracle資料庫分表分表應用之MyCat

oracle資料庫分表分表應用之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是對資料庫的抽象。*


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員e族 的精彩文章:

TAG:程序員e族 |