不同的云數(shù)據(jù)庫產(chǎn)品采用的系統(tǒng)架構(gòu)存在很大差異,UMP(Unified MySQL Platform)系統(tǒng)是什么呢?小編給你說說,畢竟想要成為一名CGFT科技分析師,那你就要知道大數(shù)據(jù)知識(shí)!
UMP系統(tǒng)是低成本和高性能的MySQL云數(shù)據(jù)方案,關(guān)鍵模塊采用Erlang語言實(shí)現(xiàn)。開發(fā)者通過網(wǎng)絡(luò)從平臺(tái)上申請(qǐng)MySQL實(shí)例資源,由平臺(tái)提供的單一入口來訪問數(shù)據(jù)。UMP系統(tǒng)把各種服務(wù)器資源劃分為資源池,并以資源池為單位把資源分配給MySQL實(shí)例。
系統(tǒng)中包含了一系列組件,這些組件協(xié)同工作,以對(duì)用戶透明的形式提供主從熱備、數(shù)據(jù)備份、遷移、容災(zāi)、讀寫分離、分庫分表等一系列服務(wù)。系統(tǒng)內(nèi)部劃分為3種規(guī)格的用戶,分別是數(shù)據(jù)量和流量比較小的用戶、中等規(guī)模用戶以及需要分庫分表的用戶。
多個(gè)小規(guī)模用戶可以共享同一個(gè)MySQL實(shí)例,中等規(guī)模用戶獨(dú)占一個(gè)MySQL實(shí)例,需要分庫分表的用戶的多個(gè)MySQL實(shí)例共享同一個(gè)物理機(jī),通過這些方式實(shí)現(xiàn)了資源的虛擬化,降低了整體成本。UMP通過“用Cgroup限制MySQL進(jìn)程資源”和“在Proxy服務(wù)器端限制QPS(Query Per Second)”兩種方式,實(shí)現(xiàn)了資源隔離、按需分配以及限制CPU、內(nèi)存和IO資源;
同時(shí),還支持在不影響提供數(shù)據(jù)服務(wù)的前提下根據(jù)用戶業(yè)務(wù)的發(fā)展進(jìn)行動(dòng)態(tài)擴(kuò)容和縮容。系統(tǒng)還綜合運(yùn)用了SSL數(shù)據(jù)庫連接、數(shù)據(jù)訪問IP白名單、記錄用戶操作日志、SQL攔截等技術(shù),來有效保護(hù)用戶的數(shù)據(jù)安全。
總的來說,UMP系統(tǒng)架構(gòu)設(shè)計(jì)遵循了以下原則。
·保持單一的系統(tǒng)對(duì)外人口,并且為系統(tǒng)內(nèi)部維護(hù)單一的資源池。
·消除單點(diǎn)故障,*服務(wù)的高可用性。
·*系統(tǒng)具有良好的可伸縮,能夠動(dòng)態(tài)地增加、刪減計(jì)算與存儲(chǔ)節(jié)點(diǎn)。
·*分配給用戶的資源也是彈性可伸縮的,資源之間相互隔離,確保應(yīng)用和數(shù)據(jù)的安全。