монго TTL для большой коллекции

#mongodb #indexing #ttl

#mongodb #индексирование #ttl

Вопрос:

  • привет, у меня есть коллекция mongodb объемом 30 гб (самая старая запись от 2019-09-11 13:50:00.034Z) в наборе реплик mongo, и я хочу создать индекс ttl для is. этот процесс займет слишком много времени, может ЧТО-НИБУДЬ ПОВРЕДИТЬ? ИЛИ лучше удалить НЕКОТОРЫЕ ДАННЫЕ ВРУЧНУЮ перед созданием индекса ttl?

Ответ №1:

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

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

Комментарии:

1. у меня уже есть индекс по этому временному ключу, я просто хочу добавить TTL к этому, так что лучше удалить раньше или просто добавить TTL?

2. Я бы сначала добавил новый индекс.

3. хорошо, спасибо и монго отметьте для удаления документов или удалите напрямую?

4. TTL worker будет запускаться каждые 60 секунд и удалять все документы с истекшим сроком действия. Если в вашем первом пакете будет много гигабайт документов для удаления, вы можете ожидать, что это окажет заметное влияние на производительность. Я бы сначала удалил их небольшими партиями.