MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Właściwy sposób obsługi zmian schematu w MongoDB za pomocą sterownika java

Myślę, że uczciwie zasugerowałeś już najprostszą odpowiedź.

Najpierw zaktualizuj warstwę dostępu do danych, aby obsługiwać zarówno nowy, jak i stary schemat:wstawki i aktualizacje powinny aktualizować zarówno nowy, jak i stary, aby zachować synchronizację. Zapytania powinny dotyczyć tylko starego schematu, ponieważ w tym momencie jest on źródłem zapisu.

Następnie skopiuj wszystkie dane ze starego do nowego schematu.

Następnie zaktualizuj dostęp do danych, aby teraz wysyłać zapytania o nowe dane. Spowoduje to aktualizację starych danych, ale umożliwi pełne przetestowanie nowych danych przed wprowadzeniem jakichkolwiek zmian, które spowodują brak synchronizacji obu zestawów danych. Pomoże to również ułatwić ciągłe aktualizacje (tj. aplikacje z nowym i starym kodem dostępu do danych będą nadal działać w tym samym czasie.

Na koniec zaktualizuj warstwę dostępu do danych, aby uzyskać dostęp tylko do nowego schematu, a następnie usuń stare dane.

Poza tym ostatnim etapem zawsze możesz wrócić do poprzedniej wersji, jeśli napotkasz problemy.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jaka jest alternatywa dla wtyczki Elastic River-Mongodb obsługiwanej przez elasticsearch 2.2.0?

  2. Model.find().toArray() twierdzący, że nie ma metody .toArray()

  3. TypBłąd w metodzie statycznej modelu mangusty

  4. Serwer Mongo akceptuje dane uwierzytelniające z powłoki, ale nie z interfejsu Java/Scala

  5. Nie można utworzyć działającego projektu meteor.js na wędrującym pudełku