我想知道使用 ArangoDB 执行此操作的最佳方法是什么,我开始使用事务,或者使用修订检查更新它的记录,但是对于许多并发更新来说并不是很好。
在新版本 2.1 中,我看到我可以在服务器中注册函数以每隔 X 时间执行一次,因为我将原始数据保存很长时间,我可以使用一个服务器任务异步计算它,但它给出了更多的延迟到柜台。
还有其他方法吗?
谢谢,
迭戈·古莱布
我想知道使用 ArangoDB 执行此操作的最佳方法是什么,我开始使用事务,或者使用修订检查更新它的记录,但是对于许多并发更新来说并不是很好。
在新版本 2.1 中,我看到我可以在服务器中注册函数以每隔 X 时间执行一次,因为我将原始数据保存很长时间,我可以使用一个服务器任务异步计算它,但它给出了更多的延迟到柜台。
还有其他方法吗?
谢谢,
迭戈·古莱布
目前至少有三种方法可以增加计数器:
备选方案 1 将需要至少 2 个 HTTP 调用(获取 + 更新),并且您将需要针对并发更新的情况进行错误处理。所以它不是很有用。
从客户的角度来看,我认为备选方案 2 将是最容易使用的。它允许通过 REST API 公开“增加计数器”操作,并且可以在原子事务中实现获取和更新。
如果您能负担得起稍微过时的计数器,替代方案 3 也将起作用。实施时,它应该以增量方式实施,例如通过保持计数器的总数并在每次更新任务执行时仅添加新值。否则,您的“计数器操作”集合将无限增长,并且更新将变得越来越慢。备选方案#3 还有一个优点是您可以保留最近操作的(小)日志,例如用于审计。