4

ホストされた DB ソリューション、特に MongoDB を Web サーバーで使用することに関してアドバイスを提供できる人はいますか? 具体的には:

レイテンシーは許容範囲内ですか? Web サーバーを (Azure などを介して地理的に) ホスティングされた DB サーバーと同じ場所に配置して、待機時間を短縮するにはどうすればよいですか? Web サーバーからホストされた DB サーバーへの呼び出しによる帯域幅のコストを軽減する方法はありますか (プライベート IP またはその他を介して)

4

1 に答える 1

3

MongoHQ を見たところ、特定のデータ センターを指定する方法がわかりません。できたとしても (詳細を聞き逃したかもしれません)、それらは AWS リージョンであり、Windows Azure と同じデータセンターには存在しません。たとえば、Windows Azure の North Central データセンターに最も近い AWS リージョンを推測する必要があります。

帯域幅/待機時間を軽減したい場合は、MongoDB を worker ロールでホストするか、Web サイトをホストする Web ロールでホストすることもできます。これにより、毎月のインスタンス コストが削減されます。ただし、Windows Azure でホストする場合は、スケーリングに備える必要があるため、スタンドアロンの MongoDB データベースでは不十分であることを覚えておいてください。MongoDB独自のワーカー ロールに配置し、データベースをクラウド ドライブ (ブロブ ストレージ内) に保存して耐久性を確保し、インスタンス数が 1 を超えないようにすることができます。セキュリティ パッチのインストールのために worker ロールが再起動されるか、基盤となるハードウェアがクラッシュします (非常に短時間で復旧します、定期的にデータベースがオフラインになります)。

私は、MongoSV カンファレンスで [MongoDB レプリカセットを使用してデモを行いました][1]。唯一の問題は、これを行うには 3 つのインスタンスが必要になることです。通常、Web ロールの 3 つのインスタンスを実行する場合は、それらのインスタンスをピギーバックできます。それ以外の場合は、この構成を別のワーカー ロールのセットで管理する必要があります。MongoHQ と比較すると、月額料金は高くなります (ただし、Web ロールと MongoDB の間で帯域幅が課金されることはありません。レイテンシが非常に低く、データベースを 1 TB まで簡単にスケーリングできます。 MongoHQ の 2GB 制限を超えています。

もう 1 つ: MongoDB を使用する Web サイトが複数ある場合は、Windows Azure で単一の MongoDB ホステッド サービスを作成し (前述のように)、すべての Web サイト デプロイからそのサービスにアクセスできます。これにより、スケール メリットが得られ、マルチテナントの MongoDB データベースに移行する際のコストが削減されます。

EDIT 6/16/2013これは非常に古く、時代遅れの回答です。いくつかの更新:

  • MongoHQ と MongoLab はどちらも、ホストされた MongoDB を提供します。MongoHQ は、米国東部のデータ センターで無料 (512 MB) と共有有料の両方のサービスを提供しています。MongoLab には、米国東部と米国西部の両方のデータ センターで無料 (500 MB) と共有の有料サービスがあります。
  • Windows Azure Virtual Machines は現在運用されており、専用のスタンドアロンまたはレプリカ セットの展開を任意のデータ センターに簡単に展開できます (エンドポイント セキュリティ用の ACL を構成することもできます)。

編集 2013年 7 月 15 日MongoLab では現在、8 GB のレプリカ セットを運用しています。MongoLab の投稿へのリンクもあるこちらのブログに投稿しました。

于 2011-02-22T04:11:33.687 に答える