1

我们的要求是在多个 MarkLogic 数据库上执行 MarkLogic 搜索功能。我们有两个版本的 Marklogic 7 和 8。这个需求有两个场景:

  1. 数据库在一台 MarkLogic 服务器上可用。

    在这种情况下,我们要实现 xdmp:eval()、xdmp:spawn() 和 MarkLogic 的超级数据库和子数据库概念。但是,我们不确定哪一个是完美的。

  2. 数据库在不同的 MarkLogic 服务器上可用。

    我们不确定在这种情况下要实施什么。但是,我们正在探索 Hadoop 和 MarkLogic 的灵活复制。

请研究这些场景并分享您的最佳想法,以便我们能够朝着正确的方向前进。

4

1 回答 1

1

如上所述,可能值得退后一步,并讨论这是否有必要。MarkLogic 可以很好地处理混合内容。拥有多个数据库可能会使架构过于复杂。

也就是说,从我的脑海中,关于您的问题的一些考虑:

  • MarkLogic 数据库不局限于单个服务器,而是集群。
  • 您可以使用数据库复制或 Flex-Rep 在集群之间同步数据库。
  • xdmp:eval/spawn 需要开销,并且是一个潜在的安全漏洞(例如使用放大器)。
  • 超级/子数据库需要较少的开销,但请记住,跨超级数据库的范围查询将需要在包含的所有数据库中定义匹配的范围索引。
  • 确保跨超级数据库的数据库 uri 唯一性需要付出额外的努力。

于 2016-10-07T09:33:42.243 回答