mysql主從 mysql的讀寫分離和主從復(fù)制的區(qū)別在哪里?
mysql的讀寫分離和主從復(fù)制的區(qū)別在哪里?目的是為了減輕服務(wù)器的壓力,使之更高效,更有利于信息管理一個(gè)表只負(fù)責(zé)向前端顯示數(shù)據(jù),后臺(tái)管理人員對(duì)數(shù)據(jù)庫(kù)表的添加、刪除和修改都會(huì)在另一個(gè)表中,而這兩張表將被
mysql的讀寫分離和主從復(fù)制的區(qū)別在哪里?
目的是為了減輕服務(wù)器的壓力,使之更高效,更有利于信息管理一個(gè)表只負(fù)責(zé)向前端顯示數(shù)據(jù),后臺(tái)管理人員對(duì)數(shù)據(jù)庫(kù)表的添加、刪除和修改都會(huì)在另一個(gè)表中,而這兩張表將被分開管理。這就是讀寫分離,主從復(fù)制:一般情況下,一個(gè)表在添加、刪除、修改后會(huì)及時(shí)更新到另一個(gè)表,以保證兩個(gè)數(shù)據(jù)室是相同的
使用主從時(shí),強(qiáng)一致性實(shí)際上被放棄了。由于受試者只問一個(gè)問題,我們不考慮訪問次數(shù)的問題。換句話說,假設(shè)主從復(fù)制可以完全支持當(dāng)前的系統(tǒng)訪問。)
通用數(shù)據(jù)庫(kù)主從設(shè)置:
主數(shù)據(jù)庫(kù)可以讀寫
即系統(tǒng)可以同時(shí)從主數(shù)據(jù)庫(kù)和從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)。數(shù)據(jù)寫入主庫(kù)后,會(huì)自動(dòng)同步到從庫(kù)。
這構(gòu)成了一個(gè)簡(jiǎn)單的分布式系統(tǒng)。根據(jù)cap定理,三個(gè)中只能選擇一個(gè)。如果一致性很強(qiáng),則不會(huì)提高系統(tǒng)的可用性,反而會(huì)降低系統(tǒng)的可用性。
讓我們看看上面的主從結(jié)構(gòu)中可能出現(xiàn)什么問題:
系統(tǒng)寫入主數(shù)據(jù)庫(kù),然后從主數(shù)據(jù)庫(kù)進(jìn)行查詢。這是一個(gè)單點(diǎn)數(shù)據(jù)庫(kù),沒有影響。
-如果數(shù)據(jù)已同步,則沒有影響
-如果數(shù)據(jù)未同步,則會(huì)查詢舊數(shù)據(jù)
-如果同步有問題,則會(huì)斷開主設(shè)備和從設(shè)備的連接。如果系統(tǒng)無法感知它,那么查詢可能總是舊數(shù)據(jù)。這里我們需要監(jiān)視同步。當(dāng)同步出現(xiàn)問題時(shí),我們應(yīng)該及時(shí)處理
掛斷庫(kù)。主數(shù)據(jù)不能與從數(shù)據(jù)同步。如果主從交換機(jī)是自動(dòng)的,單點(diǎn)故障的概率只會(huì)降低50%(如果主數(shù)據(jù)庫(kù)或備用數(shù)據(jù)庫(kù)發(fā)生故障,并且沒有人恢復(fù))。