Microsoft SQL Serverのインストール場所の重要性


10

安価な低速ディスクと高価な高速ディスクを搭載したサーバーがあります。

データベースなど、高速であることが重要なすべてのものに高価なディスクを使用したいと思います。

お金を節約するために、バックアップなど、高速でも低速でもほとんど変化がないものに低速ディスクを使用したいと思います。

さて、私の質問は、Microsoft SQL Serverを低速ディスクまたは高速ディスクにインストールする必要がありますか?

(明確にするために、データベースは何があっても高速ディスクに配置するので、私の質問はインストール自体の場所にのみ関係します)


3
120 GBの低書き込みssdが(a)CHEAPであり、(b)超高速であり、(c)すべてのOS +プログラムに対して十分に優れているとすれば、なぜこれを検討するのでしょうか。私は2年前にすべてのオペレーティングシステムを120GB SSDに移動しましたが、当時はコストはそれほど問題になりませんでした。今ではさらに関連性が低くなっています。
TomTom、2015年

ミッションクリティカルなデータベースをSSDディスクに信頼したいですか?私とあなたとのビジネスを決してしないことを
思い出し

2
@Shadurなんとフレームベイト。はい、SSDベースのRAID 10構成ディスクに配置します。このディスクは、他の2つのディスクにローカルに複製され、リモートの場所に毎晩バックアップされます。十年へようこそ!
Niels Brinch

@TomTomはあなたの言う通りですが、私はこの場合かなりコストに敏感な状況にあるので、このタイプのハイパー最適化にさえ悩んでいます。私の考えでは、ほとんどの質問がそうであるように、私の質問は、年が経つにつれますます無関係になります。
Niels Brinch

@NielsBrinch Cent SmartとPound Foolish。真剣に。
TomTom

回答:


11

これは意見のようなものですが、SQL Serverのバイナリを低速のディスクに置きます。バイナリをOSディスク(一部の人は嫌いですが)または低速のディスクに置くのが一般的です。

ただし、システムデータベース、特にtempdbをより高速なディスクに配置することを忘れないでください。実際、tempdbを単独で配置することも一般的です。

これは、あなたに役立つかもしれないと私が見つけ いくつか 記事と一致しています。

考えなければならないトランザクションログのバックアップもあります。高速なディスクにLDFが必要であり、データベースのある場所とは別のディスクにバックアップが必要なため、これに引き裂かれましたが、より高速なディスク。あなたは判断を下す必要があるでしょうが、私はおそらくより遅いディスクに戻ってそれについて不満を言うでしょう。;)


ありがとうございました。SQLサーバーのインストール(バイナリーなど)が低速または高速のディスク上にあるかどうかは、特にパフォーマンスに影響を与えないと言っていますか?
Niels Brinch

1
私が気づいたことではありません。そして、それはかなり一般的な構成です。
Katherine Villyard、2015年

6
バイナリ自体は特にIOバインドされていないため、キャサリンは正しいです。一般に、バイナリを高速ディスクに配置するとロード時間が改善されますが、コードがメモリから実行されるため、一般的な操作速度にほとんど影響しません。サーバーを頻繁に再起動しない限り、バイナリを低速のストレージに配置しても大きな問題にはなりません。
Corey

@Coreyは、非常に的確な説明に感謝します。これは私が探していたものです。
Niels Brinch

6

キャサリン・ヴィルヤードがすでに提起したかなり良い答えについてフォローアップしたいと思います。

データベースの使用目的によって多少異なります。
大量の書き込み操作が予想される場合は、先に進んで.mdf.ndfファイルとファイルをより高速なディスクに配置してください。

ただし、データベースが一般的に非常に静的である場合(たとえば、Webコンテンツを提供する場合)。そして、クエリはそれほど変化せず、大量のクエリがメモリに取得されるか、アプリケーション側でキャッシュされる可能性もあります。その時点で.ldftempdbとバックアップに高速のディスクを使用するほうがよいでしょう。

