SQLサーバーでこれらのディスクをBI構成用に構成するにはどうすればよいですか?


8

一定メモリ(32GB)とCPU(4)、2 xディスクアレイを想定すると、次のディスクがあります

  • 2 x 150(10,000)
  • 6 x 150(15,000)

これらはすべてローカルディスクです。

私の要件

  • 私のDBは350GBであり、デフォルトの10%増加に設定されています
  • 私のOSとSQL Serverはサーバー2k8R2です(C:ドライブOS +ページ+アプリケーション= 55Gb)
  • ログ要件は約70GBで、デフォルトの10%の増加に設定されており、定期的に切り捨てられます
  • 私のTempDbは現在約12GBで、デフォルトの10%増加に設定されています

私の問題は、TempDBとOSおよびログをどこに配置すべきかを理解しようとしていることです。私の経験は、これら2つの最適な構成では制限されています

これはオンライントランザクションシステムではありません。大量のデータの書き込み(新しいデータ+インデックスの再構築/再編成)と、大量のデータの読み取り(約50/50と見積もっています)処理が約13時間あり、その後は静かです。

私の理解では、TEMPDBはログと比較して通常の処理中に頻繁に使用されます。

私の考えは次のとおりです

  • 2 x 150g(15k)RAID 1 = 150g for OS + TempDB
  • 2 x 150g(10k)RAID 1 = 150g(LOGより遅いディスクに注意)
  • 4 x 150g(15k)RAID 5 = 150g(データ用)

これは良い考えのように聞こえますか?その後、必要に応じてLog + TempDBを交換できます。

ページングの問題によりTempDBをOSディスクに配置しない、またはデータよりも遅いディスクにログを配置しないなどの基本的なルールに違反していますか?

編集:

また、システムにはSSASがあり、エンドユーザーはキューブにのみアクセスします。上記の50%の読み取りは、SSASデータベースの処理にかかる時間に基づいています。

回答:


7

OSの場合は2 * 10k RAID1、その他の場合は6 * 15k RAID10。正直なところ、これだけ多くのディスクがある場合、1つのアレイが最も安全で、通常は最も速い賭けです。

テストする時間があり、実世界の再現可能な測定可能なワークロードがある場合は、OSドライブ上のtempdbでテストを実行してください(警告:tempdbファイルの増加を制限して、OSをスプラットしないようにします)。 。逆に、データの負荷とメンテナンスに中程度の改善が見られ、代わりにログがそこにあるため、時間が許せば1つか2つのテストを実行する価値があります。


追加の配列を使用する場合に何かありますか?TempDBを別のアレイ/スピンドルセットに含めないでください。50/50は、50%のDW処理と50%のSSAS処理(6時間の読み取り)に基づいていると推定しています。
Preet Sangha 2013

元の質問では、分析サービスキューブについての言及はありません。リレーショナルデータベースとキューブの両方がエンドユーザーによってクエリされますか、それともキューブだけですか?
Mark Storey-Smith、

1
+1私はあなたの推薦が好きです。tempdbをOSドライブに配置した場合、データベースファイルの最大サイズを確実に制限することに注意してください。不正なデータベースファイルがその特定のドライブをいっぱいにしたくないことは、誰もが同意できます。
Thomas Stringer 2013年

1
@PreetSangha Beliefは、サーバーまたはストレージの展開を計画するための優れた基礎ではありません。いくつかの時間を費やして、それがいくつかのシナリオで適切であり、他のシナリオでは適切でない理由を調査して理解する必要があります。リレーショナルデータベースからキューブを分離すると、ここに問題が生じる可能性がありますが、テストしないとわかりません。難しくはありません。1つのサイズですべてに対応できます。これに対するJFDIのアプローチは残念です。
Mark Storey-Smith

2
ワークロードを使用してさまざまなシナリオをテストおよび測定できれば、それが適切であることが判明する可能性があります。できない場合は、できるだけ高速なストレージの1つの大きなプールが、暗いスプリットでのショットよりも塊とバンプを吸収します。アイデアを弾きたい場合は、気軽にチャットに参加してください。データベースからキューブを分割する方法/かどうかを判断するための提案があるかもしれない、私よりもSSASの経験が豊富な常連がいくつかいます。
Mark Storey-Smith

3

マークに同意します。理想的なアプローチは、低速の2台のドライブをRAID 1に配置してO / Sのみにし、残りのドライブをRAID 10に配置して他のすべてのものにすることです。それが理想的です。

ただし、指定したサイズに基づいて、これにより、最初はエラーが発生する可能性がほとんどなく、拡張の余地がほとんどありません。ちなみに、ドライブの容量が150 GBだと誰かが言った場合、実際にはそれよりも小さく(146 GB?)、フォーマットされていない可能性があります。

残念ながら、ワークロードには大量の書き込みが含まれます。そのため、RAID 5 ...はあなたの友人ではありません。

少し余分な予算をうまく処理できる場合は、いくつかの方法があります。

  • 同じサイズのさらに2つの15kドライブ。「2 xディスクアレイ」の意味によっては、合計8台を超えるドライブは、新しいRAIDコントローラーが必要であることを意味します。(および/またはより大きなシャーシの可能性があります。)

  • TempDBデータ/ログおよびデータベースログファイル用のソフトウェアRAID 1の2つの〜120 GB SSD(PCI-expressまたはSATA)。これは実際には最速のソリューション、期間であり、2つのエンタープライズクラスの15kドライブ(同等のRAIDコントローラーは言うまでもありません)よりもかなり低いコストで済みます。これは、マザーボードに利用可能なスロット/ポートがあることを前提としています。

経営陣が予算どおりに進まない場合(この状況は、古いハードウェアが新しいプロジェクトに転用されているようなにおいがします...つまり、予算がゼロであることを意味します)、スペース上の理由からRAID 5を使用する必要があります。利用可能なディスクがなくてもそれを回避する方法。その時点で、最善の方法はおそらく、低速の2つのディスクをRAID 1に配置してO / Sのみを行い、残りをRAID 5に配置してスペースを最大化することです。RAID 5の使用を余儀なくされた場合、管理者はパフォーマンスの観点からそれが何を意味するかを理解することについて(書面で)承認する必要があります。


ありがとうございました。これはクライアントのサーバーなので、最終決定を下しますが、大規模な高速冗長ストライプが目的のベストであると認めています。私たちのサーバーは大きなSSDストライプを使用しています。
Preet Sangha 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.