在默认的“已确认”写入关注模式下使用 MongoDB(通过 PyMongo),如果我有一行写入数据库(例如,输出新集合的 mapReduce)后跟一行读取从数据库中,读取将始终看到写入的更改?
此外,对于所有比“已确认”(即“已记录”和“已确认副本”)更严格的写入问题,上述情况是否正确,但在“未确认”的情况下是否正确?
最佳答案
如果写入已被确认,则它应该已经写入内存,因此任何后续查询都应该获得当前数据。如果您有一个副本集并允许从辅助节点读取,这将不起作用。
日志写入被写入磁盘上的日志文件,在电源/硬件故障等情况下保护您的数据。这不应该对一致性产生影响,一旦数据在内存中,一致性就会被覆盖。
写关注中的任何副本配置都将确保写入需要被副本集中的大多数/所有节点确认。这只会在您从副本读取或保护您的数据免受无法访问/死服务器的影响时产生影响。
关于mongodb - 确认对 MongoDB 公认的写关注的基本理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25368548/