作者Longness (时光如枪)
看板Database
标题[系统] 请问MongoDB的eventual consistency
时间Mon Jun 27 10:47:36 2016
请问一下这个所谓的最终同步(不好意思可能不懂乱翻),
是不是指──
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的确可以透过配置,做到上述范例呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.51.165.168
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1466995659.A.E7B.html
※ 编辑: Longness (123.51.165.168), 06/27/2016 10:50:11
1F:→ linjrming: 我想你误解了这个词的意思,MongoDB在读写primary时是 06/27 15:09
2F:→ linjrming: consistent(一致的),而读取时Secondary时是 06/27 15:10
3F:→ linjrming: eventually consistent(最终一致) 06/27 15:11
4F:→ linjrming: 因为写入Secondary的延迟,所以可能读到过时的资料 06/27 15:11