集群中間件Mycat


【Mycat簡介】
從定義和分類來看,它是一個開源的分布式數(shù)據(jù)庫系統(tǒng),是一個實現(xiàn)了MySQL協(xié)議的服務(wù)器,前端用戶可以把它看作是一個數(shù)據(jù)庫代理,用MySQL客戶端工具和命令行訪問,而其后端可以用MySQL原生協(xié)議與多個MySQL服務(wù)器通信,也可以用JDBC協(xié)議與大多數(shù)主流數(shù)據(jù)庫服務(wù)器通信,其核心功能是分表分庫,即將一個大表水平分割為N個小表,存儲在后端MySQL服務(wù)器里或者其他數(shù)據(jù)庫里。
?
【Mycat特性】
支持SQL92標準
支持MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常見SQL語法
遵守Mysql原生協(xié)議,跨語言,跨平臺,跨數(shù)據(jù)庫的通用中間件代理
基于心跳的自動故障切換,支持讀寫分離,支持MySQL主從,以及galera cluster集群
支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster
基于Nio實現(xiàn),有效管理線程,解決高并發(fā)問題
支持數(shù)據(jù)的多片自動路由與聚合,支持sum,count,max等常用的聚合函數(shù),支持跨庫分頁
支持單庫內(nèi)部任意join,支持跨庫2表join,甚至基于caltlet的多表join
支持通過全局表,ER關(guān)系的分片策略,實現(xiàn)了高效的多表join查詢
支持多租戶方案
支持分布式事務(wù)(弱xa)
支持XA分布式事務(wù)(1.6.5)
支持全局序列號,解決分布式下的主鍵生成問題
分片規(guī)則豐富,插件化開發(fā),易于擴展
強大的web,命令行監(jiān)控
支持前端作為MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉
支持密碼加密
支持服務(wù)降級
支持IP白名單
支持SQL黑名單、sql注入攻擊攔截
支持prepare預(yù)編譯指令(1.6)
支持非堆內(nèi)存(Direct Memory)聚合計算(1.6)
支持PostgreSQL的native協(xié)議(1.6)
支持mysql和oracle存儲過程,out參數(shù)、多結(jié)果集返回(1.6)
支持zookeeper協(xié)調(diào)主從切換、zk序列、配置zk化(1.6)
支持庫內(nèi)分表(1.6)
集群基于ZooKeeper管理,在線升級,擴容,智能優(yōu)化,大數(shù)據(jù)處理(2.0開發(fā)版)
?
【系統(tǒng)學(xué)習(xí)并掌握Mycat】
尚硅谷Mycat教程
https://www.bilibili.com/video/BV1WJ411x7bD
課程詳情:
本視頻涵蓋Mycat核心技術(shù)主要知識點,常用功能均有實戰(zhàn)練習(xí)。主要包含Mycat介紹原理、安裝、一主一從讀寫分離、雙主雙從讀寫分離、分庫分表、全局序列、高可用架構(gòu)、安全設(shè)置、監(jiān)控平臺等章節(jié)。
本課程適合有一定MySQL基礎(chǔ)的學(xué)員,讓學(xué)員能掌握數(shù)據(jù)庫優(yōu)化的解決方案,應(yīng)用在真實項目系統(tǒng)搭建中。
?
