Какие есть варианты миграции / обновления схемы MongoDB?
У нас (моих коллег и меня) довольно большая (~ 100 миллионов записей) коллекция MongoDB. Эта коллекция отображается (ORM'd) в объект Scala lift-mongodb, который прошел ряд различных итераций. У нас есть все виды кода, который обрабатывает пропущенные поля, переименования, удаления, миграции и т. Д.
Столько всего, что «без схемы» может быть приятным и гибким, в этом случае это вызывает много беспорядка кода, поскольку наш объект продолжает развиваться. Продолжать движение по этому «гибкому объекту» просто невозможно.
Как вы, ребята, реализовали миграцию / обновление схемы в MongoDB с помощью Scala? Существует ли основа для этого? Я знаю, что Foursquare использует Scala с MongoDB и Rogue (их собственные запросы DSL) ... кто-нибудь знает, как они справляются со своими миграциями?
Спасибо.