0

使用什么算法为 xdmp:document-insert() 选择森林以及哪些因素会影响文档在森林中的分布?

我看到 xdmp:document-insert 没有平均分配文档。我尝试将 cts:uris 的输出传递给 xdmp:document-assign,然后使用 key=forest-name 和 value=uris 计数填充地图。

让 $index := xdmp:document-assign($uri,$forests-count) 让 $forest-name := xdmp:forest-name($forests[$index])

当 $forests-count 较低时,文档在森林之间也保持平衡,但如果不是。森林的数量很高(~ 50),这使得 uri 分布不均匀。

4

1 回答 1

1

该算法使用 64 位散列,因此它有足够的地址空间用于 50 多个森林。部署了数百个森林的集群,可能有数千个。对于我使用的集群,文档数量通常在平均值的 10% 以内。这已经足够统一了,因为大多数森林作业都是O(log n).

当 URI 本身均匀分布时,放置往往效果最好。例如,作为序列号的 URI 可能会更多地聚集在一起。

于 2012-11-02T20:58:05.880 回答