4

私は、Webアプリケーションの典型的なソーシャルネットワークタイプの計画段階にあります。プロファイル、メッセージ、インスタントチャット、アルバム、グループ、仮想プレゼントなどが含まれます...

SQL Azureに保存する必要のあるデータと、テーブルストレージに保存する必要のあるデータを決定する決定要因は何ですか?

Azureの前は、すべてのリレーショナルデータがSQLサーバーに格納され、データオブジェクトとページ出力キャッシュを使用したメモリキャッシングがパフォーマンスとSQLサーバーの負荷を軽減するために使用されていました。

Azure Table Storageは、このアプローチにどのように適合/変更しますか?

4

2 に答える 2

10

SQL アズール

SQL Azure の良い面 - 無料でアクセスでき (ストレージ トランザクションにコストがかからない)、操作が簡単です (リレーショナルで、開発者になじみがあり、将来のクエリがどのように機能するかを心配することなくモデル化できるなど)。

マイナス面としては、SQL Azure は非常にスケーラブルではありません。フェデレーションを使用しても、各データベースまたはフェデレーション メンバーは他のデータベースとのマルチテナント環境に存在し、同じサーバー上でディスク、CPU、RAM などで互いに競合します。 .

価格の観点からは、SQL Azure にデータを保存する方が Azure Table Storage よりも費用がかかりますが、アクセスは無料です (SQL Azure データベースの呼び出しには費用がかかりません)。

Azure テーブル ストレージ (ATS)

Azure Storage の良い点は、メガ スケーラブルであり、非常に大量のデータをサポートできることです。基本的に、SQL Server の背後に頭脳があるように、ATS の背後に「リレーショナル頭脳」はありません。このため、単一の頭脳を持つという制限に縛られず、すべてのリレーショナル アクティビティを、必要な数だけ持つことができる独自のサーバー/インスタンスに委任します。これにより、メガスケールが可能になります。

マイナス面としては、特にクエリを見越してキー (PartitionKey と RowKey) をモデル化する必要があるため、ATS の操作が難しくなります。そのデータへの将来のアクセスを非常に合理化し、PartitionKey/RowKey を適切に使用できるように、複数の方法でデータを複製する必要さえあるかもしれません。

価格設定の観点から見ると、ATS はデータを保存するのに非常に安価ですが、アクセスするたびに課金されます (トランザクションごとに料金が発生します)。価格は最近 10 分の 1 に引き下げられましたが、予算の一部として考慮する必要があります

提案

メガ スケールが必要な場合は ATS を使用します。たとえば、Facebook のようなソーシャル サイトがある場合、スケールを提供する最も重要な場所はニュース フィード コンポーネントです。そのデータは非常に頻繁にアクセスされ、非常に高速である必要があるためです。

リレーションシップが最も重要であり、データが頻繁にアクセスされない階層データ ストレージに SQL Azure を使用します。たとえば、ユーザーのプロファイル情報 (電子メール/アドレス/ログイン/設定/など)。

于 2012-07-18T12:30:34.927 に答える
0

SO は、特定のプログラミングに関する質問に適しています。最初にすべてを SQL でサイズ設定し、どれくらいの費用がかかるかを確認します。大量のデータがある場合は、Azure テーブル ストレージ (ATS) の方が安価です。ATS には結合がありません。大量のデータを含むログ ファイルは、ATS の候補です。

于 2012-07-18T12:26:41.450 に答える