回答:
大量の小さな読み取りを実行している場合、SSDははるかに高速です。 以下は、データベースのパフォーマンスに関する数少ない比較の1つです。 一番下のグラフで短い答えを見てください。
生のパフォーマンスについては、SSDには多くの利点があります。主な利点は、シーク時間が実質的に0であることです。これは、データベースが行うすべての小さなHDヒットがはるかに速く処理されることを意味します。
ただし、書き込みの存続期間に関する現在の世代については、書き込みが多くなるとブロックが使用できなくなるため、いくつかの懸念があります。彼らはかなりの量を書き込むことができると私は考えています。Intelの言うところによると、32GBドライブのペタバイト単位のバイトは、危険なレベルのウェアに到達する前に...
それらがそれほど優れたパフォーマンスを発揮する理由をさらに理解するには、SSDに関するAnandtechの記事をお読みください。彼はドライブの詳細、何が良いか、何がそうでないか、そしてそれらがどのように機能するかについての詳細を説明します。上部には、最新のドライブシリーズをカバーするフォローアップ記事へのリンクもあります。
次のペーパー「SSDへのサーバーストレージの移行:トレードオフの分析」を読むことをお勧めします。
私の意見では、サーバー領域でのSDDのメリットはまだ十分ではありません。おそらく数年後には購入する価値があるかもしれませんが、今のところボットはHDDの方が適しています。
Nick Craverの答えは良いです。私はSSDに2つの警告を追加したいだけです。
a)SSDの書き込み摩耗に関する問題は解消されていません。これらは使用されているフラッシュセルの基本です。SLCセルの書き込み耐久性はMLCよりもはるかに高いため、OPはMLCよりもSLCドライブを使用することを検討する必要があります。もちろん、SLCも大幅に高価です。
b)現在のドライブは、データを書き出す前にドライブにキャッシュします。したがって、書き込み操作中に電源が切断されると、データが失われるリスクがあります。これは回避できるものですが、キャッシュはパフォーマンスと書き込みの増幅の削減の両方のためにあります。
上記の私見はどちらも契約違反者ではありません。今日、SSDを運用環境に展開する準備ができていますが、最初に計画を立てます。
覚えておくべきこと。
読み取りが遅くなるほどデータベースにアクセスしていてSSDが必要な場合は、インデックスを修正するか、サーバーにRAMを追加することを検討する必要があります。
ほとんどのデータベースサーバーは、完全に調整されると、SSDを適切に実行する必要がなくなります。
考慮すべき1つのことは、トランザクションログをHDDに、MDFをSSDに置くことです。また、寿命はアプリケーションのタイプに大きく依存します。OLTPは、適度に静的なデータに問題がないはずの場所で、すぐに書き込みます。
ここに私自身の経験が混在しています...
SQL Server 2008 Express R2を搭載したWindows 7でのテスト。Sandy Bridgeと12GがインストールされたRAM(DDR3だと思いますか?)を備えたi7デスクトップで実行しています。セットアップがデスクトップであるため、サーバーを構築する前に、i7プラットフォームで管理できるレコードの数を確認しました。
私は最初にこれらのテストをインストールされた1.5TB 7200rpmドライブで実行して、基本タイミングを取得しました。
更新プロシージャを含む10kレコード、以前に関連したデータをフラットテーブルに格納するようにテーブルを最適化し、開始点としてタイミングを数秒まで下げるまでインデックスを追加し、次にレコードを120万まで複製してタイミングを取得しました同じ更新の0:3:37の。この非RAIDセットアップでは、3.5分は悪くありません。
最大256万レコードを複製すると、タイミングが0:15:57になり、ほぼ5倍に増加しました。ほとんどの場合、インストールされている12Gメモリのページングが原因です。
SSDドライブをインストールしてデータベースを移動したところ、実際のタイミングは20分強に増加しました。これは、ページファイルがハードドライブごとであり、SSDドライブにはOSドライブとしてインストールされていなかったため、デフォルトでは何もなかったためと思います(私が試したときにブルースクリーンが豊富にあります)。
SSDドライブにページファイルを追加し、テストを再実行しました。0:5:52 -mなので、ページファイルでトリックが実行されたようですが、上記のすべての理由から、ページファイルがSSDドライブに適しているかどうかはわかりません。それらは非常に書き込みが多く、ドライブに過度の摩耗や損傷を与える可能性があります。
注意点の1つは、そのドライブでSmartboostを有効にしたことです。これはタイミングにも影響した可能性があり、それなしで再実行されます。
私の最高の感覚は、最近ではメモリを追加する方が簡単だということです。ハイブリッドディスクのRAID 0 + 1のRAIDは、問題なくほぼ同じように機能します。
編集:SSDのページングファイルを無効にして、スマートブーストが機能するようにしました。タイミングが5:52分から4:55分に改善され、それぞれが3回の更新で、256万レコードが更新されました。次に、Seagate 750Gハイブリッドドライブで8G SSDキャッシュを試してみます。それが悪くないなら、レイド0 + 1で試してみます。
これは古いスレッドなので、これに関する最後の更新ですが、誰かが見つけられるように、取得した結果をそこに置きたかったのです。
データベースを8G SSDキャッシュを備えたSeagate 750Gハイブリッドに移動する私はSSDキャッシュが学習できるようにテストを数回実行しました。同じテストで5:15 m:sのタイミングが得られ、256万レコードが更新されます。これはSSDのパフォーマンス(Intel Smartboostの場合は4:55 m:s)に十分近いため、コストを考慮することができます。
ハイブリッドは約50ドル(現在239ドル対189ドル)で、最適化のための追加のソフトウェアを実行することなく、6倍以上のストレージとほぼ同じパフォーマンスを提供します。RAID 0 + 1では、タイミングが大幅に改善されることを期待しており、このドライブには5年間の保証が付いています。
Microsoft Researchの記事は、パフォーマンスの向上ではなく、GBあたりのコストに関係しています。ドライブに実際に適合してテストするのではなく、実際のサーバーからのログファイルに基づいてレトロキャストアルゴリズムを使用します。
SSDとSQLで頭に浮かぶいくつかのこと:
1 /正しいインデックスの追加を怠った場合、ランダムシーク時間が非常に短いため、SSDはより寛容になります。
2 /その調査が実施されたときのコストはかなり下がっています。たとえば、エンタープライズExchangeサーバーではなく電話アプリのバックエンドを実行する小規模なWebアプリケーションの場合、SQL Serverをチューニングするコンサルタントを雇うコストを節約できます。
3 /シャドウコピーを備えた単一のSSDドライブは、RAIDキャビネットの多数のスピンドルとコントローラーおよび接続よりも確実に安価になります。電源、暖房、ラックスペースは言うまでもありません。
4 /スピンドルは、コンピューターで最も一般的に死ぬ部分であることで有名です。SSDには可動部品がないため、1時間のビジネスダウンタイムでSSDの価格が一気に高まる可能性があります。
5 / Wearは問題ですが、ランダムに断片化されたデータによってSSDの速度が低下しないため、摩耗を(散乱ブロックを含む)管理する方法があります。また、大きなディスク上の小さなデータベースは、将来的に安価な新しいデータベースを購入するのに間に合わなくなる可能性が高くなります。
6 /非リレーショナルデータベースに移行し、中間層で結合を行う傾向があります。これは実際に状況を変える可能性があります。I/ Oは、シャード上のSSDドライブ上の単純なインデックスなしのテーブルになり、パフォーマンスを低下させることなく、より単純なスケーリングを提案します。シャードごとのSQL Serverライセンスも節約できます。
7 /これはすべて理論的なものです。誰かがスピンドルに対して実際のパフォーマンステストを行っている場合は、ぜひご覧ください。
ルーク