Я запускаю веб-приложение (keystonejs), используя mongodb 3.0 в качестве базы данных. Я клонировал веб-приложение и запустил второй экземпляр, используя версию 3.2 mongodb (в сгенерированной, но еще пустой базе данных). Теперь мне нужно передать данные из первой базы данных во вторую. Поскольку mongodb 3.2 использует другой механизм хранения по умолчанию, WiredTiger, клон использует его. Однако исходное приложение использует MMAPv1. Есть ли простой способ перенести данные, созданные MMAPv1, в WiredTiger?
перенести сгенерированные данные MMAPv1 в WiredTiger
comment
вот подробное описание миграции с репликацией - stackoverflow.com/questions/41960659/
- person Maksim Kudimov   schedule 07.02.2017
Ответы (2)
Создайте резервную копию базы данных на старом сервере с помощью mongodump
, восстановите ее обратно на новый с помощью mongorestore
, готово. Это довольно хорошо описано в документации.
https://docs.mongodb.org/manual/tutorial/change-standalone-wiredtiger/
person
Karl-Johan Sjögren
schedule
07.02.2016
Вы можете создать набор реплик и добавить в него новую машину. При этом у вас будут последние данные на новом сервере. После завершения репликации переключите новую машину на первичную и выключите старый сервер, если хотите. Таким образом, вы можете легко клонировать существующие данные в wiredTiger без потери данных или негативного воздействия на существующее приложение.
person
Saleem
schedule
07.02.2016
Это определенно вариант, который я рассмотрю в будущем. Спасибо, что поделились этим Салимом
- person Macs; 18.02.2016
Первоначальная синхронизация помещает таблицы в память, поэтому вам нужно достаточно памяти на новом компьютере, соответствующего размеру самой большой таблицы, иначе произойдет сбой.
- person Zaur; 23.09.2017