“原子节”在Ruby中MongoDB的驱动程序?
-
25-09-2019 - |
题
是否有执行一组的MongoDB服务器(使用Ruby驱动程序)上非原子的行动作为单一原子作用的方法吗?我所需要的基本上是对某些对象/收集的锁。
解决方案
有没有办法做到这一点的Ruby驱动程序,因为没有办法做到这一点在MongoDB中。蒙戈只支持单文档原子操作。所以基本上插入,更新或单个文件的删除是在多个文档自动完成的,但不能操作。
您可能能够通过伪造尝试手动“回退”,如果出现错误的交易。回滚在这种情况下将替换之前的值进行任何更改。但是,这会手动和没有ACID保证,你会从最SQL服务器获得。
其他提示
由于您可以对单个文件的原子操作,也有办法来模拟你想要什么。请参阅这篇文章:
http://kylebanker.com/blog/2010/06 / 07 / mongodb的库存-交易/
而对于一些想法有背后的原理,看到这一个:
http://www.eaipatterns.com/docs/IEEE_Software_Design_2PC.pdf
不隶属于 StackOverflow