MarkLogic - 使用触发器的替代方法
MarkLogic - Alternatives to using triggers
MarkLogic 版本:9.0-6.2
我们有一个客户集合和一个实时更新每个客户文档的 PUT/POST API。
根据需要,当一个客户phone号更新时,我们有时需要更新其他相关客户的文件。为了 PUT/POST API 的更好响应时间,我们希望更新进行更改的文档并 return 对调用者的成功响应,然后更新所有其他受影响的文档客户文件。我们的第一个想法是使用触发器,但来自 relational/RDBMS 的背景,我们正在寻找任何更好的替代方案来实现同样的目标。除了使用触发器还有其他选择吗?
提前致谢!
如果您有处理 PUT/POST 的自定义代码,或者如果您能够对其进行修饰(例如,如果您使用的是内置 REST-api,则使用 REST 转换),您可能 extend/decorate 处理以包括任何其他需要完成的事情。
触发器是解决此问题的好方法。它们基本上有两种口味:
- 预提交
- post-提交
预提交导致请求等待触发代码完全完成。
post-commit 导致触发代码在任务服务器队列中产生,因此可能需要更多时间才能完成,并且不会导致调用者延迟。
有两个构建在触发器之上的框架:
根据需要完成的工作量或工作种类,您可能会对这些内容感兴趣。 CPF 非常擅长以非常稳健但缓慢的方式执行许多处理步骤。
Alerting 结合了MarkLogic 的反向查询功能来决定是否应该应用以及应该应用哪些警报规则(可以附加到哪些操作代码)。例如,如果您想监视特定关键字的传入消息,这非常有用。
HTH!
MarkLogic 版本:9.0-6.2
我们有一个客户集合和一个实时更新每个客户文档的 PUT/POST API。
根据需要,当一个客户phone号更新时,我们有时需要更新其他相关客户的文件。为了 PUT/POST API 的更好响应时间,我们希望更新进行更改的文档并 return 对调用者的成功响应,然后更新所有其他受影响的文档客户文件。我们的第一个想法是使用触发器,但来自 relational/RDBMS 的背景,我们正在寻找任何更好的替代方案来实现同样的目标。除了使用触发器还有其他选择吗?
提前致谢!
如果您有处理 PUT/POST 的自定义代码,或者如果您能够对其进行修饰(例如,如果您使用的是内置 REST-api,则使用 REST 转换),您可能 extend/decorate 处理以包括任何其他需要完成的事情。
触发器是解决此问题的好方法。它们基本上有两种口味:
- 预提交
- post-提交
预提交导致请求等待触发代码完全完成。
post-commit 导致触发代码在任务服务器队列中产生,因此可能需要更多时间才能完成,并且不会导致调用者延迟。
有两个构建在触发器之上的框架:
根据需要完成的工作量或工作种类,您可能会对这些内容感兴趣。 CPF 非常擅长以非常稳健但缓慢的方式执行许多处理步骤。
Alerting 结合了MarkLogic 的反向查询功能来决定是否应该应用以及应该应用哪些警报规则(可以附加到哪些操作代码)。例如,如果您想监视特定关键字的传入消息,这非常有用。
HTH!