web-dev-qa-db-ja.com

SQLServerのベストプラクティスディスク使用量

パフォーマンスと安全性のために、以下を別々のディスクに配置することがベストプラクティスであることを読んでいます。

  • tempdb
  • データベースファイル
  • ログファイル
  • バックアップファイル

複数のディスクを使用するRAIDを検討すると、これは膨大な量の物理ディスクが使用されることになります。

順次書き込みパターンにより、ログファイルが独自の物理ディスク上にあることのメリットを理解していますが、他のファイルを物理ディスクではなく「論理」ディスクに分離できますか?

4
Chris

最初にソリューションを選択するときは、DBが準備できる最大のワークロードを知っておく必要があります。

インストールする製品がある場合、その製品には、さまざまなワークロードのセットアップに関する推奨事項があります。

製品が社内で設計されている場合は、ベンチマークを行い、パフォーマンスの制限とコストを作成します。アプリケーションを徐々にデプロイします。 Gmailの招待状を覚えていますか?これらは、実際にアプリケーションをテストするために作成されましたが、ユーザー数は制御されています。

パーティション上のデータを分離することはほとんど役に立ちません。唯一の利点は、断片化がもう少しローカライズされることですが、DB要求はほとんどランダムアクセスです。

RADI5は使用しないでください。 RAID1またはRAID10を使用します。データの整合性が重要な場合は、RAIDZ(iSCSI SAN上のZFS)である可能性があります。

4

...他のファイルを物理ディスクではなく「論理」ディスクに分離できますか?

同じ物理ディスク上にある異なる論理ディスクにそれらを配置できます。これでは、個別の物理ディスクを使用する利点がすべて得られるわけではありませんが、後でより多くの物理ディスクが必要であると判断した場合は、論理ディスクを新しい物理ディスクに簡単に移動できます。

2
hmallett

データベースファイルを複数のディスクに分散する主な理由は、パフォーマンスと可用性の2つです。

可用性はこれに要約されます:あなたはただデータファイル、ログファイル、バックアップファイルを同時に失うことを望まない時間;それらの1つを失うことは許容され、それらの2つを失うことは大きな混乱であり、それらすべてを失うことは完全な災害です。したがって、このリスクを最小限に抑えるために、それらを異なるディスクに配置します(そして、本当には、別のサーバーまたは外部ストレージにバックアップする必要があります。サーバーcanおよびwillは完全に破棄されます)。これがまったく意味をなさないためには、異なる物理ディスクを使用することが重要です。同じ物理ストレージに複数の論理ボリュームがあると、まったく役に立ちません。その物理ストレージが停止したとき。

パフォーマンスは少し注意が必要です。大規模なデータベースの場合、ファイルを保存する場所も2つまたは3つ以上必要になります。ただし、これはデータベースの設計とワークロードに大きく依存します。ただし、考えられるすべてのシナリオで、このstillは、異なる物理ディスクが関係している場合にのみ意味があります。2つのディスク操作を分割する用途は...終了した場合同じディスクで実行されていますか?ディスクは、ファイルが同じボリュームにある場合と同じように、異なるアクセスパターンで、異なるセクターで動作する同時要求を処理する必要があります。

1
Massimo

個別の論理ドライブを使用している場合でも得られる小さな利点の1つは、個々のコンポーネントのいずれかがスペースを使い果たした場合、他のすべてのコンポーネントも同時にスペースを使い果たしたことを必ずしも意味しないことです。より優雅な失敗。

0
user3490