更新: MongoDB支持4.0版本的事务。
原题:
据我所知,MongoDB不支持事务,也没有实现这种支持的计划。原因是什么?
发布于 2013-08-04 13:06:30
没有事务是允许MongoDB具有可伸缩性的一种权衡。
事务的目的是确保整个数据库在进行多个操作时保持一致。但与大多数关系数据库相反,MongoDB并不是设计为在单个主机上运行的。它被设计成由多个碎片组成的集群,其中每个碎片是多个服务器的副本集(可选地位于不同的地理位置)。
事务可能会影响数据库的许多主机。这意味着事务必须在所有这些主机之间进行同步。这将意味着相当大的开销,如果通过添加更多的服务器来增加数据库的大小,则会非常糟糕。
MongoDB常见问题是这样解释的:
MongoDB不支持传统的带回滚的锁定或复杂事务。MongoDB的目标是轻量级、快速和可预测的性能。这类似于MySQL MyISAM自动提交模型。通过保持事务支持非常简单,MongoDB可以提供更高的性能,特别是对于具有多个数据库服务器进程的分区或复制系统。
https://stackoverflow.com/questions/18042255
复制相似问题