您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)mysql集群和主從有什么區(qū)別的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
之前一直用oracle數(shù)據(jù)庫(kù),而且只是用,沒有關(guān)心過數(shù)據(jù)庫(kù)的架構(gòu),現(xiàn)在的項(xiàng)目使用mysql數(shù)據(jù)庫(kù),而且要了解設(shè)計(jì)數(shù)據(jù)存儲(chǔ)架構(gòu)。所以研究了一下mysql的集群(cluster)和主從(master/slave)這兩個(gè)概念。兩者非常容易混淆,特別是對(duì)于新手來講。
Mysql cluster: share-nothing,分布式節(jié)點(diǎn)架構(gòu)的存儲(chǔ)方案,以便于提供容錯(cuò)性和高性能。
需要用到mysql cluster安裝包,在集群中的每一個(gè)機(jī)器上安裝。
有三個(gè)關(guān)鍵概念:Sql節(jié)點(diǎn)(多個(gè)),數(shù)據(jù)節(jié)點(diǎn)(多個(gè)),管理節(jié)點(diǎn)(一個(gè)),數(shù)據(jù)節(jié)點(diǎn)之間采用的是同步復(fù)制來保證各節(jié)點(diǎn)之間的數(shù)據(jù)一致性。
同步復(fù)制:
a) Master執(zhí)行提交語(yǔ)句時(shí),事務(wù)被發(fā)送到slave,slave開始準(zhǔn)備事務(wù)的提交。
b) 每個(gè)slave都要準(zhǔn)備事務(wù),然后向master發(fā)送OK(或ABORT)消息,表明事務(wù)已經(jīng)準(zhǔn)備好(或者無法準(zhǔn)備該事務(wù))。
c) Master等待所有Slave發(fā)送OK或ABORT消息,如果Master收到所有 Slave的OK消息,它就會(huì)向所有Slave發(fā)送提交消息,告訴Slave提交該事務(wù);如果 Master收到來自任何一個(gè)Slave的ABORT消息,它就向所有 Slave發(fā)送ABORT消息,告訴Slave去中止事務(wù)。
e) 每個(gè)Slave等待來自Master的OK或ABORT消息。如果Slave收到提交請(qǐng)求,它們就會(huì)提交事務(wù),并向Master發(fā)送事務(wù)已提交 的確認(rèn);如果Slave收到取消請(qǐng)求,它們就會(huì)撤銷所有改變并釋放所占有的資源,從而中止事務(wù),然后向Masterv送事務(wù)已中止的確認(rèn)。
f) Master收到來自所有Slave的確認(rèn)后,就會(huì)報(bào)告該事務(wù)被提交(或中止),然后繼續(xù)進(jìn)行下一個(gè)事務(wù)處理。
由于同步復(fù)制一共需要4次消息傳遞,故mysql cluster的數(shù)據(jù)更新速度比單機(jī)mysql要慢。所以mysql cluster要求運(yùn)行在千兆以上的局域網(wǎng)內(nèi),節(jié)點(diǎn)可以采用雙網(wǎng)卡,節(jié)點(diǎn)組之間采用直連方式。
主從(Master-Slave): 主從機(jī)器上安裝mysql community(普通版)就可以。
主從之間是通過mysql的replication來保證數(shù)據(jù)的一致性。相對(duì)mysql cluster的數(shù)據(jù)同步方式來講是異步的。
Replication:主節(jié)點(diǎn)要開啟binlog,設(shè)置一個(gè)唯一的服務(wù)器id(局域網(wǎng)內(nèi)唯一);從節(jié)點(diǎn)設(shè)置服務(wù)器id,binlog記錄了master上的所有操作,會(huì)被復(fù)制到從節(jié)點(diǎn)的relaylog并在從節(jié)點(diǎn)上回放。
感謝各位的閱讀!關(guān)于mysql集群和主從有什么區(qū)別就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(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)容。