Temp Table Temp
Table
Order By Order By
Temp Table Temp
Table
Table
( 参考 )DB2 の圧縮機能
辞書を使った行レベルのデータ圧縮 (V9.1
~)–
辞書には、レコードにある特定のパターンが記録される–
ディスク使用量の削減–
より多くのデータが圧縮された状態でバッファープールに乗るため、バッファープール ヒット率の向上が期待できる–
ディスクへの読み書き量が削減できるため、特にI/O
ネックのシステムにはパフォーマンス 向上の効果がある名前 部署 給与 都道府県 区・市 郵便番号
Fred 500 10000
東京都 港区24355
John 500 20000
東京都 港区24355
01 500
02
東京都,
港区,24355
… …
Fred 500 10000 東京都 港区 24355 John 500 20000 東京都 港区 24355 …
ディクショナリー
Fred (01) 10000 (02) John (01) 20000 (02) …
物理設計のステップ
データ容量の見積もり
インスタンスの構成と データベース分割
表スペース容量の見積もり
表の分類と 表スペースの構成
ディスク上への オブジェクトの配置
表・索引以外のオブジェクトの配置
表・索引以外のオブジェクト
どの処理を最も優先的に速くしたいかを考えて配置する
ポイント
アクティブ・ログへの書き込み速度は、データベースの更新処理の パフォーマンスにとって特に重要。
まずはアクティブ・ログの配置をどうするか考えること。
ログ
アクティブログと アーカイブログ
一時表スペース
カタログ表スペース ワーク
バックアップ領域 その他の領域
ロギングのしくみ
ログ・ファイル
– データベースへのすべての更新内容を発生順に記録しておくファイル
ログ・データがログ・バッファーからディスクに書き出されるタイミング – COMMIT時 または ログ・バッファーが一杯になったとき
– ログ・バッファーの中のデータ部分だけが書き出される
アクティブ・ログの最大サイズ – 1024GB
– (LOGPRIMARY + LOGSECOND) * LOGFILSIZ * 4KB
ログ バッファープール
データ
変更された データ
非同期 書き出し
コミットしたら 更新内容を 必ず書き出す
agent
ログ
バッファー ロガー
一時表スペースの配置
一時表スペースとしてはSMSがお勧め(一般)
– スペースの有効利用
– 多くのクライアントアプリケーションからのソート要求を処理する場合、DMSよ りパフォーマンスが良い
– 複数( 3 ~ 4 つ)のディレクトリを割り当てる
ページサイズ毎に1つ作成
– 一時表スペースを使用した再編成の場合、テーブルの存在する表スペースの ページサイズと一時表スペースのページサイズは同じである必要がある。
一時表の I/O が多く、データ/索引用の表スペースの I/O と衝突する場合は、
別ディスクに配置する
指針
カタログ表スペースの配置
CREATE DATABASE 時に自動的に作成 – デフォルトのページ・サイズは、 4KB
– 表スペースタイプはデフォルトを利用する
• 自動ストレージ・データベースでは DMS タイプ 非自動ストレージ・データベースではSMSタイプ の表スペースが作成される
– データベース作成時に、カタログ表スペースのページ・サイズ
を 4KB 以外( 8,16,32KB )に指定可能
ワーク/バックアップ領域の配置
バックアップしたデータの保管場所
– ディスクへのバックアップの場合、バックアップ元のあるディスクとは別にする – 1つのディスクでは要求が満たせない場合、複数のディスクへのバックアップを
検討
– テープへのバックアップは、 TSM がサポートしていれば、複数テープへの同時書 き込みによって高速化が可能
ロード元のデータの保管場所
– ロード元のデータを格納するファイルシステムのパフォーマンスを考慮する – 一時表スペースとは別ディスクに配置する
• ロード時の入力ファイルと、ソート用の一時表スペースの I/O が競合
するとロードのパフォーマンスに悪影響が考えられる
参考:その他の領域
ドキュメント内
第5章 データベースの物理設計
(ページ 61-69)