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

MongoDBアプリケーションのアップグレードをテストする方法は?

    アプリケーションデータベースとしてMongoDBを選択しました。おそらく、データベースにはすでに多くの本番データがあります。次に、アプリケーションに大きな変更を加える必要があります。アプリケーションの新しいバージョンが本番データと適切に動作することを確認するために、どのようにテストを行いますか?

    本番データは常にテストデータよりも無限に多様であり、より多くのエッジケースを実行するため、より多くのバグが発生します。ポリシー、プライバシー、セキュリティの問題があるため、本番データをテスト環境にエクスポートすることはお勧めしません。一方、本番環境のバグを特定してテストすることは、かなり困難で費用がかかります。では、アプリケーションの新しいバージョンが本番データで適切に機能することをどのように確認しますか? ScaleGridで推奨するものは次のとおりです:

    MongoDBを本番環境にアップグレードするための4つのステップ

    1. 安全第一

      私たちの最初の関心事は、本番データの安全性とセキュリティです。そのため、本番データをステージング環境またはテスト環境にエクスポートすることはありません。私たちが持っているのは「疑似本番」です。これは本番と同じ環境であり、本番と同じサイズ、同じセキュリティ制限があります。ただし、これは一時的なものであり、テスト期間中のみ存続します。

    2. 本番環境のMongoDBクラスターのクローンを作成する

      ScaleGridの「クローン」機能を使用して、本番データベースのポイントインタイムクローンを作成します。 AWSのようなクラウドでは、クローン機能はEBSスナップショットを使用するため、クローン操作は本番データベースにほとんどまたはまったく影響を与えません。これにより、本番環境と同じ機能(同じデータ、同じマシンサイズ、同じセキュリティ、同じクラスター構成など)を備えた「疑似本番環境」のデータベース環境が実現します。

    3. 広範なテストを実行する

      新しいバージョンのアプリケーションでデータに問題が発生しないことを確認するために、一連の広範なテストを実行します。満足したら、「疑似本番」環境を破棄します。

    4. 本番環境をアップグレードする

      テストに満足したら、本番環境でアプリケーションをアップグレードします。機能によっては、一部のお客様のみをアップグレードすることもできます。別名、A/Bテストです。

    では、MongoDBを使用したアプリケーションのアップグレードのテストで他にどのような問題がありますか?共有したいツール、テクニック、提案はありますか?ご連絡をお待ちしております。


    1. mongodbObjectIdの作成時間に使用

    2. フィールドに文字列が含まれているかどうかの確認

    3. ノードドライバーを使用して、ホスト間でMongodbのデータベースをクローンします

    4. MongoDBネストOR/ANDどこ?