在Marklogic中启用CPF

在Marklogic中启用CPF,marklogic,Marklogic,我想了解在Marklogic 4.2.9服务器上启用CPF内容处理框架的影响。 我们有一个3TB大小的生产数据库,我们正在研究各种内容充实和内容删除任务,这些任务需要执行多个操作。 我在以前的项目中曾致力于创建CFP管道,但在我当前的项目中,DB目前已禁用CPF。我想了解的是, 当/如果我们在该数据库上启用CPF,会对 1.标记逻辑内存使用 2.磁盘空间 3.整体表现 4.木卫一等 我们试图创建的管道将影响数据库中现有的所有/任何文档 谢谢你的帮助 如果您已经启用了维护上次修改的,则对内存和磁盘

我想了解在Marklogic 4.2.9服务器上启用CPF内容处理框架的影响。 我们有一个3TB大小的生产数据库,我们正在研究各种内容充实和内容删除任务,这些任务需要执行多个操作。 我在以前的项目中曾致力于创建CFP管道,但在我当前的项目中,DB目前已禁用CPF。我想了解的是, 当/如果我们在该数据库上启用CPF,会对 1.标记逻辑内存使用 2.磁盘空间 3.整体表现 4.木卫一等 我们试图创建的管道将影响数据库中现有的所有/任何文档


谢谢你的帮助

如果您已经启用了
维护上次修改的
,则对内存和磁盘空间的影响最小。如果禁用了“维护上次修改的”
,CPF将在触摸文档时创建新的属性片段。因此,您可以期望使用额外的内存和磁盘空间,每个文档大约100-B的内存和1-kB的磁盘空间。额外的片段也可能会对I/O和整体性能产生影响,但预测其范围需要对应用程序及其查询有更深入的了解。

我认为@mblakele很好地涵盖了对mem和磁盘的影响。但我想补充几句关于CPF是如何工作的。这可能有助于了解CPF通常如何影响绩效

CPF依赖于MarkLogic的触发机制。任何文档插入、更新和删除都会激活CPF处理,并进行初始状态转换。每个操作都会导致额外的状态转换。每个状态转换都涉及一个post-commit触发器的执行,调用一些CPF内部代码来执行实际操作模块的xdmp:invoke。因此,如果您有一个事务插入100个文档,这将导致100个提交后任务在任务服务器队列中排队等待启动者。我担心xdmp:invokes会导致另外100个任务排队。如果文档平均遍历三种状态,则该数字至少会乘以三

换句话说,CPF对任务服务器队列有很大的影响。实际影响性能的程度可能取决于您使用任务服务器的程度。任务服务器上的任何非CPF任务都将被CPF任务延迟。另一方面,如果您目前没有真正使用任务服务器,您可能不会注意到这一点。应用服务器请求在应用服务器队列上运行,该队列单独处理

另一件事是CPF单独处理文档。这是缓慢而有弹性的后台处理的理想选择。但如果需要速度,最好为成批文档创建事务