興味があります。MongoLabのように、データがリモートサーバーでホストされているサービスがいくつかあります。データベースを使用している人なら誰でも、すべてのサーバーが内部にある場合でも、ある程度のネットワーク遅延があることを知っています。MongoLabなどのリモートデータストレージサービスは、実稼働環境に適していますか?
この質問は、主にAJAXベースのWebアプリまたは一般的なWebサイトを対象としています。
興味があります。MongoLabのように、データがリモートサーバーでホストされているサービスがいくつかあります。データベースを使用している人なら誰でも、すべてのサーバーが内部にある場合でも、ある程度のネットワーク遅延があることを知っています。MongoLabなどのリモートデータストレージサービスは、実稼働環境に適していますか?
この質問は、主にAJAXベースのWebアプリまたは一般的なWebサイトを対象としています。
MongoLabはかなり良いと思いました。明らかに、一般的なラウンドトリップについて考える必要があります。ラウンドトリップを最適化すると、全体的な遅延が最小限に抑えられます。
また、MongoLabと同じデータセンターに身を置くことも理にかなっています(場所を選択できます)。現在、Azureで(ベータ)サービスも提供しています。
私は待ち時間の長いサービスを実行してきました(ブラウザー、Webサーバー、Mongoの3つの異なる地理的地域ですが、私の場合、対話が「おしゃべり」ではないため、それでも十分に機能します。
ご存知かもしれませんが、Mongoの設計上の制約の1つは結合の欠如です。そのため、私のデータ構造は当然、データの単純なQ&Aフェッチに向いています。あるコレクションを読んでから、その情報を使用して別のコレクションを調べません(手動結合)。結果として、これらの複雑な相互作用でレイテンシーコストを合計することはありません。最悪のケースは、通常、単一の要求/応答(または一連の並列の単一の要求/応答クエリ)であるため、合計で約200ミリ秒の差が許容されます。
しかしもちろん、WebサーバーをDBに近づけることができれば、より良い結果が得られます。
おそらく、あなたが十分なお金を費やしているなら、MongoLab et alはあなたにカスタム構成をロールバックすることができます、おそらくあなたはローカルセカンダリーを持つことができます。