資料庫讀寫分離和資料一致性的衝突

2021-08-08 11:05:30 字數 435 閱讀 1098

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

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

因此:

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

對必須要有一致性的功能是無法進行讀寫分離的,可以採用多庫不區分讀寫以及

memcache

快取技術來實現。

資料一致性

資料一致性通常指關聯資料之間的邏輯關係是否正確和完整。而資料儲存的一致性模型則可以認為是儲存系統和資料使用者之間的一種約定。如果使用者遵循這種約定,則可以得到系統所承諾的訪問結果。常用的一致性模型有 a 嚴格一致性 linearizability,strict atomic consistency ...

資料一致性

丟失更新 未確定的相關性 不一致的分析和幻想讀 事務a讀取與搜尋條件相匹配的若干行。事務b以插入或刪除行等方式來修改事務a的結果集,然後再提交。幻讀是指當事務不是獨立執行時發生的一種現象,例如第乙個事務對乙個表中的資料進行了修改,比如這種修改涉及到表中的 全部資料行 同時,第二個事務也修改這個表中的...

資料一致性

資料一致性通常指關聯資料之間的邏輯關係是否正確和完整。而資料儲存的一致性模型則可以認為是儲存系統和資料使用者之間的一種約定。如果使用者遵循這種約定,則可以得到系統所承諾的訪問結果。常用的一致性模型有 a 嚴格一致性 linearizability,strict atomic consistency ...