2011-01-27 27 views

回答

3

兩個C'S立場一致,但在CAP一致性的概念是指「所有節點同時看到相同的數據「和ACID中的一致性概念意味着」數據庫執行的任何事務將從一個一致的狀態到另一個狀態「。 (維基百科)

1

沒有原子性,你幾乎不可能具有有意義的一致性。這就是爲什麼CAP定理以這種方式定義C的原因。想象一下這個簡單的場景:

有一個數據庫有兩個帳戶。我們沒有錢進入數據庫。只是兩個賬戶上的錢。在數據庫中,資金在一個賬戶與另一個賬戶之間移動。

沒有原子性,用戶可以讀取數據,當錢從一個賬戶中扣除,但尚未被寫入另一個賬戶。在這種情況下,這兩個賬戶的總數將隨讀數而變化,這應該是不可能的,因爲「新」錢不會離開或進入數據庫。

以任何其他方式談論一致性就像思考一個Java布爾「幾乎」爲真,而世界其他地方將其視爲假。

+1

順便說一句,除了上面我回答的內容,當你在這裏談論諸如「最終一致性」等其他類型的「一致性」時,請大聲呼籲皇帝是赤裸的。讓客戶解釋爲什麼報告爲那些希望將問題「重新命名」的開發者誤讀了數量的尷尬。有時候,事實是簡單而苛刻的。引入了新的「一致性」類型,因爲一致性不會水平擴展,縮放也不是時髦的。不幸的是(或幸運的),自然界,數學和物理學往往不尊重人類的時尚(問伽利略的敵人)。 – 2012-10-15 21:02:03

相關問題