あなたは、このような用として大きなクエリ、多くの期待している場合は同様に、OLAPデータベースを、あなたはあなたを保存する方がいいでしょう.mdftempdbより高速なディスク上。また.ldf、ボトルネックになることはあまりないので、低速のディスクに入れてください。

いずれにせよ、バイナリを高速ディスクに置くことを気にしないでください。通常、それらは低速の(回避できない場合はシステムではありません)ディスクに置きます。
また、高速ディスク上で.ldf.mdfファイルの両方を取得しようとすることに夢中になることはありません。通常、それらは可能な限り分離されています。

要約すると、負荷を確認して、ボトルネックになる可能性が最も高いものを確認します。


3

あなたは物事を後方に持っています。直感に反することはわかっていますが、高速ディスク上のバックアップ(特にトランザクションログバックアップを含む)と低速ディスク上のmdf / ldfファイル(tempdbを除く)が必要です。

Sql Serverがデータの2つの表現を保持しているかのように考えることができます。MDF + LDFファイルはデータベースの現在の状態を表し、バックアップ(最後の完全バックアップ以降のトランザクションログバックアップを含む)は、障害発生時にデータベースの現在の状態を復元するために必要なものを表します。これらの2つの表現を互いに分離したままにしたいので、1つの表現を破壊するイベントが他の表現にも影響を与えないようにします。

これは、SQL Serverのパフォーマンスが判明する傾向に依存してLOTを使用すると、トランザクションログファイル書き込むことができますどのくらいの速により、そのバックアップを使用すると、MDFファイルにアクセスすることができますどのくらいの速上。これは、バックアップを高速ドライブに置くことを強く検討する必要があることを意味します(理想的には、ldfファイルに使用できる小さなSSDをサーバーに追加して、バックアップからの分離を維持しながら速度を上げることができます)。残念ながら、これはあなたのMDFファイルのための遅いドライブを残します、しかし再び:それはあなたが考えるほど重要ではありません。

上記は、十分なRAMがあり、一般的なワークロードに従い、単純ではなく完全復旧モードを使用することを想定していることに注意してください。さらに、システムのオペレーティングシステムとインストールされたSql Serverプログラム自体低速ドライブに配置することもできますが、もちろん、高速ドライブ上に住むだけのスペースが必要です。


バックアップとは、使用されていないが単に保存されているファイルを意味します。高速ディスクにmdfファイルとldfファイルの両方を配置します。mdfが低速のディスクに配置しても問題ないことは、興味深いことであり、予期せぬ情報でした。
Niels Brinch

1
mdfをバックアップ/ログと同じディスクに置きたくない。MDFはデータベースの現在の状態を表します。バックアップ+ LDFは、データベースを現在の状態に回復するために必要なものを表します。2つの表現を互いに分離したいので、一方を破壊するイベントが他方を損傷することはありません。また、ログとバックアップは高速ディスクにある必要があるため(パフォーマンスは、mdfファイルに書き込める速度よりも、ldfファイルに書き込める速度に大きく依存します)、つまり、mdfは低速ディスクに書き込む必要があります。
Joel Coel、2015年

上記のコメントのほとんどを回答に編集します。
Joel Coel、2015年

1
なぜあなたがそれについて言っているのか、.ldfそして.mdf災害の場合に分離する必要があるのか​​わかりません...災害復旧のためにどちらかを使用することは一般的に想定されていません、それがバックアップの目的です。データの損失を0にできるだけ近づけない場合は、ログのバックアップが非常に頻繁に行われるため、ログファイル自体に依存することはありません。
2015年

@Reacesそうです。私は頭がおかしくて、頭の中でTRNのバックアップについて考えているときに、指でLDFファイルを書いていました。一般的な考えは保持されますが、それを明確にするために大幅に改訂する必要があります(今はそれに取り組んでいます)。
Joel Coel、2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.