25

数か月前に同様の質問があったのを見ましたが、実際には私の状況にうまく対応していませんでした。ほら…

私は、Web ベースの .NET アプリケーションをゼロから構築しているところです。このアプリケーションは、大量のサイト (開始時に月に数十万ページ ビュー) になる可能性があり、Microsoft Azure を使用してそれをホストすることを強く検討しています。 . まだ何も構築しておらず、さまざまなオプションをまだ調査中です。

アプリケーション自体は、基本的に、さまざまな種類のエンティティ (ユーザー、注文、アイテムなど) に作用する標準の CRUD アプリケーションです。おそらくいくつかのバックグラウンド プロセスが実行されている可能性があり、データのキューイング (たとえば、SO バッジの取得などの非リアルタイム更新用) がありますが、ユーザーとのやり取りのほとんどは、典型的な CRUD タイプのアクションになります。

Azure に関しては、Microsoft Azure Storage を使用してトランザクション データを保存する方法に関する記事をいくつか読んだことがあり、Azure SQL DB を使用する代わりにそれを行うことを強く検討しています。しかし、私は実在の人物や実在の企業がそうしている成功例を見たり読んだりしたことがありません。そこで、SO コミュニティに連絡して、Microsoft Azure Storage を使用した経験のある人がいるかどうか、運が良かったかどうか、注意すべき問題点、ベスト プラクティスがあれば確認してみようと思いました。思いつく。

Microsoft Azure MSDN のセクションと、Microsoft のプログラミング Microsoft Azure Table API ドキュメントをたくさん読みました。実践的なアドバイス、学んだ教訓、ベスト プラクティスなどを探しています。よろしくお願いします。

4

5 に答える 5

14

Windows Azureストレージは、他のNoSQLストレージとまったく同じです。これは、大規模なシナリオ機能します(ユーザーごとに数百万のレコードをポンピングします)。ただし、従来のCRUDアプローチは、スケーリングやこれへの適応が少し難しいです。

CQRSスタイルのアーキテクチャに沿って検討を開始することをお勧めします。ここにあなたが始めるかもしれないいくつかの参考文献があります:

于 2010-08-07T08:28:20.670 に答える
8

話しているデータの種類によって異なりますが、一般に、トランザクションデータの要件を過大評価する傾向があります。多くのデータを1GBのSQLAzureに実際に収めることができます(私たちはSAASプロバイダーであり、約20のクライアントのトランザクションデータをその多くのスペースに収めることができます)。また、奇妙な理由で、SQL Azureのスペース消費量は、オンプレミスで表示されるデータベースのサイズよりもいくらか少ないように見えます(ログの処理方法に関係している可能性がありますが、確かではありません)。そして今では50GBが限界であり、率直に言って巨大です。

ただし、このためには、スペース使用量を増やすものも考慮する必要があります。画像、ビデオ、またはその他の大きなオブジェクトをデータベースに保存すると、スペース消費量が大幅に増加する可能性があります。これらの種類のオブジェクトはWindowsAzureに保持することをお勧めします。

簡単に言えば、トランザクションデータはSQL Azureに、非リレーショナルデータはWindowsAzureに保持します。SQL Azureを使用すると、プログラミングの面で非常に精通しているため、開発者の生産性も向上します。Windows Azureは、Windowsローカルファイルストレージと同じように扱いますが、いくつかの利点があります(基本的なテーブル構造がサポートされています)。

于 2010-08-26T07:26:07.790 に答える
4

考慮すべきもう 1 つのことは、ストアから送受信するトランザクションの数です。SQL Azure の優れた点は、月額固定料金であることです。同じデータ センター内で (つまり、SQL Azure データベースと同じデータ センターにある Windows Azure Web ロールから) クエリを実行する場合は、追加料金なし。

Windows Azure ストアへのトランザクションのコストはかなり低いですが、十分な量のトランザクションを実行すると、合計される可能性があります。

于 2011-03-31T19:22:14.953 に答える
1

Azure ストレージまたは SQL ストレージの使用を決定する前に、データの使用パターンも確認する必要があります。Azure Storage は NoSQL ソリューションを提供しているため、レポート以外の基本要件により適しています。ここでのレポートはレポートを意味するのではなく、Azure ストレージのクエリ機能が制限されており、さまざまなクエリ シナリオに対して最適化されていないことを意味します。CQRS アーキテクチャでは、CRUD 操作とレポート操作が分離されているため、Azure Storage と Azure SQL の両方を混在させることができます。

于 2010-08-12T07:08:31.073 に答える
1

情報を見つけるもう 1 つの方法は、Windows Azure の選択肢から一歩踏み出し、AWS を調べることです。S3 と SimpleDB のオプションは、長期間にわたって精査されており、Web 上にはさらに多くの成功事例があります。ただし、S3 と SimpleDB の機能は、Windows Azure ストレージ テーブルと Blob ストレージに非常に似ています。これらの構造が対象とする真のビッグデータについて考えている場合は、AWS オプションを確認してください。ビッグデータを中心に構築された既存のソリューションの参照点としてのみ。

SQL Azure に関しては、トランザクション コストを低く抑え、リレーショナル データに基づいて関係と一般的な整合性を維持しながら、多数のトランザクションに最適です。ただし、大量のデータを扱う場合は、Windows Azure テーブルや Amazon の SimpleDB などのビッグ データ構造を目指してください。

于 2010-08-25T17:37:27.830 に答える