2012-09-12 18 views
19

SQL Azureでは、150ギガバイトのデータベースのサイズ制限があります。私はドキュメントを何度か読んでオンラインでも検索しましたが、これについてはっきりしていません。連合を使用すると、開発者は150 GBのデータベースを超えて成長できますか?たとえば、150GBのフェデレーションメンバーを複数持つことができます。克服のWindows AzureのSQLデータベース150ギガバイトのサイズ制限

ない場合、どのように私は、Windows Azureの上の150ギガバイト以上のデータベースも大きく扱うことができますか?

基本的に、他の方法は、RDS良い代替ではありませんtheresの場合、私は、Windows Azureの

の150ギガバイトを超えてスケ​​ールアウトするにはどうすればよい(他の選択肢を共有する)

+0

注 - 2014年4月3日現在、データベースあたり500GBの上限があります。これを反映して、以下の回答を掲載しました。 –

+0

注:先週の時点で1 TBですが、(高いDTUの場合)コストが非常に高くなる可能性があります。 –

答えて

15

現在のところ、単一を持ってすることはできません150Gを超えるデータベース

のみのアプローチは、複数のデータベースにデータを分割するかで、1アカウントには、最大149個のユーザーデータベースに加えて、マスタDBを持っている、またはSQL Azureの連盟を使用することができます。現在、私が間違っていない場合、サポートされている連合の総数はInt16.MaxValue - 1です。各連合は、実際には開発者にとって透過的な別個のデータベースであり、最大150GBまで可能です。

ただし、SQL Azureの連盟は、いくつかのデータアクセス層の再ファクタリングと一緒に、独自の長所と短所を持っています。あなたが興味を持っている場合は、SQL Azureの連盟でこれらのクールなビデオをチェックアウト可能性があります

UPDATE私は完全に@ryancrawcourに同意しないだろう

。彼が説明しているのは、氷に覆われた氷山のピークに過ぎません。必要な再ファクタリングの量は、実際にアプリケーションからデータがどのように消費されるかによって異なります。私は考慮すべきいくつかの要素について言及します(完全な画像ではありません)。 - あなたは各反復処理し、これまでのフェデレーションメンバーと実行する必要があり、すべての連盟のための共通です

  • データ(あなたはこのデータを取得する方法)
  • ストアドプロシージャ、その後処理データ:次のいずれかを考えてみましょうそのprocを格納します。 Stored procを一度実行して、すべての連合でデータを処理する方法はありません。
  • 2人以上のフェデレーションメンバーにまたがって集計されたデータ
  • 複数のフェデレーションメンバーからのデータを一覧表示します。

これは、考慮する必要があり、各クエリの前に「接続文字列を変更して1つの使用フェデレーションを実行する」必要はありません。実際にSQL Azureフェデレーションを使用すると、接続文字列をまったく変更する必要はありません。これは、すべて同じSQL Azure接続文字列です。 "USE FEDERATION ..."ステートメントは、各クエリの前に実行したステートメントです。しかしそれは単なる事ではない。そして、EntityFrameworkを使用しているかどうか(モデルの最初のものか、コードのものかなど)状況はさらに複雑になり、SQL Azureフェデレーションを実際に理解する必要があります。

私は、SQL Azureの連盟は、モデリングと正規化については、データについて考える別の方法であると言うでしょう。

UPDATE 2 - マイクロソフト 03. 2014年4月単一データベースの最大サイズのよう

が発表した新しいデータベースのサイズが500ギガバイトに増加されました。現在利用可能な情報はis hereです。管理ポータルにはこのオプションが表示されないことに注意してください(現在および現在:4. Apri 2014、15:00 GMT + 0:00)。

+3

SQLデータベースフェデレーションは、データベースサイズとパフォーマンスの両方を水平スケールアウトします。サイズに関係なく、各SQLデータベースインスタンスのパフォーマンス特性は同じであるため、15GBデータベース10個が150GBデータベース1個よりも大幅に優れている可能性が非常に高いです。 –

+0

ありがとう、その明確化のための釘 – astaykov

+0

応答のためにastaykovとNeilに感謝します。だから私はSQL Azure連合がこの問題を解決し、150ギガバイトを超えることができると思う。もう一度ありがとうございます。 – havokentity

2

永続的なVMの新しいAzure機能(現在はプレビュー中)もあります。これにより、オンプレミスアプリケーションを最小限の変更でクラウドに移行できます。

さらなる読書:Infrastructure as a Service Series: Running SQL Server in a Windows Azure Virtual MachineThisガイドも参考になるかもしれません。

編集

Hereは、私はしばらく前にこれらの同じ答えを探していたのSql Azureの

+0

これは間違いありませんが、Windows Azure VM 150GBを超える単一のSQL Serverデータベースとフェデレーションを持つWindows Azure SQLデータベース(別名SQL Azure) Windows Azure VMのプラスには単一障害点があります。 SQL Azureはデータの3つの独立したコピーで箱から出てきますが(これは連合にも当てはまります)。 – astaykov

+0

VM自体のVHDには複数のコピーがありますが、フェールオーバーを管理するためにミラーリングを行う必要があると思います。 – NoviceProgrammer

+0

VMはプレビューできないので、パフォーマンスのためにサービス保証に含まれます。 Azureで使用できるさまざまな種類のディスクとそれぞれのパフォーマンスの関係を詳しく説明しているMSDNの記事がありますが、VHDは非常に優れたパフォーマンスを備えています。しかし、このアプローチを採用する企業レベルのアーキテクチャを設定する必要がありますが、コストがかかる可能性があります。 – emalamisura

2

との比較です。 Antonが提供した回答(非常に正確です)に加えて、ロードバランシングとミラーリングを使用してSQL Serverのインストールを冗長化してWAVMを作成できることがわかりました。

WASDの利点はすべてが自動化されていることです。例えば。あなたのWAVMインスタンスがロードバランサのローレーションから取り出されたら、あなた自身で新しいものを持って来る必要があります。 WASDはこれをすべて処理します。

WASDフェデレーションでは、75TBのデータ(正確に覚えていれば)を拡張することができますが、SQL Serverを搭載したWAVMでは16TBのトップに拡張できます。

また、WASDフェデレーションでは、SQLワークロードをより細かく分割できます。

よろしく、

Patriek

1

あなたのスケールのオプションを考慮しながら、(2014年4月3日の時点で、Microsoftは500ギガバイトに、各SQLデータベースインスタンスをスケーリングする機能など、SQLプレミアムへの今後の変更を発表し、ことに注意してくださいジオレプリケーション、セルフサービスリストア、およびより高い稼働時間のSLA)を提供します。日付はまだ発表されていませんが、発表の詳細hereについて読むことができます。

+0

この情報がMicrosoftサイトに公開され、価格が更新される場合。現時点(2011年4月4日現在)の価格は最大DBサイズとして150GBを示しています。 – astaykov

+0

私はそれが「すぐに」公開されていると思われます。つまり、今朝のサイジングドロップダウンでは利用できません。私は答えが*発表されたことを述べるように編集します。しかし、それが公式に述べられているとすれば、あなたは500GBの目標を計画できると言っても間違いありません。 –

+1

@astaykov - 詳細を記述しているブログ記事へのリンクが更新されました。サイズの増加は、他の機能と同様に、プレミアム専用です。 –

関連する問題