您好,登錄后才能下訂單哦!
MyCat是什么?
從定義和分類來(lái)看,它是一個(gè)開源的分布式數(shù)據(jù)庫(kù)系統(tǒng),是一個(gè)實(shí)現(xiàn)了MySQL協(xié)議的服務(wù)器,前端用戶可以把它看作是一個(gè)數(shù)據(jù)庫(kù)代理,用MySQL客戶端工具和命令行訪問(wèn),而其后端可以用MySQL原生協(xié)議與多個(gè)MySQL服務(wù)器通信,也可以用JDBC協(xié)議與大多數(shù)主流數(shù)據(jù)庫(kù)服務(wù)器通信,其核心功能是分表分庫(kù)讀寫分離,即將一個(gè)大表水平分割為N個(gè)小表,存儲(chǔ)在后端MySQL服務(wù)器里或者其他數(shù)據(jù)庫(kù)里。也可以指定多個(gè)寫庫(kù)多個(gè)讀庫(kù)。
MyCat發(fā)展到目前的版本,已經(jīng)不是一個(gè)單純的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL等主流數(shù)據(jù)庫(kù),也支持MongoDB這種新型NoSQL方式的存儲(chǔ),未來(lái)還會(huì)支持更多類型的存儲(chǔ)。而在最終用戶看來(lái),無(wú)論是那種存儲(chǔ)方式,在MyCat里,都是一個(gè)傳統(tǒng)的數(shù)據(jù)庫(kù)表,支持標(biāo)準(zhǔn)的SQL語(yǔ)句進(jìn)行數(shù)據(jù)的操作,這樣一來(lái),對(duì)前端業(yè)務(wù)系統(tǒng)來(lái)說(shuō),可以大幅降低開發(fā)難度,提升開發(fā)速度。
MyCat可以干什么?
單純的讀寫分離,此時(shí)配置最為簡(jiǎn)單,支持讀寫分離,主從切換
分表分庫(kù),對(duì)于超過(guò) 1000 萬(wàn)的表進(jìn)行分片,最大支持 1000 億的單表分片
多租戶應(yīng)用,每個(gè)應(yīng)用一個(gè)庫(kù),但應(yīng)用程序只連接 Mycat,從而不改造程序本身,實(shí)現(xiàn)多租戶化
報(bào)表系統(tǒng),借助于 Mycat 的分表能力,處理大規(guī)模報(bào)表的統(tǒng)計(jì)
替代 Hbase,分析大數(shù)據(jù)
作為海量數(shù)據(jù)實(shí)時(shí)查詢的一種簡(jiǎn)單有效方案,比如 100 億條頻繁查詢的記錄需要在 3 秒內(nèi)查詢出來(lái)結(jié)果
MyCat分布式架構(gòu)設(shè)計(jì):
基于分布式關(guān)系型數(shù)據(jù)庫(kù),實(shí)現(xiàn)輕松應(yīng)對(duì)百億級(jí)數(shù)據(jù)分析場(chǎng)景方案
百億級(jí)數(shù)據(jù)橫向分片存儲(chǔ)于數(shù)據(jù)分析架構(gòu)
整體思路:
(1)利用mycat的分庫(kù)分表規(guī)則,將百億級(jí)數(shù)據(jù)橫向分?jǐn)偟讲煌墓?jié)點(diǎn)上;
(2)每個(gè)節(jié)點(diǎn)上實(shí)現(xiàn)一主多備,實(shí)現(xiàn)數(shù)據(jù)備份與讀寫分離;
(3)所有的寫操作首先會(huì)在mycat中根據(jù)規(guī)則計(jì)算,路由到指定的節(jié)點(diǎn)上寫操作;
(4)聚合查詢mycat會(huì)分?jǐn)偟礁鱾€(gè)節(jié)點(diǎn)上去計(jì)算之后,再基于節(jié)點(diǎn)的結(jié)果進(jìn)行匯總處理;
(5)利用NBI大數(shù)據(jù)可視化分析工具與Mycat無(wú)縫連接;
(6)通過(guò)NBI大數(shù)據(jù)可視化分析工具(http://nbi.easydatavis.com:8033)提供的拖拽式分析,可以快速完成各類分析報(bào)告和百億級(jí)數(shù)據(jù),秒級(jí)響應(yīng)的用戶體驗(yàn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。