5

私はeコマースアプリをC#で実行するようにしました。現在、このアプリの各インスタンスには独自のものがあります。

  1. IIS7アプリプール
  2. IIS7のWebサイト
  3. SQLServer2008データベース

私のパートナーは、このアプローチを捨ててクラウドに移行する必要があると私に言いました。SQLAzureはデータベースごとに課金するようです。したがって、このアプローチを採用することは非常に費用がかかります。 データアクセス層全体を書き直さなくても、単一の巨大なデータベースを使用できる方法はありますか? *または、何百もの小さなSQL Azureデータベースを作成するための安価な方法はありますか?*

注:各データベースは20MBです

4

2 に答える 2

2

はい、SQL Azure はデータベースごとに料金を請求しますが、実際に支払うのはデータベースのサイズです。たとえば、1 GB DB の場合は月額 9.99 ドル、10 GB DB の場合は月額 99.99 ドルです。SQL Azure のデータベースも現在、最大サイズが 50 GB です。

これとあなたのアプリ (おそらく数百の DB) についてあなたが言ったことに基づいて、各データベースには 1 GB の DB に支払う価値のある十分なデータが含まれていると仮定すると、それぞれに 1 つの DB を使用し続けます。実例。

各インスタンスのデータが実際には非常に小さく、数百のインスタンスがあったとしても 50 GB の制限に達しない場合は、データをパーティション分割して 1 つのデータベースに保存することで (時間ではなく) お金を節約できます。

コストが主な関心事であり、とにかく書き換えを考えている場合は、Azure テーブル ストレージ (AZT) の使用を検討します。同じ 1 GB のデータを格納するために月額 0.15 ドルかかります (ただし、ほとんどのことをあきらめる必要はありません)。複数のテーブルを含む外部キーやクエリなど)

于 2010-09-28T18:47:39.647 に答える
1

データベースあたり 20 MB の場合、単一の 1 GB Azure データベースで約 50 のそのようなデータベースをカバーします。

新しいデータベース サイズでは、次のサイズは 5 GB になり、請求は、特定の日に使用された最大ストレージに基づいて日単位で償却されます。そのため、1 GB 未満の場合は、1 GB のレート (月額 $9.99 / 月の日数) で請求されます。1GB を超えると、5GB レベルに移行します (月額 $49.95 / 日)。これは、1 GB のデータベースを 50 個持つよりもかなり安価です。毎月 500 ドル。

データベースを結合するには、テナント間でパーティション分割を提供するために、テーブルに追加する必要がある顧客 ID またはインスタンス ID のタイプが必要です。

コスト削減のために Table Storage に移行することについて、nightpfhor から別の提案がありました。Table Storage は SQL Azure ストレージよりも安価ですが、Table Storage は非リレーショナルであり、ストアド プロシージャや SQL Server から通常得られるその他のサポートがないため、これはアプリケーションの大きな変更になる可能性があります。パーティション/顧客キーの追加は、大規模なストレージ レイヤーの書き換えよりもはるかに侵襲的ではありません。

于 2010-09-29T05:08:41.177 に答える