DB2 Server

コンプライアンス強化のインフラ最新技術情報
日本アイ・ビー・エム株式会社
ソフトウェア事業 IMテクニカル・セールス
ICP ITアーキテクト 岡口 純子
Agenda
 進化したワークロード管理
– 今までのワークロード管理
– V9.5でのワークロード管理
 コンプライアンスの為のセキュリティー強化
 これらを支えるアーキテクチャー変更
 その他の新機能
2
進化したワークロード管理
とモニタリング
3
DB2 9.1までのワークロード管理ソリューション
Query Patrollerによるクエリー管理
DB2のオプティマイザーが算出した
コスト(timerons)に応じtて実行制御
SQL(一般)
営業担当者
SQL
SQL(優先)
SQL
マネージャ
SQL(大規模)
Query Patroller
DB2
(分析用データベース)
アナリスト
SQL(一時的に最優先)
Predictiveな管理ツール:
実際にSQLを実行する前に管理
緊急利用者
QueryPatrollerの制御で、どの規模のクエリーもバランスよく実行される
A A A A A A A A A A A
B
C
B
B
C
4
DB2 9.1までのワークロード管理ソリューション
DB2ガバナーによるクエリー管理
バッチ
処理
低い優先順
位
DBサーバ
SQL
SQL
DB2
オンライン
処理
高い優先順
位
 システム・モニター情報をベースにアプリ
ケーションの管理を行う。
 そのリソース使用状況をもとに、事前に
設定された制限値と比較。制限値を越え
ているものがある場合は、構成ファイル
の記述に従い、以下の制御を行なう。
– 優先順位の変更
– 接続の強制切断
DB2ガバナー
による監視
Reactiveな管理ツール:
実際の処理のモニタリング結果を見て制御
5
V9.5のワークロード管理では
 予測とモニターを組み合わせた安定的な実行環境を提供
 活動中のワークをモニターするための負荷の軽く、粒度の細かいモ
ニター方法を実現
 よりよいリソース管理
– 明示的にワーク間のリソースを配置 (CPU プライオリティー)
– 過度の、予想外のリソース消費を制限する(高負荷のクエリーのコント
ロール)
 よりよいリクエスト管理
– ビジネス・プライオリティーベースのワーク管理
– ワークのパフォーマンスのトラッキング
 エンドツエンドのワークロード管理ソリューション
① ワークロードを分類
② 実行環境を提供
③ 分類に応じた活動モニター
6
V9.5における新しいワークロード管理
各接続は、事前定義の
「ワークロード」に分類
予測した結果、閾値を超
えるワークロードの
Subclass変更
DB2
アプリケーション
からの要求
エージェントに割り当てられ
るCPUの優先順位、プリ
フェッチ要求の処理優先度
の設定可能
Superclass 1
Workload A
Workload B
Work
Action
Set
各ワークロードが処理され
るサービスクラスを定義
Work
Class
Subclass A
Work
Class
Subclass B
各サービスクラスに対して
様々な閾値を定義可能
Workload C
活動情報
Workload D
Default
workload
システムによる要求
Default
User Class
Default
System
Class
Workload
Service Class
•各ワークロード、サー
ビスクラスにおける稼
動情報
•実行時の統計情報
•実行SQL、入力値
•閾値を超えたときの
情報
AIX WLMと連携
7
DB2 WLMの主要な機能の要約
 DB2 Service Class
– 実行される作業のリソース制御を行う
– DB2内で処理される作業をAIX WLMと連携させる
 DB2 Workload
– サブミッターの作業を制御する
– あるDB2 Service Classに作業を割り当てる
DDL文で定義
 DB2 Threshold
– 予測的(predictive)と反応的(reactive)なエレメントをベー
スにデータベース・アクティビティーの活動を制御する
– データベース・アクティビティーの並列度を制御する
 DB2 Work Action Set
– データベース・アクティビティーを異なるタイプとして区別し、
サービス・サブクラスにマッピングする あるいは しきい
値を設ける機能を提供
 DB2 WLM Monitor and Control capabilities
