У нас есть распределенная/общая база данных mongo (от 5 до 6 реплик). Я хочу создать резервную копию данных огромных таблиц, если они старше 1 года (т.е.). И удалить после резервного копирования. (Я не хочу потери данных, поэтому я не хочу полностью удалять коллекцию) Исходной коллекцией является customer (т.е. целевой коллекцией является customer_archive).
Примечание. Архивные данные не должны теряться и не должны дублироваться в архивных данных. Я предположил, что нам нужен механизм слияния/улучшения. Но не знаю, как лучше сделать.
- каков наиболее эффективный способ архивирования более 200-300 ГБ данных (т.е.) (миллионы данных каждый день, я имею в виду быстрый рост, поэтому запросы становятся сложными и производительными)
- Коллекция архивов может находиться в другой базе данных, как написать скрипт?
- Как я могу запланировать этот скрипт ежемесячно/ежедневно?
- Как бы вы это сделали, если резервная копия будет другой базой данных (я думал, сначала экспортировать и переместить в другую базу данных)
Моя точка зрения заключалась в том, чтобы сначала взять коллекцию дампов под другим именем. И копируйте и удаляйте ежегодные данные массово Вставляйте/массовое удаление (прочитайте каждые 10 000 foreach commit). Некоторые не рекомендуют foreach для повышения эффективности, но я предполагаю, что это единственный способ частичного удаления. Я не знаю, смогу ли я создать пакетный файл, поэтому я могу поделиться им с нашей командой BT для планирования задач.