我是MongoDB的初学者,但上周在网上阅读了很多内容。我得到的是MongoDB不遵循ACID原则 在真正意义上,我们可以说MongoDB在文档级别符合ACID标准。
现在我的问题是为什么MongoDB不遵循 跨文档/集合的酸性属性,如关系型。我的意思是故意不跟随它们或存在某些技术限制。如果是故意的 那么为什么以及以牺牲ACID牺牲为代价获得的额外MonngoDb?
原子性: - 为什么Mongo可以保持文档的原子性。如果是故意牺牲,那么在牺牲原子性的情况下,MongoDB的额外成就是什么呢?
一致性: - 我并不在乎,因为我可以在app层实现它,而且不需要太多努力
隔离: - Mongo隔离模型类似于关系数据库的自动提交事务。它内部意味着交易可以包含 一个将自动提交的DML语句。为什么它不能支持在单个go中然后获取的事务中的多个语句 对其他交易可见
持久: - 在关系数据库中,如果触发了提交,不幸的是系统崩溃。一旦它恢复,Oracle可以恢复,但为什么Mongo不能像我相信的那样 两者都实现了提前写日志。