– DB2 WLMをモニタリングするため、新しい表関数、イベ
ントモニター、ストアード・プロシージャーを提供
8
Design StudioによるWLM定義
 Design Studio(DB2 DWEに包含)により、GUI Toolでの
WLM定義および管理が可能
9
DB2 V9.5 Workload Managerの特長
 様々なタイプの処理が同時並行に行われる環境の安定稼動
– サービスクラスに対してCPUの優先度や先読みの優先度を指定する
ことが可能
– 異常なクエリーの制御
– データベース内の稼動状況に関する詳細なモニタリング
 DB2のコアエンジンに組み込まれた機能
– 詳細な管理とモニタリングの機能を最小のオーバーヘッドにて実現
 AIXのWLMなど、OSのワークロード管理機能との緊密な連携
 Query PatrollerやDB2ガバナーが提供する機能の代替
– Workload Managerは、Query PatrollerやDB2ガバナーの後継
– Query Patrollerと併用して利用することも可能
10
DB2 V9.5のWLMでどんなことが出来る?
 使用例
– アプリケーション毎に優先順位の制御
• “オンラインを優先させて、バッチ処理同時実行によるレスポンス低下
を抑えたい”
• “月末の契約処理を優先させたい”
– “暴走”クエリーの制御
• “あらかじめコストの高いSQLステートメントは停止したい”
• “モニタリング機能を使って、実行時間の長いSQLステートメントを特定
したい”
– 並列度の制御
• “事前に定義した接続数を超えると、キューに待機させたい”
• “部門ごとに重いクエリーは同時に一つだけにしたい”
11
実行要求から終了までの流れ
見積もりコストが10万を
超えたアクティビティーは、
アクティビティーを停止
アクティビティー
実行終了
予測的しきい値
の評価
アクティビティー
実行開始
アクティビティー
実行の要求
反応的しき
い値の評価
(進行中)
並列度の
しきい値
評価
アクティビティの並列度が
100を超えた場合は、
キューに待機
異常に長い時間がかかっ
ているジョブを検出
12
DB2 Performance Expert V3.1
システムの日常の状態を蓄積
H/W,OS,DB2の問題の発生した時点に遡った分析
DBの使用傾向から、HW資源有効活用をプラン
長期的にデータを保管
パフォーマンス・レポートの容易な作成
テキストデータ取得、Excelによる表、グラフ出力作業が不要
PE クライアント
Performance Expert サーバー
Performance database
for platform 1
and platform 2,3,..,x
Performance Expert サーバー用DB2
監視対象DB system 1
Monitored DB system 2
Monitored
DB 2system 2
監視対象
DB system
監視対象platform 1
Monitored
platform
x
Monitored
platform
3
監視対象platform
2
CIMO
M
CIMO
M
CIMO
M
Performance Expert サーバー platform
CIMO
M
V3.1の新機能
•複数の監視対象の情報を一つの
DBに蓄積
•DB2 9.5の新しいsnapshotカウン
ターに対応
•DB2 9.5 WLMに対応
13
ワークロードのモニタリング
Performance Expert システム概要画面 KPI
サービスクラス毎のワーク
ロード管理が可能
それぞれのKPI
に対してドリルダ
ウンし、詳細を参
照可能
それぞれのKPIに対して、対応策、Tipsなど
の情報を参照可能
14
サービスクラス単位のワークロードのモニタリング
15
長期的な履歴と傾向の分析
前年の履歴を
参照し、傾向を
吟味可能
表示する期間
の変更が可能
16
コンプライアンスの為の
セキュリティー強化
17
DB2監査機能の機能拡張
 監査対象のより詳細な指定が可能に
– ユーザ、グループ、ロールの認証IDのリストを指定可能
– 特定な表オブジェクトを指定可能
– 信頼されるコンテキスト(後述)による監査も可能
 オーディットパフォーマンスの向上
 静的、動的SQLステートメントのより詳細な監査記録
– コンパイル環境とSQLテキストを含み、オプションで入力
データ値も含めることが可能
 監査記録保持方法の改善
– 最大ファイル・サイズと保管場所の変更
 DB2 for z/OSとの互換性の向上
