sql >> データベース >  >> NoSQL >> MongoDB

Javaドライバーを使用してMongoDBのスキーマ変更を処理する適切な方法

    正直なところ、あなたはすでに最も簡単な答えをほのめかしていると思います。

    まず、データアクセス層を更新して、新しいスキーマと古いスキーマの両方を処理します。挿入と更新は、同期を維持するために、新しいスキーマと古いスキーマの両方を更新する必要があります。クエリは、この時点でレコードのソースである古いスキーマのみを確認する必要があります。

    次に、すべてのデータを古いスキーマから新しいスキーマにコピーします。

    次に、データアクセスを更新して、新しいデータをクエリします。これにより、古いデータは最新の状態に保たれますが、2つのデータセットが同期しなくなるような変更を加える前に、新しいデータを完全にテストできます。また、ローリングアップデートを容易にするのにも役立ちます(つまり、新旧両方のデータアクセスコードを持つアプリケーションは引き続き同時に機能します。

    最後に、データアクセス層を更新して、新しいスキーマにのみアクセスし、古いデータを削除します。

    この最終段階を除いて、問題が発生した場合はいつでも前のバージョンにロールバックできます。




    1. CakePHP3.xでのMongoDB構成

    2. NoSQLデータベースの戦い-MongoDBとCouchDBの比較

    3. Django+1.10をMongoDBに接続する

    4. 一部のOSでは、文字列をバッファとして再保存しますか?