none
データファイルのHDD配置について RRS feed

  • 質問

  • SQL2000からSQL2005にバージョンアップする事になり、新サーバ購入してデータ移行する事になりました。

    パフォーマンス維持の為HDD弾毎にデータファイルを持つのが良いと言われていましたが、SQL2005の場合も同じでしょうか?またそれ以外のパフォーマンス向上策ありますでしょうか?

    現在、C,D,EドライブをそれぞれRAID-1で作成し、それぞれのドライブにデータファイルを作成する予定です。

     

    2007年6月20日 0:01

回答

  • 確かにそうですね。

     

    ただ 中、大規模DBであれば、Windows / UNIX /  Linux は、DB領域はストレージ(SAN、NAS)を使用する傾向が

    多いみたいです。

    (フラッシュコピー/ボリュームコピーやストレージの切替を利用してダウン時間を最少にして保守を行うなど)

     

    また、チューニングの手順で言えば、メモリやDisk配置のチューニングは、テーブルの正規化、適切なIndex 、

    適切なクエリチューニング を行った上で、さらにパフォーマンス向上を望む場合に一般的に実施するものなので、

    Disk I/O, Disk Queue Length, Disk Time が明らかにボトルネックになっていることを除けば、そこまで気にかける

    必要はないと思います。(個人的にですが。)

    上記に書いたクエリチューニングを実施した方が、目に見えてレスポンスの向上が分かりますからね。

     

    興味があれば、下記を参考にしてみて下さい。

     

    - クエリの分析-

    < http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/optimsql/odp_tun_1_1pfd.asp >

     

    -SQL クエリ アナライザを使用した実行プランのグラフィカル表示-

    < http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/optimsql/odp_tun_1_5pde.asp >

     

     

    2007年6月21日 2:54

すべての返信

  • Disk配置については、SQLServer2000 でも SQLServer2005 でも変わりがないような気がします。

     

    一般的には、下記のようなことがチューニングの本に書いてあると思います。

     ・システムファイル(OSのインストールされたドライブ)と同じ領域には、データファイルを置かない方が良い。

     ・データファイル(ランダム)とログファイル(シーケンシャル)を分離した別のドライブに配置した方が良い。

     ・ファイルグループを作成し、ファイルグループのセカンダリデータファイルを別のドライブに配置する。

     *ストライプのような効果。

     

    大規模なDBの場合は、パフォーマンス向上では無いと言われるかもしれませんが、

    データのパーティション化が有効です。

    詳しくは、下記を参照してみて下さい。

     

    SQL Server 2005 の パーティション分割されたテーブルとインデックス

    < http://www.microsoft.com/japan/msdn/sqlserver/sql2005/sql2k5partition.aspx#sql2k5parti_topic8 >

     

    パーティションの切り替えを使用した効率的なデータの転送

    < http://msdn2.microsoft.com/ja-jp/library/ms191160(SQL.90).aspx >

     

    ただ今後のパフォーマンス向上策(チューニング)についてですが、漠然と行うのではなく、

    例えば、ベースのパフォーマンスを日々記録した上で、何のパフォーマンス(Disk I/O 等)が低下して

    いるのか(ボトルネック)を把握し、どこまでパフォーマンスを向上させたら良いかという手順で、

    考えていくと、問題の解決が早まると思います。

    2007年6月20日 4:37
  • NOBTAさんありがとうございました。最近はHDDサイズが大きくなり、システムドライブを独立させるには、あまりにデカイ・・・・ので、この部分は難しいですね。RAID-5にしてしまえば、みな同じですが・・・
    2007年6月20日 4:46
  • 確かにそうですね。

     

    ただ 中、大規模DBであれば、Windows / UNIX /  Linux は、DB領域はストレージ(SAN、NAS)を使用する傾向が

    多いみたいです。

    (フラッシュコピー/ボリュームコピーやストレージの切替を利用してダウン時間を最少にして保守を行うなど)

     

    また、チューニングの手順で言えば、メモリやDisk配置のチューニングは、テーブルの正規化、適切なIndex 、

    適切なクエリチューニング を行った上で、さらにパフォーマンス向上を望む場合に一般的に実施するものなので、

    Disk I/O, Disk Queue Length, Disk Time が明らかにボトルネックになっていることを除けば、そこまで気にかける

    必要はないと思います。(個人的にですが。)

    上記に書いたクエリチューニングを実施した方が、目に見えてレスポンスの向上が分かりますからね。

     

    興味があれば、下記を参考にしてみて下さい。

     

    - クエリの分析-

    < http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/optimsql/odp_tun_1_1pfd.asp >

     

    -SQL クエリ アナライザを使用した実行プランのグラフィカル表示-

    < http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/optimsql/odp_tun_1_5pde.asp >

     

     

    2007年6月21日 2:54