Поскольку база данных nosql может содержать огромные объемы данных, вы не можете перенести ее в обычном режиме rdbms. На самом деле вы не можете сделать это для rdbms, как только ваши данные пройдут некоторый порог размера. Непрактично останавливать свой сайт на день, чтобы добавить поле в существующую таблицу, и поэтому с rdbms вы в конечном итоге делаете уродливые исправления, такие как добавление новых таблиц только для поля и выполнение объединений для доступа к данным. В мире nosql вы можете делать несколько вещей.
Одним из предполагаемых преимуществ этих баз данных является то, что они не имеют схем и поэтому не нуждаются в инструментах миграции схем. Вместо этого вы пишете код для работы с данными, чтобы иметь дело с разнообразием данных, хранящихся в db.
.Если ваши данные достаточно большие, вы, вероятно, обнаружите, что вы не можете EVER перенести данные, или что это не выгодно. Это означает, что когда вы вносите изменения в схему, код должен навсегда оставаться обратно совместимым со старыми форматами.
Конечно, если ваши данные "стареют" и в конце концов истекают, это может сделать миграцию схемы за вас - просто измените формат для вновь добавленных данных, затем дождитесь окончания срока годности всех данных в старом формате - затем вы можете отозвать код обратной совместимости.
.Когда проект нуждается в миграции схемы в отношении базы данных NoSQL, я думаю, что вы все еще думаете в манере реляционной базы данных, но используете базу данных NoSQL.
Если кто-то собирается начать работать с базами данных NoSQL, вы должны понимать, что большинство «правил» для РСУБД (т.е. MySQL) также должны быть выброшены в окно. Такие вещи, как строгие схемы, нормализация, использование множества связей между объектами. NoSQL существует для решения проблем, которые не нуждаются во всех дополнительных «функциях», предоставляемых РСУБД.
Я бы настоятельно рекомендовал вам написать свой код таким образом, чтобы не ожидать или не нуждаться в жесткой схеме для вашей базы данных NoSQL - вы должны поддерживать старую схему и конвертировать запись документа на лету при доступе, если вы действительно хотите больше полей схемы в этой записи.
Пожалуйста, имейте в виду, что хранилище NoSQL работает лучше всего, когда вы думаете и проектируете иначе, чем при использовании РСУБД