マルチテナントアプリケーションのためのAzureストレージ。我々は約1万人のテナントを持つAzureでマルチテナントアプリケーションを開発するために取り組んでおり、1テナントあたり約100 GB〜1 TBのデータストレージが必要です。アプリケーションは、ドキュメントとバイナリコンテンツをテナントごとのメタデータとともに個別に管理することです。私たちはAzure Block BLOBストレージにデータを格納することを考えています。テナントごとにデータを個別に管理する必要があるため、次のアプローチを採用しました。Azureブロブストレージの制限とフィルタ
- テナントごとに別々のストレージアカウントを作成
- 再び同様の請求に役立つ、利用テナント賢明を維持するのに役立ちます
- カテゴリに基づいて を分離するために、各ストレージアカウント内の別々の容器を作成します。
- ドキュメントをブロックブロブストレージにメタデータとともに格納します。
我々は我々のアプローチに対するクエリを次ています
- は、メタデータとともにブロックブロブ に文書またはバイナリコンテンツを保存することをお勧めますか?または、それを達成するためのよりよい方法がありますか(おそらく、メタデータにはSQL Azureを使用し、コンテンツにはBLOBを使用するか、 を使用します)。
- メタデータのフィルタ条件を使用してデータをクエリするにはどうすればよいですか?つまり、metadat1 = value1およびmetadata2 = value2のすべてのBLOBを取得します。
- 各テナントに個別のストレージアカウントを作成することをお勧めしますか? a。そうでなければ、Azureストレージとアプリケーションにテナント固有のデータを格納できるモデルはどれくらい効率的に使用できますか?
- スケーラビリティと高可用性の観点から、Blobストレージのデータの読み書きの要求数に帯域幅やその他の制限がありますか?
- 晴れのプライシングモデルによれば、ストレージのためにスラブ(最初は1 TB $ 0.095/GB、次に49 TB $ 0.08/GB)が充電されます。この費用は、ストレージアカウント単位またはサブスクリプション単位で適用されますか? a。同様に、トランザクションコストはストレージアカウントごとまたはサブスクリプションごとに適用されますか?
ありがとうGaurav。ちょっとしたことを明確にしたかったのです。まず、テーブルストレージにもっと傾いているので、これはメタデータ用で、コンテンツはまだBLOBになるでしょうか?第2に、ストレージアカウントの上限が200 TB、つまり100 TBと言われました。 200 TBはどこにも見つかりませんでした。 – Hitesh
これは正しいです。コンテンツは実際にBLOBストレージに格納されますが、BLOBストレージはクエリをサポートしないため、クエリするメタデータはテーブルストレージ(またはSQL Azure)に移動します。ストレージアカウントの上限200 TBについてはこちらをご覧ください:http://blogs.msdn.com/b/windowsazurestorage/archive/2012/11/04/windows-azure-s-flat-network-storage-and-2012-scalability -targets.aspx。ただし、2012年6月7日以降に作成されたストレージアカウントにのみ適用されます。 –