30

それはかなりのトピックであり、blob vs tables vs SQLであり、これまで読んだすべてにもかかわらず、いつ何を使用するかについての適切な理由をまだ見つけることができません。

Azure に移行しようとしているマルチテナント SaaS Web アプリケーションがあります。SQL Server 2008 データベースを使用しています。文書と文書に属するログ情報を保存します。ドロップボックスのようなものです。

フォーラムでは、「大きな」オブジェクトを検討している場合は、Azure テーブルを使用することをお勧めします。通常、ユーザーごとに数百のドキュメントを保存します。ドキュメントのサイズは 5kb から 30mb までさまざまですが、大部分は約 1MB になります。

Blob、Tables、Sql を使用する場合の基本ルールはありますか? SQL はコストがかかりすぎるため、ドキュメントを SQL に保存するべきではないことを既に学びました。しかし、ドキュメントを BLOB に格納することが「有益」になるのはいつで、いつテーブルを使用したほうがよいのでしょうか? 次のような式はありますか?

if (objects * MB/object * objectrequested > y) then blobs, else tables

4

2 に答える 2

23

Igorek は、SQL Azure に関するあなたの懸念に対処したと思います。ただし、テーブルとブロブについてはまだ質問があるようです。

あなたの場合、テーブルストレージを使用するのは面倒です。ATS の各プロパティ/列は最大 64 KB であるため、ドキュメントを複数のプロパティに分割してから再構築する必要があります。エンティティごとに 4MB の制限もあり、これが問題になります。BLOB ストレージには、これらの制限はありません。

個別に格納してクエリを実行する必要がある多くのプロパティを持つ小さなエンティティがある場合は、Azure テーブル ストレージを使用する傾向があります。そのため、保存されたオブジェクトや、大量のメタデータを含む小さなドキュメントに適しています。

BLOB ストレージは、大量のメタデータがない場合に適しています。ファイルシステム上のファイルとしてうまく機能する可能性があるものに適しています。

于 2012-12-25T16:03:09.700 に答える
10

ドキュメント自体をAzureBlobストレージ(テーブルストレージではなく)に格納します。1メガあたり1ペニー(ボリュームによってはそれ以下)のSQL Azureデータベースにドキュメントを格納するのはかなり費用がかかるという事実を除けば、SQLデータベースは一般にドキュメントに適した場所ではありません。SQLは、クエリや結合などを実行できるという利点を提供するリレーショナルデータベースです。特に、保存が非常に安価な非常にスケーラブルな中央ストレージシステムがある場合、SQLデータベースに大きなドキュメントや画像を保存するメリットは通常ありません。 /アクセス。

さて、ドキュメント自体を検索する必要がある場合は、Lucene.NETのようなものを使用して、ドキュメントベースのリポジトリの検索機能を提供します。

HTH

于 2012-12-25T01:50:49.833 に答える