18
DB2監査機能(db2audit)の新機能
要件
設定
対象
EXECUTE category
TABLE
SYSADMIN category
SYSADM権限
CHECKING category
USER
VALIDATE category
ROLE
特定テーブルの
実行SQLを記録したい
特定権限の
管理者の操作を記録したい
特定ユーザーの
表へのアクセスを記録したい
特定ロールの
ユーザ認証を記録したい
ALL
Database
AUDIT
CHECKING
AUDIT POLICY
CATEGORY
Tables
OBJMAINT
Authorities
SECMAINT
SYSADMIN
Users
AUDIT
VALIDATE
Groups
CONTEXT
Roles
EXECUTE
Trusted Connections
19
DB2監査機能(db2audit)の利用方法
SYSCAT.AUDITPOLICY
create audit policy
① 取得データの決定
ポリシー作成:create audit policy
SYSCAT.AUDITUSE
audit
オブジェクトとの紐付け:audit
db2audit start
② 監査機能の開始と停止
DB
DB
db2audit start / stop コマンド
APPL
audit
buffer
DB
③ 監査レコードの抽出
db2audit.log
監査バッファーのフラッシュ、
db2audit flush コマンド
db2audit stop
db2audit archive
監査ログのアーカイブ db2audit archive
監査レコードの抽出、db2audit extract コマンド
tableなど
db2audit extract
ASCII File
20
Trusted Contextによるユーザー特定と監査
 監査機能の向上
– これまでは・・・
アプリケーションサーバー
DBサーバー
すべて
APPLUSER
による接続
TABLE A
APP
USER
APP
USER
人事
TABLE B
開発
– TRUSTED CONTEXTを使用すると・・・
アプリケーションサーバー
TRUSTED
CONNECTION
DBサーバー
誰がどの表にア
クセスしたか監
査可能
TABLE A
人事
開発
APP
USER
人事
APP
USER
開発
SWITCH
TABLE B
適切なアクセス
権限
TRUSTED
CONNECTION
21
データベース ロールのサポート
 データベースの特権・権限管理の簡素化
 ロール毎に各オブジェクトへの権限付与が可能
 ビュー、パッケージ、トリガーのようなSQLオブジェクトを作るのに適切な
特権が必要なユーザに対して、ロールを通してアサインすることが可能
 データベースの中で管理され、グループと違って、ビュー、トリガー、
MQT,静的SQLとSQLルーチンを作成する時にDB2によって考慮される
システム部
人事部
SERVER
ALICE
BOB
TOM
CLIENT
TOOLS
EMPLOYEE
22
DB2 Audit management Expert
GUIで監査内容を指定して、レポート・監視機能を提供
DB2 Audit
Management
Expert
Administrator GUI
DB2 Audit
Management Expert
Reporting GUI
Windows
Windows
Server
Repository
Windows
Clients
DB2 Subsystem
/ Instance
DB2
Server
Agent
Source
Tables
DB2 Subsystem
/ Instance
23
AMEによるレポート画面例
監査結果のレポート
24
DB2 Encryption Expert
DB2を経由しない
脅威からのデータ保護
 バックアップデータの暗号化
 DB2 コンテナー(データファイル)の暗号化
DB2
Server
offline files
Web
Administration
Backup
https
EE FS Agent
EE DB2
Agent
DB2 Containers
Encryption Expert
soap/https
Security
Server
Key, Policy,
Log Store
25
これらを支える
アーキテクチャー変更
26
V9.1までのアーキテクチャー
 プロセスモデル
– UNIX、Linux プラットフォームのDB2では、インスタンスやデータベースに
おいて、DB2の作業を行うEDU(Engine Dispatcher Unit)は、インスタン
ス・ユーザーをオーナーとするプロセス群で構成
UDB Client Library
Shared Mem & Semaphores, TCPIP, Named Pipes,…
Idle Agent
Instance Level
Pool
db2agent (idle)
db2tcpcm
db2agent
db2ipccm
Database Level
db2agntp
db2agntp
Active
Logging
Subsyste
m db2loggr
db2loggw
Log
Disks
Log Buffer
Deadlo
ck
db2dlock
Detecto
r
Buffer
Pool(s)
Idl
e
Commo
n
Client
UDB Server
Listener
s
Coordinator
Agents
Subage
nts
db2pfchr
Prefe
tcher
s
Page
Process/Thread
Organization
Per-instance
Per-application
Per-database
Idle, pooled agent or
subagent
EDUとは、DB2の
作業を行う単位
Health Monitor
db2pclnr
Cleaners
db2acd
Data Disks FMP
27
db2fmp
V9.5でのアーキテクチャー
 スレッドモデル
