![](/img/trans.png)
[英]In Python, how do I create an edge collection and document for an arangodb?
[英]How can I do an atomic operation to a document field in ArangoDB?
我想知道哪种最好的方式是使用ArangoDB做到这一点,我开始使用事务,或者使用修订检查来更新记录,但是对于许多并发更新来说,效果不是很好。
在新版本2.1中,我看到我可以在服务器中注册函数以每X的时间执行一次,因为我要长时间保留原始数据,因此我可以使用一个服务器任务将其异步计数,但是它可以计数器的等待时间更长。
还有其他方法吗?
谢谢,
迭戈·格莱布
目前,至少有三种方法可以增加计数器:
备选方案1将至少需要2个HTTP调用(提取+更新),并且对于并发更新,您将需要错误处理。 所以它不是很有用。
从客户的角度来看,备选方案2将是最容易使用的。 它允许通过REST API公开“增加计数器”操作,并且获取和更新可以在原子事务中实现。
如果您可以负担得起一些过时的计数器,则备选方案3也将起作用。 在实施时,应以增量方式实施,例如,通过保留计数器的总数并在每次更新任务执行时仅添加新值。 否则,您的“计数器操作”集合将无限增长,并且更新速度将越来越慢。 备选方案3的优势还在于,您可以保留(少量)近期操作的日志,例如用于审核。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.