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

AzureでのMongoDBホスティングを改善するための5つのヒント

    Azureクラウドコンピューティングプラットフォームは、過去2年間で目まぐるしく改善されており、Microsoftが2010年に開始した元のプラットフォームとはほとんど似ていません。ScaleGridはその1つでした。 Azureをサポートする最も初期のMongoDBホスティングプラットフォームであり、Azureの進化に合わせて製品を進化させ続けています。

    Azureをしばらく使用している場合でも、MongoDBホスティングにAzureを使用し始めたばかりの場合でも、次のアーキテクチャ設計パターンを使用して、最高のMongoDBホスティングエクスペリエンスを実現するAzureプラットフォーム。

      1. Azure Resource Manager(ARM)プラットフォーム

        新しいAzure Resource Manager(ARM)プラットフォームの機能を活用します。まだAzureClassicプラットフォームを使用している場合は、今が移行の時期です。新しいARMプラットフォームに移行することには、管理対象ディスク、仮想ネットワーク、および予約済みインスタンスの活用など、いくつかの利点があります。すべてのメリットについては、IaaSをAzureResourceManagerに移行するメリットのブログ投稿で詳しく説明されています。

      2. Azure仮想ネットワークとネットワークセキュリティグループ

        データベースは、インターネットに公開されていないプライベートサブネットに最適に展開されます。 Azureでは、独自の仮想ネットワーク(VNET)を作成し、データベースサーバーを特定のサブネットに展開できます。ネットワークセキュリティグループ(NSG)ルールを作成してアクセス制御を処理し、インターネット経由でアクセスできるようにする必要がある場合は、データベースサーバー(のみ)にパブリックIPを割り当てることもできます。 Bring Your Own Cloudモデルの一環として、お客様がMongoDBクラスターを独自のVNETにデプロイして、高度なVNETおよびNSGセキュリティ制御を活用できるようにします。

      3. Azureの可用性セットと可用性ゾーン

        可用性セットは、クラスターのノードをさまざまなハードウェアに分散させるために不可欠です。このように、単一のハードウェア障害がすべてのノードに影響を与えることはありません。レプリカごとに可用性セットを作成することをお勧めします。 Azureは最近、データセンターレベルの停止からユーザーを保護するために可用性ゾーンを導入しました。レプリカをアベイラビリティーゾーン全体に分散して、99.99%の稼働率を実現できます。

        Azureでの#MongoDBホスティングを改善するための5つのヒントクリックしてツイート

      4. Azureインスタンスタイプ

        MongoDBの読み込みに適したAzureインスタンスタイプを選択することは非常に重要です。すべてのインスタンスタイプがMongoDBに適しているわけではありません。一般に、「メモリ最適化」インスタンスタイプまたは「ストレージ最適化」インスタンスタイプを確認する必要があります。

        メモリ最適化インスタンスの最新のEv3シリーズは、通常、ほとんどのMongoDBワークロードの優れた出発点です。 E2 v3で提供されるよりも多くのCPUが必要な場合は、「汎用」のDv3インスタンスタイプを検討できます。

        「バースト」モードインスタンス–「B1S、B1MS、B2MS」は通常、小規模なワークロード、開発/テスト環境などに適しています。データが大きくなるにつれて、 AzureローカルSSDディスクを備えた「ストレージ最適化」L4シリーズが最適です。詳細については、以下の「Azureディスク」セクションを参照してください。一般に、適切なインスタンスタイプはワークロードによって異なるため、ワークロードでさまざまなインスタンスタイプを繰り返して負荷テストすることが重要です。

      5. Azureディスク

        Azureは、さまざまなワークロードを処理するためのさまざまな種類のディスクを提供しています。

        • レガシーディスク(スタンダードおよびプレミアム)

          この説明では、レガシーAzureディスクについては考慮しません。レガシーディスクを使用している場合は、マネージドディスクへの移行を検討する必要があります。

        • 管理対象ディスク(スタンダードおよびプレミアム)

          Azureマネージドディスクは、Azureでのコンピューティングディスクの管理を大幅に簡素化します。これらは、レガシーディスクに比べていくつかの利点があります。

          • ストレージアカウントについて心配する必要はありません。
          • ストレージアカウントのサイズやパフォーマンスの制限について心配する必要はありません。
          • 簡単なスナップショットとスナップショットからの新しいディスクの作成。
          • 標準からプレミアムに、またはその逆に簡単に変換できます。
          • 拡張された可用性セットを活用して、ディスクに適用します。

          管理対象ディスクとレガシーディスクの違いの詳細については、Azureのドキュメントをご覧ください。

          プレミアムマネージドディスクは、ディスクのサイズに応じて異なるIOPS保証も提供します。本番環境のMongoDBクラスターには、プレミアムマネージドディスクを強くお勧めしますが、開発/テスト環境には、スタンダードマネージドディスクが適しています。
        • ローカルSSDディスク

          Azureの「ストレージ最適化」インスタンスタイプは、Azureで最高のスループットを提供する大容量のローカルSSDディスクを提供します。これは、大量のディスク入出力(I / O)を必要とする大規模なクラスターに最適です。 MongoDB用のAzureHighPerformanceクラスターは、Lシリーズインスタンスを使用します。ただし、ローカルSSDディスクは「エフェメラル」です。インスタンスを停止すると、データは失われます。したがって、ローカルディスクを使用するときは細心の注意を払うことが重要です。データの安全性を確保するために、マネージドプレミアムディスク上にある1つのレプリカを使用することをお勧めします。

    5つのヒントを約束したことは知っていますが、これが道路用の追加のヒントです:

    1. Azureリザーブドインスタンスを活用する

      Azureは、リザーブドインスタンス(RI)、別名AWSをサポートするようになりました。 Azureリザーブドインスタンスを1年または3年前から購入して、MongoDBホスティングコストを最大82%大幅に削減できます。


    1. MongoDBはどういうわけかシングルコアに制限されていますか?

    2. redisでのパイプラインとトランザクション

    3. 存在しない場合は挿入する方法、そうでない場合はmongoengineで更新する方法は?

    4. Docker Composeを使用してRedisコンテナに接続するにはどうすればよいですか?