– V9.5からは、 UNIX、Linux プラットフォームにおいて、従来のようなプロセ
ス・モデルではなく、db2syscプロセスが 1つ存在し、残りのEDUは
db2syscプロセス配下にスレッドとして存在するアーキテクチャーに変更
UDB Client Library
Shared Mem & Semaphores, TCPIP, Named Pipes,…
Idle Agent
Instance Level
Pool
db2agent (idle)
db2tcpcm
db2agent
db2ipccm
Database Level
db2agntp
db2agntp
Active
Logging
Subsyste
m db2loggr
db2loggw
Log
Disks
Log Buffer
Deadlo
ck
db2dlock
Detecto
r
Buffer
Pool(s)
Idl
e
Common
Client
UDB Server
Listener
s
Coordinator
Agents
Subage
nts
db2pfchr
Prefe
tcher
s
Page
Process/Thread
Organization
Per-instance
Per-application
Per-database
Idle, pooled agent or
subagent
V9.5からは、点線
枠で囲まれた部分
は、1つのプロセス
となる。各EDUは、
スレッドとして存在
して、 db2syscプロ
セスに紐づく。
Health Monitor
db2pclnr
Cleaners
db2acd
Data Disks FMP
28
db2fmp
スレッドモデルのメリット(1/2)
 パフォーマンスの向上
– スレッド間での情報引渡しは、プロセス間でのやり取りに比べれば、一般的に速い。
 リソースの節約
– EDUがプロセスだった際には、個別のプロセスで保持していた管理情報を、
db2syscプロセスが持つメモリー空間で共有するので、情報の二重持ちがなくなる。
モニターや監査の為の負荷軽減!
(軽いモニターを実現)
29
スレッドモデルのメリット(2/2)
 メモリー管理の容易
– インスタンス全体で消費されるメモリー量の把握が、従来より容易になる。
– AUTOMATICに設定、動的に変更可能な構成パラメーターが増える。
– エージェント間で情報が共有されるため、アプリケーション・グループ共用
メモリーが不要になる。
 自己チューニングメモリー(STMM)の機能拡張
– アプリケーションも含めたメモリー管理を実現
– V9.1までは、AIX、Windowsのみ。
– V9.5では、Linux, Solaris, HP-UXにおいて、DATABASE_MEMORYに
AUTOMATICが設定可能。
30
進化した自己チューニング・メモリー管理(STMM)
DB2 9.5
DB2が自動的にメモリー・チューニングを実施
–
–
–
オペレーティング・シ
管理者がメモリー・チューニングを実施する必要なし
ステムのメモリ管理
予期しないワークロードを検知し、タイムリーにチューニング
対象がデータベース共用メモリーからアプリケーションが使うメモリーまで拡大
V9.1までは
共用メモリー
まで管理
INSTANCE MEMORY
DATABASE MEMORY
Buffer
Pool 1
Buffer
Pool 2
Lock List
APPLICATION
MEMORY
APPL 1
管理・調整対
象が拡大
Sorts &
Hash Joins
APPL 2
Package Cache
31
STMMによる効果例 ー 機敏な自己チューニング
DB2 9
 大規模OLTP環境: 13BP、128GBメモリー、2TB DB、370クライアント
– 自動調整効果:1時間で2倍、1.5時間で3倍のスループット向上
今やオートノミック機
能は人手では実施で
きない領域を可能に
32
その他の新機能
33
行圧縮の機能拡張
 行圧縮(V9)の拡張
