2005年08月09日

データベースファイルの配置

パフォーマンスを考慮したファイルの実装と配置
データファイルを複数作成し I/O を分散
NTFS フォーマットディスクを使用 圧縮ボリュームは使用しない
システムテーブルとユーザー定義テーブルのデータのアクセスと書き込みを分散
○ ハードウェア RAID の考慮
RAID1(ミラーリング) トランザクションログの冗長化
RAID5 データファイル(主に検索系)パフォーマンス向上およびトランザクションログの冗長化
RAID1+0
(ストライプ付きミラーリング)
データファイル(主に更新系)パフォーマンス向上
ソフトウェア (OS) RAID よりも高パフォーマンス
  CPU に負荷をかけない
  障害発生時にシステムの再起動が不要
パフォーマンスを優先するならユーザー定義ファイルグループよりもストライピングを選択
○ データファイルを異なるディスク上に配置
データファイル (可能であればシステムカタログファイルとユーザーデータファイルも分割)
トランザクションログファイル
tempdb データベースファイル → 特にバッチ系処理が多い場合は考慮する
更新系ファイルと検索系ファイルの分割
○ テーブルとインデックスの分散配置
異なるディスク上に配置することでパフォーマンス向上 ← 1つのクエリでの同時アクセスが多い
テーブル本体と分けて配置できるのは非クラスタ化インデックスのみ
分散配置した場合、テーブルとインデックスは同時にバックアップを取る必要あり
RAID が使えればそちらを使ったほうがよい
○ ユーザー定義ファイルグループの使用
posted by w@ko at 17:06|  ・SQL Server ノート | このブログの読者になる | 更新情報をチェックする