2

私が取り組んでいる ASP.NET MVC アプリ (非トランザクション、ソーシャル) があります。私は仕事をする .NET 認証プロバイダーを使い始めましたが、クラウドの裏地が日ごとに輝きを増していくにつれて、どれだけプッシュできるか疑問に思っていました.

最終的には、ISP がホストする SQL Server データベースを廃止し、コンテンツの増加に合わせて S3 の使用を徐々に開始したいと考えています。

認証に OpenID を使用し、ユーザーの詳細を保存するために SimpleDB を使用することを検討しています。私が正しく理解していれば、ユーザーが追加したコンテンツはすべて、ClailedIdentifier をキーにすることができます。

これを行うことの利点/欠点は何ですか? このアプローチのショーストッパーは何ですか?

賛成/反対の議論をサポートするために使用できる純粋なクラウド アーキテクチャの例はありますか?

4

1 に答える 1

2

OpenID を使用する利点はよく知られていると思います。ユーザーの詳細を格納するために SimpleDB を使用する利点は次のとおりです。

  • 柔軟なスキーマにより、RDBMS では面倒な方法で特定のタイプの動的ユーザー データを直接サポートできます。たとえば、ユーザー定義のプロファイル フィールド、または電子メール アドレスなどの値の場合は任意の長いリストです。結合する別のテーブルを必要とせずに、データを直接保存できます。
  • 微調整が必​​要なセットアップおよび構成オプションがないため、簡単です。基本的に、サーバーの保守とデータベースの保守タスクをアウトソーシングしています。ホストされた SQLServer ソリューションを使用している場合は、程度は低くなりますが、これも行っています。また、共有 SQLServer ホスティングについては知りませんが、パフォーマンスの一貫性と可用性の問題に関して、共有 MySQL ホスティングで悪い経験をしたことがあります。
  • これは、SimpleDB が主張するもう 1 つのことです。データ センター全体ですべてのデータが自動的に複製され、クラスター内のすべてのサーバーが読み取りと書き込みの両方を個別に処理できるため、可用性が向上します。データ センター全体が暗くなったり、ルーターが文字通り溶けたりしても、アプリはまだ動作している可能性があります。おそらくサービスレベルは低下しますが、うまく計画すれば完全に機能します。問題が修正されると、データはバックグラウンドで自動的に同期されます。
  • 良い成果。負荷のないローカルでホストされている SQLServer インスタンスほど高速ではありませんが、すぐに使用できるので、ユーザー データ (およびそれ以上) に対して十分に高速であり、適切にスケーリングされます。
  • ASP.NET アプリを Amazon EC2 Windows サーバーで実行すると、サーバーと SimpleDB の間で無料の高速データ転送が得られます。一般的な往復の ping 時間は 2 ミリ秒から 7 ミリ秒です。
  • 無料利用枠には、1 GB の帯域幅、1 GB のストレージ、および 1 か月あたり 25 時間のボックスの使用が含まれます。アプリによっては、無料でかなり遠くまで行ける場合があります。

欠点は次のとおりです。

  • 関係も制約もスキーマもないので、ある程度非正規化する必要があります。チェックしたい制約はコードで実行する必要があり、実行したい結合には、シミュレートするためのフォローアップ クエリが必要です。SimpleDB には信頼できるクエリ API があり、同時要求用に最適化されているため、フォローアップ クエリと主キーを使用した結合は思ったほど悪くはありません。多くの場合、複雑な結合でさえ、SimpleDB への 2 回の往復 (と同等の時間) でシミュレートできます。
  • 微調整するセットアップおよび構成オプションはありません。
  • 結果整合性に対処できる必要があります。アイテム レベルでいつでもアトミックな更新と削除を適用できますが、更新は、通常の操作中に 1 秒間読み取り要求に表示されない場合があります (私の経験では、保証ではありません)。もちろん、障害シナリオ中はさらに長くなります。「対処」は通常、セッション レベルで行う必要があります。ユーザーが自分のプロフィールを (あなたのアプリを使って) 更新し、他の誰もその変更を数秒間見ることができなければ問題ありません。これに対処する簡単な方法がいくつかありますが、これらの問題について考えて対処する必要があります。
  • あなたはAmazonに翻弄されています。悪いことは何も起こらないかもしれませんし、SQLServer ホスティング会社に翻弄されることほど悪いことではありません。しかし、人によっては気になるかもしれません。SQLServer の場合よりも悪い: SimpleDB アプリは、Amazon と別れる場合 (ローカルで実行される M/DB インスタンスを除いて) 他のどこでも機能しなくなります。
于 2009-10-21T15:54:46.340 に答える