[系統] 請問MongoDB的eventual consistency

作者: Longness (時光如槍)   2016-06-27 10:47:36
請問一下這個所謂的最終同步(不好意思可能不懂亂翻),
是不是指──
0. 原始DB的樣子
甲地 乙地
A A
B B
1. START!
甲地 乙地
A A
B B
(寫入C) (寫入D)
2. 寫完了
甲地 乙地
A A
B B
C D
3. 過了一陣子
甲地 乙地
(兩地自動互訪)
A A
B B
C →C
D← D
然後最終兩邊都會寫上ABCD四份文件
不過如果是這樣的話,我又看了一下官網文件
它說一組會自動同步的MongoDB,只能有一個Primary DB,其他的Secondary DB都是
read-only的,只有Primary能寫入、做到單向同步,從單台Primary → 各台Secondary。
請問一下我是誤解eventual consistency定義了嗎?
還是說MongoDB的確可以透過配置,做到上述範例呢?
作者: linjrming (風之信使)   2016-06-27 15:09:00
我想你誤解了這個詞的意思,MongoDB在讀寫primary時是consistent(一致的),而讀取時Secondary時是eventually consistent(最終一致)因為寫入Secondary的延遲,所以可能讀到過時的資料

Links booklink

Contact Us: admin [ a t ] ucptt.com