MarkLogic - Как узнать размер базы данных, размер индекса, общие индексы

Мы используем MarkLogic 9.0.8.2

Мы настроили кластер MarkLogic, проглотили около 18 миллионов XML-документов, создали несколько индексов, таких как Fields, PathRange и так далее.

Теперь при настройке другой среды с конфигурацией, индексами, таким же количеством записей, но я не могу понять, почему общий размер на странице состояния базы данных отличается от предыдущей среды.

Итак, я начал сравнивать страницу состояния базы данных обоих кластеров, где я могу увидеть размер каждого леса/леса-реплики и все такое.

Итак, в этом случае я хотел бы знать размер для каждого

  • База данных
  • Показатель

Также хотелось бы знать (вместо того, чтобы расширять каждый через интерфейс администратора) общие индексы в данной базе данных.

Опция в интерфейсе администратора ИЛИ через xQuery также подойдет.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
1
0
467
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

MarkLogic не разбивает размеры индексов отдельно от размера базы данных. Одна из причин этого заключается в том, что данные хранятся вместе с Универсальный индекс.

Вы можете приблизить размер других индексов, создавая их по одному и проверяя размер до и после запуска переиндексатора, а удаленные фрагменты — объединены. Обычно мы не находим особых преимуществ в попытках определить точные размеры индексов, поскольку преимущества, которые они обеспечивают, обычно перевешивают стоимость хранения.

Трудно сказать точно, почему существует несоответствие размеров. Одной из распространенных причин может быть количество удаленных фрагментов в каждой базе данных. Удаленные фрагменты — это части данных, которые были помечено на удаление (обычно из-за обновления, удаления или другого изменения). Удаленные фрагменты будут продолжать занимать место в базе данных до тех пор, пока они не будут объединены. Это происходит по умолчанию или может быть запущено вручную на уровне леса или базы данных.

Размер базы данных и настроенные индексы можно определить с помощью пользовательского интерфейса администратора, консоли запросов (QConsole) или конечных точек MarkLogic REST Management API (RMA). QConsole поддерживает ряд языков, но наиболее распространенными являются серверный Javascript и XQuery. RMA может возвращать результаты в формате XML или JSON.

Размер базы данных:

Настроенные индексы:

for $db-id in xdmp:databases()
let $db-name := xdmp:database-name($db-id)
let $db-size :=
  fn:sum(
    for $f-id in xdmp:database-forests($db-id)
    let $f-status := xdmp:forest-status($f-id)
    let $space := $f-status/forest:device-space
    let $f-name := $f-status/forest:forest-name
    let $f-size :=
      fn:sum(
        for $stand in $f-status/forest:stands/forest:stand
        let $stand-size := $stand/forest:disk-size/fn:data(.)
        return $space
      )
    return $f-size
  )
order by $db-size descending
return $db-name || " = " || $db-size

Другие вопросы по теме