Как оценить увеличение размера данных после создания нового индекса диапазона в MarkLogic? - PullRequest
0 голосов
/ 07 декабря 2018

Я хочу создать новый индекс диапазона элементов в моей базе данных ML.Как я могу оценить размер этого нового индекса?Я использую ML 8.0-3.2.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Ключевые данные хранятся в MARKLOGIC_DATA_DIR (зависит от вашей установки) в подкаталоге Forests/<Forest Name>/ вместе с неключевыми данными.Ключевые и неключевые данные являются зависимыми.Если вы намерены оценить, сколько дополнительного дискового пространства потребуется, если вы добавите новый индекс, возьмите размер всех каталогов лесов для вашей базы данных без этого индекса, затем добавьте индекс и вычтите.

Да, я знаю, что это не похоже на «оценку».Все остальное - грубое предположение.

Для «грубого предположения» - «это зависит» - и любое предположение следует нормализовать, попробовав его.В основном типичный размер текстового индекса соответствует the number of distinct terms * 8 * num-docs-that-have-that-term.

Каждая запись индекса будет содержать как минимум одно 64-битное значение для каждого документа, содержащего этот термин.Кроме того, он (возможно, совместно с другими индексами) будет хранить закодированную версию этого термина.

Это «грубое предположение» может быть отключено в 10 раз или более - в зависимости от вида индекса и распределения данных,сжатие, шифрование и т. д. Следовательно, вы должны действительно сравнивать до и после индексации похожих индексов.

0 голосов
/ 07 декабря 2018

Лучше всего выполнить тест на репрезентативной выборке данных, а затем экстраполировать.

Строковые индексы совместно используют уникальные значения и уникальные токены в пределах подставки, поэтому размер будет сильно зависеть от количества различных значений, и это сложно предварительно вычислить.

Для других типов данныхРазмер зависит от количества фактических значений в контенте.Если бы вы знали, что в среднем на один документ и N документов приходилось k значений, вы бы ожидали около 8*N*k байт или 16*N*k байт, если у вас включены позиции.Индексы с плавающей точкой - половина этого размера;Точечные индексы двойные, если вы используете двойную точность.

...