主從複製如何保持資料的一致性

2022-02-24 03:37:28 字數 635 閱讀 5128

讀寫分離: 為保證資料庫資料的一致性,我們要求所有對於資料庫的更新操作都是針對主資料庫的,但是讀操作是可以針對從資料庫來進行。大多數站點的資料庫讀操作比寫操作更加密集,而且查詢條件相對複雜,資料庫的大部分效能消耗在查詢操作上了。

主從複製資料是非同步完成的,這就導致主從資料庫中的資料有一定的延遲,在讀寫分離的設計中必須要考慮這一點。以部落格為例,使用者登入後發表了一篇文章,他需要馬上看到自己的文章,但是對於其它使用者來講可以允許延遲一段時間(1分鐘/5分鐘/30分鐘),不會造成什麼問題。這時對於當前使用者就需要讀主資料庫,對於其他訪問量更大的外部使用者就可以讀從資料庫。

適當放棄一致性:在一些實時性要求不高的場合,我們適當放棄一致性要求。這樣就可以充分利用多種手段來提高系統吞吐量,例如頁面快取、分布式資料快取、資料庫讀寫分離、查詢資料搜尋索引化。

可以通過程式控制,將強一致性要求的功能(比如存錢、取錢)的讀寫操作均指向主資料庫,或者將寫操作採用「雙寫」的方式實現;而弱一致性(最終一致性)要求的功能(比如更新微博(寫)、金融查詢賬戶(讀))實現讀寫分離。

因此:我的想法是要使用讀寫分離來實現系統吞吐量的提公升就要從業務上想辦法降低一致性的要求。

對必須要有一致性的功能是無法進行讀寫分離的,可以採用多庫不區分讀寫以及memcache快取技術來實現。

MySQL主從複製主從之間資料不一致的原因和解決

面試被問到主從複製的主和從之間的資料不一致的原因,以及解決方法,當時沒答出來,一是確實沒有思考過這個問題,二來也有些因為緊張,沒有想到。後來再次回想自己所學習的主複製的過程,應該有這幾個原因 解決的方法 查了一下資料,主從複製不一致的原因還有可能是以下的原因 從庫寫入 主從複製過程中主庫異常宕機 主...

解決mysql主從複製不一致情況

解決mysql主從複製不一致情況。稍微有些規模的 基本上都會配置mysql主從複製,一方面用mysql的主從做資料庫的讀寫分離,另一方面mysql本身的單機備份不是很強,一般採用主從架構,在從上進行資料備份。在mysql主從複製過程中或多或少出現一些主從不同步的情況,本文將對資料主從不同步的情況進行...

保持MySQL和Redis的一致性

目前相當系統架構使用的是mysql和redis組合來實現,這兩者在使用過程中對不同場景會對資料一致性有不一樣的要求,大家都知道mysql主要做持久化資料的,redis唯讀資料的,大家都知道redis用來處理高併發情況的多所以我就稍微根據自己專案經驗總結下 方案一.對於實時要求不高的資料,將這些資料放...