gpt4 book ai didi

mongodb - 为什么 MongoDB 中的事务必须使用副本集?

转载 作者:行者123 更新时间:2023-12-04 13:12:14 31 4
gpt4 key购买 nike

根据 MongoDB 文档,事务仅适用于副本集,不适用于单个节点。为什么会有这样的要求?在单个节点而不是分布式系统上做交易不是更容易吗?

最佳答案

事务的实现使用 session ,而 session 又需要一个操作日志。 Oplog由副本集提供,用于节点间的数据同步。

Isn't it is easier to do transaction stuff on a single node rather than a distributed system?

这是事实,但在实践中,MongoDB 将自己定位为高可用性数据库,因此使用独立服务器的生产部署相当少(据我所知,这甚至不是 Atlas 中的一个选项,例如)。因此,独立服务器上缺乏事务支持通常不会影响任何事情。

相反,在独立服务器上实现事务无法满足绝大多数使用副本集和分片集群的 MongoDB 部署/客户的需求。

出于开发目的,您可以运行单节点副本集,它为您提供 session 和事务所需的操作日志,但仍然只有一个 mongod 进程。

关于mongodb - 为什么 MongoDB 中的事务必须使用副本集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64021736/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com