Ищете очень чистый и дешевый способ избавиться от старых данных и вернуть дисковое пространство обратно в ОС без боли.MongoDB: Разделите большой набор данных самостоятельно?
Я хранил данные выборки (отметка времени + связка свойств). Много. Каждый образец представляет собой единый документ, и коллекция становится огромной.
Обрезанные коллекции не могут быть и речи, потому что мне нужно хранить данные на основе временного диапазона, а не на размере, которое требуется. Коллекции TTL не хороши из-за пространства, требуемого индексом TTL, оно может расти смехотворно большим. Sharding отсутствует по другим причинам.
Так что я думал о том, чтобы разделить все это на себя. Я бы хранил разделы данных (например, еженедельные объемы) отдельно. Каждую неделю я просто начинаю новый раздел. Кроме того, каждую неделю я бы бросил старые «разделы». Жестокий и простой. Я удаляю большое количество проиндексированных данных, поэтому вместо удаления документов удаляется капля.
Вопрос в том, что я должен использовать для «раздела»? Коллекции или база данных? Технически я мог бы пойти в любом случае, приложение основано на Java, я мог бы легко управлять набором коллекций или баз данных.
Моя забота о падении коллекций заключается в том, что у mongodb возникла проблема с возвратом дискового пространства обратно в ОС. Затем он пытается его повторно использовать, могут быть проблемы с фрагментацией, нужно делать repair() .. и тому подобное.
Будут ли базы данных быть более эффективными?
Опять же, мне нужен наименее разрушительный способ избавиться от паролей terra старых данных, продолжая накачивать новые данные. Если у вас есть опыт работы с любым из этих подходов, поделитесь им.
спасибо, это то, что я хотел услышать, что отбрасывающая коллекция не восстанавливает дисковое пространство при удалении базы данных. – Dima