mongodb在CAP定理中站在哪里?
在我看来,我看到MongoDB是CP。 但是当我深入挖掘时,我发现它最终是一致的。 当你使用safe = true时,它是CP吗? 如果是这样,这是否意味着当我用safe = true编写时,所有副本都会在得到结果之前更新?
MongoDB在默认情况下是非常一致的 - 如果您执行写操作然后执行读操作,假设写操作成功,您将始终能够读取刚刚读取的写操作的结果。 这是因为MongoDB是一个单主系统,默认情况下所有读取都会转到主系统。 如果您可以选择启用从辅助文件读取数据,那么MongoDB最终会在读取过时结果的地方变得一致。
通过副本集中的自动故障转移,MongoDB也获得高可用性:http://www.mongodb.org/display/DOCS/Replica+Sets
这应该有助于回答这个问题,以及其他NoSQL和其他持久性存储系统。
作为一篇出色的新文章,Kyle在这个领域也进行了一些非常棒的实验,在将MongoDB和其他数据库标记为C或A时应该小心。
当然,CAP可以帮助追踪数据库中关于它的优势,但人们经常会忘记CAP中的C意味着原子一致性(线性化)。 这使我在尝试分类时很难理解。 因此,除了MongoDB提供了强大的一致性外,这并不意味着这就是C.这样,如果我们进行这样的分类,我建议也要更深入地了解它的实际工作方式,以免留下疑虑。
链接地址: http://www.djcxy.com/p/15147.html上一篇: Where does mongodb stand in the CAP theorem?
下一篇: In GCC, Clang and MSVC is there any way to conform against C++98 and not C++03?