在MarkLogic中创建新的范围索引后,如何估算数据大小的增加?

时间:2018-12-07 08:06:56

标签: marklogic marklogic-8 marklogic-9 marklogic-7

我想在我的ML数据库中创建一个新的元素范围索引。我如何估计这个新索引的大小?我正在使用ML 8.0-3.2。

2 个答案:

答案 0 :(得分:2)

最好的办法是对代表性数据样本进行测试,然后推断。

字符串索引在一个看台中共享唯一值和唯一令牌,因此大小将高度依赖于不同值的数量,因此很难对其进行预先计算。

对于其他数据类型,大小取决于内容中实际值的数量。如果您知道每个文档和N个文档平均有k个值,那么您期望打开位置约8*N*k个字节或16*N*k个字节。浮动指数是这个大小的一半;如果使用双精度,则点索引是双精度的。

答案 1 :(得分:0)

关键数据与非关键数据一起存储在子目录Forests/<Forest Name>/的MARKLOGIC_DATA_DIR中(取决于您的安装)。 关键数据和非关键数据是相关的。如果您要估计添加新索引将占用多少磁盘空间,请为没有该索引的数据库获取所有目录林目录的大小,然后添加索引并减去。

是的,我知道这听起来不像是“估计”。还有什么是一个大概的猜测。

对于“粗略猜测”(取决于),任何猜测都应通过尝试将其标准化。 基本上,典型的文本索引大小对应于the number of distinct terms * 8 * num-docs-that-have-that-term

每个索引条目将为每个包含该术语的文档至少包含一个64位值。另外,它将(可能与其他索引共享)存储该术语的编码版本。

此“粗略猜测”可能相差10倍或更多倍-取决于索引的类型和数据的分布,压缩和加密等。因此,在对相似索引进行索引之前和之后,您应该进行比较。