13

私は根っからの開発者ですが、時々、顧客にはこれらの問題に対処できる適切な DBA がいないため、決定を迫られます....

合理的なサイズの SQL Server データベース (Northwind または AdventureWorks よりも大きなもの) を扱う場合の戦略/ベスト プラクティスは何ですか? 複数のファイル グループを使用していますか? もしそうなら:いくつ?なぜ?

「すべてに対して 1 つのファイル グループ」アプローチからいつ移行するかを決定する基準は何ですか。

  • データベースのサイズ?
  • データベースの複雑さ?
  • 可用性/信頼性の要件?
  • ほかに何か?

複数のファイル グループを使用する場合、いくつ使用しますか? データ用に 1 つ、インデックス用に 1 つ、ログ用に 1 つ? データの数 (いくつ)? 選択した理由は何ですか -なぜその正確な数のファイル グループを使用するのですか :-)

4

6 に答える 6

13

Microsoft のトレーニングを受けたベスト プラクティスの方法論は次のとおりです。

  • ログ ファイルは別の物理ドライブに配置されます
  • データ ファイルは別の物理ドライブに配置されます
  • 複数のファイル グループ: 特定のテーブルが非常に大きい場合。多くの場合、トランザクション データベース (個別の物理ドライブ) で発生します。
  • 複数のファイル グループ: 範囲を使用する場合、またはルックアップ データを読み取り専用のデータベース ファイルに分割する場合 (別の物理ドライブ)

データの保存に関しては、MDF は技術的にはハード ドライブ パーティションと同様に機能することに注意してください。MDF はランダムに読み取られるファイルですが、LDF は順次読み取られるファイルです。したがって、それらを別々のドライブに分割すると、パフォーマンスが大幅に向上しますが、ソリッド ステート ドライブを実行している場合はパフォーマンスが向上します。

于 2009-02-13T06:50:08.767 に答える
3

SQL Server 2008 で複数 (少なくとも 2 つ) のファイル グループを持つことには、少なくとも1 つの正当な理由があります。FILESTREAM機能を使用する場合は、FILESTREAM データ専用のカスタム ファイル グループが必要です :-)

マルク

于 2009-03-10T21:41:42.260 に答える
1

通常、プライマリ ファイル グループを 1 つと、それに対するログ ファイルを 1 つだけ持つ必要があります。

非常に静的なデータがある場合は、この静的データを含む 2 番目のファイル グループを作成できます。その後、パフォーマンスを向上させるファイル グループをREADONLYにすることができます。結局のところ、これはかなり静的なデータです。読み取り専用行の数が少ない場合 (ルックアップ テーブルの値など) は価値がありません。しかし、一部のもの (たとえば、まだ読み込むことができるアーカイブされたコンテンツ) の場合、これは優れたオプションになる可能性があります。

このブログ投稿からアイデアを得ました。

HTH。

于 2009-04-03T02:44:37.950 に答える
0

私はさまざまなDBに取り組んできましたが、ファイルグループを使用したのは、ディスクの容量が不足しているときだけで、別のスピンドルに新しいファイルグループを作成する必要がありました。それが理想的ではないのには良いパフォーマンス上の理由があると確信していますが、それが現実でした。

于 2009-02-13T06:35:59.750 に答える
0

他の理由の中でも特に、テーブルをパーティション分割する場合は、追加のファイル グループが理にかなっています。そして、そのテーブルの場所条件が異なる多くの競合する読み取りがある場合、それは理にかなっています。そのような where-condition の 1 つを反映し、別のディスクに配置されるように各パーティションを構成できます。これにより、各読み取りが別のディスクに送信されるため、並列読み取りが行われ、競合が少なくなります。

于 2013-04-30T10:17:06.890 に答える