Чистая весенняя партия метаданных mongodb - PullRequest
0 голосов
/ 30 января 2020

Я использую Spring Batch MongoDB API . Чтобы освободить место в моем MongoDB, я решил очистить метаданные выполнения задания, удалив любые данные старше двух месяцев из следующих коллекций: - JobInstance - JobExecution - ExecutionContext - StepExecution

Есть ли какие-либо способ сделать это с помощью Spring Batch, или я должен просто создать Dao и массово удалить старые данные каждой коллекции.

Ответы [ 2 ]

1 голос
/ 31 января 2020

Вы можете установить Индексы TTL для указанных коллекций (с пн go Оболочка).

Если вам нужно освободить место на диске (работает только WiredTiger), вы можете использовать compact команда (compact требует dbAdmin привилегий) [Удаление коллекции также восстанавливает пространство из MongoDB].

С помощью команды collStats вы можете проверить, сколько места вы можете вернуть от MongoDB

1 голос
/ 31 января 2020

Есть ли способ сделать это с помощью Spring Batch, или я должен просто создать Dao и массово удалить старые данные каждой коллекции.

Spring Batch не предоставляет этот OOTB, поэтому вам нужно сделать это самостоятельно (например, с помощью задания Spring Batch ;-)). Я не знаком с реализацией репозитория заданий MongoDB, которой вы поделились (определение коллекции, отношения между ними и т. Д. c), но вот несколько полезных ссылок, которые могут вам помочь:

...