– 表の自動圧縮
• 予め設定した表サイズに達した時に、自動的にサンプリングをベース
としたディクショナリとデータを作成
• ディクショナリの作成後は挿入および更新される全てのデータは圧縮
• 使用可能にするためには、表はCOMPRESS YESを指定
– 再編成せずにLOADするだけで自動圧縮
1/4以下に!
あるお客様データの圧縮例(V9.1)
Compression Type
32KB Page Count
Space Required on Disk
非圧縮
5893888
179.9GB
圧縮後
1392446
42.5GB
% Pages Saved: 76.4%
非圧縮
圧縮後
34
System pとの連携
 他社と比較し優位性のあるIBM DB2 9.5とSystem p
の組み合わせ
– DB2 9.5ワークロード管理機能とSystem pのワークロー
ド管理機能およびAIX 6のWPARの連携
– DB2 9.5 DECFLOATとPOWER6 DECFLOATの連携
による浮動少数点演算の高速化
– DB2 9.5とPOWER6ストレージ・キーの組み合わせによ
るDB2バッファープール保護
– DB2 9.5とPOWER6の組み合わせによるIBM
Balanced Warehouse E7100とTPC-H 10TBの性能
No.1
35
バッファープール・メモリー保護
 バッファープール・メモリー保護
–POWER6のストレージキー保護機能により、DB2のバッ
ファープールが他のアプリケーションによって破壊され、デー
タベースが停止することを削減
• Power 6 hardware and AIX 5.3 TL 06 required.
–DB2のエージェントが必要とする場合のみ、バッファープー
ルのアクセスが許可される
• DB2_MEMORY_PROTECT 、DB2_THREAD_SUSPENSION で設定
36
TPC-H IBM Balanced Warehouse E7100
World-record 10TB TPC-H
360000
IBM Balanced Warehouse E7100の構成でNo.1
を達成
DB2 Warehouse 9.5 、 POWER6 、 DS4800
storageの組み合わせ
343551
QphH
300000
Oracle 10gとHP Superdomeの組み合わせの2
倍の性能差を実現
240000
180000
120000
171380
108099
6TB/時間の高速なロード (データロード, インデック
ス生成, runstatsを含む)を実現
60000
0
IBM p 570/DB2 9.5
HP Integrity Superdome-DC Itanium 2/Oracle 10g
Sun Fire E25K/Oracle 10g
TPC Benchmark, TPC-H, QphH, are trademarks of the Transaction Processing Performance Council. For further TPC-related information, please see http://www.tpc.org.
DB2 Warehouse 9.5 on IBM System p 570 (128 core p6 4.7GHz), 343551 QphH@10000GB, 32.89 USD per QphH@10000GB available: April 15, 2008
Oracle 10g Enterprise Ed R2 w/ Partitioning on HP Integrity Superdome-DC Itanium 2 (128 core Intel Dual Core Itanium 2 9040 1.6 GHz), 171380 QphH@10000GB,
32.91 USD per QphH@10000GB, available: April 1, 2007
Oracle 10g Enterprise Ed R2 w/ Partitioning on Sun Fire E25K (144 core Sun UltraSparc IV+ - 1500 MHz): 108099 QphH @53.80 USD per QphH@10000GB
available: January 23, 2006
37
管理コンソール 迅速な問題判別
ダッシュボード
ヘルスチャート
注意すべき問題はなにか?
システムに何が起こっているか?
管理者
原因分析、対応方法
アラート・リスト
„日中に発生した問題は何か?
原因と適切な対処方法は何か?
38
まとめ
 より進化したワークロード管理
–
–
–
–
–
コンプライアンスを遵守した
安定したパフォーマンスの
インフラを提供
ワークロード別の優先順位・リソース制御
ワークロードを予測した事前制御
軽いモニターによる実行中のワークロード管理・制御
Design StudioによるWLM定義
Performance Expertによるモニタリング
 コンプライアンスの為のセキュリティー強化
– きめ細かな指定による詳細な監査を実現
– DB2 Audit management Expertによる監査レポート
– DB2 Encryption Expertによるコンテナー、バックアップの暗号化を実現
 スレッドモデルへのアーキテクチャー変更
– 軽いモニター、軽い監査の負荷軽減
– パフォーマンス向上
– STMMによる容易なメモリーチューニング
39
本日は
ありがとうございました。
40