mycat是什麼 Mycat簡單介紹

2021-10-11 15:49:03 字數 2205 閱讀 7330

官網:

· 乙個徹底開源的,面向企業應用開發的大資料庫集群

· 支援事務、acid、可以替代mysql的加強版資料庫

· 乙個可以視為mysql集群的企業級資料庫,用來替代昂貴的oracle集群

· 乙個融合記憶體快取技術、nosql技術、hdfs大資料的新型sql server

· 結合傳統資料庫和新型分布式資料倉儲的新一代企業級資料庫產品

· 乙個新穎的資料庫中介軟體產品

2023年阿里的 cobar在社群使用過程中發現存在一些比較嚴重的問題,及其使用限制,經過 mycat發起人第一次改良,第一代改良版-- mycat誕生。

mycat開源以後,一些 cobar的使用者參與了的開發,最終 mycat發展成為乙個由眾多軟體公司的實力派架構師和資深開發人員維護的社群型開源軟體。

· 支援sql92標準

· 支援mysql、oracle、db2、sql server、postgresql等db的常見sql語法

· 遵守mysql原生協議,跨語言,跨平台,跨資料庫的通用中介軟體**。

· 基於心跳的自動故障切換,支援讀寫分離,支援mysql主從,以及galera cluster集群。

· 支援galera for mysql集群,percona cluster或者mariadb cluster

· 基於nio實現,有效管理執行緒,解決高併發問題。

· 支援資料的多片自動路由與聚合,支援sum,count,max等常用的聚合函式,支援跨庫分頁。

· 支援單庫內部任意join,支援跨庫2表join,甚至基於caltlet的多表join。

· 支援通過全域性表,er關係的分片策略,實現了高效的多表join查詢。

· 支援多租戶方案。

· 支援分布式事務(弱xa)。

· 支援xa分布式事務(1.6.5)。

· 支援全域性序列號,解決分布式下的主鍵生成問題。

· 分片規則豐富,外掛程式化開發,易於擴充套件。

· 強大的web,命令列監控。

· 支援前端作為mysql通用**,後端jdbc方式支援oracle、db2、sql server 、 mongodb 、巨杉。

· 支援密碼加密

· 支援服務降級

· 支援ip白名單

· 支援sql黑名單、sql注入攻擊攔截

· 支援prepare預編譯指令(1.6)

· 支援非堆記憶體(direct memory)聚合計算(1.6)

· 支援postgresql的native協議(1.6)

· 支援mysql和oracle儲存過程,out引數、多結果集返回(1.6)

· 支援zookeeper協調主從切換、zk序列、配置zk化(1.6)

· 支援庫內分表(1.6)

· 完全實現分布式事務,完全的支援分布式。

· 通過mycat web(eye)完成視覺化配置,及智慧型監控,自動運維。

· 通過mysql 本地節點,完整的解決資料擴容難度,實現自動擴容機制,解決擴容難點。

· 支援基於zookeeper的主從切換及mycat集群化管理。

· 通過mycat balance 替代第三方的haproxy,lvs等第三方高可用,完整的相容mycat集群節點的動態上下線。

· 接入spark等第三方工具,解決資料分析及大資料聚合的業務場景。

· 通過mycat智慧型優化,分析分片熱點,提供合理的分片建議,索引建議,及資料切分實時業務建議。

l 讀寫分離,主從切換;

l 分表分庫,對於超過1000萬的表進行分片,最大支援1000億的單錶分片;

l 多租戶應用,每個應用乙個庫,但應用程式連線 mycat,從而不改造程式本身,實現多租戶化;

l 報表系統,借助於 mycat的分表能力,處理大規模報表的統計;

l 作為海量資料實時查詢的一種簡單有效方案,比如100億條頻繁查詢的記錄需要在3秒內查詢出來結果,除了基於主鍵的查詢,還可能存在範圍查詢其他屬性查詢,此時可能是最簡單有效的選擇。

mycat攔截應用程式提交的sql語句,解析sql語句,並執行分片分析、路由分析、讀寫分離分析、快取分析等;然後將sql發往後端真實資料庫執行,接著把返回的結果做適當處理,最終返回給應用程式。

mycat是什麼 MYCAT學習2

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

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

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

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

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