我對「一致性」一詞感到困惑。它已被用於許多不同的環境中,即分佈式系統,內存模型和數據庫。 People/Wikipedia在同一頁面中總結了所有不同的一致性模型。但我並不認爲他們習慣於描述同樣的問題。例如,序列/放鬆/弱/嚴格/處理器一致性等在內存模型中是有意義的(由現代架構&現代語言編譯器提供)。另一方面,順序/最終一致性在分佈式系統中有意義(當您嘗試構建複製狀態機時)。像共識算法一樣的Paxos/raft可以幫助您構建SC模型,DynamoDB是EC模型的一個示例。不同環境下的一致性(分佈式系統vs內存模型vs數據庫)
但是,當您構建複製日誌以及談論內存模型中的最終一致性時,談論發佈/弱一致性是沒有意義的。
就傳統的關係數據庫而言,它使我更加困惑。由於在ACID模型中,一致性似乎意味着不同的概念。它只需要在事務之後,數據庫應該處於有效/一致的狀態。但是,ACID的隔離部分聽起來更像一致性模型,特別是順序一致性模型。
我在這裏誤解了什麼嗎?或電腦的人只是喜歡濫用術語和混亂的人...
如果我錯了,請糾正我,即使它只是非常小的細節。我真的很想正確理解這些概念。謝謝你:)
不要混淆Dynamo和DynamoDB,前者是EC模型的示例(請參閱「Dynamo:Amazon的高可用性關鍵值存儲」論文),後者是使用類似名稱的SC解決方案。 – rystsov
@rystsov感謝您指出 –