【B-1】 登場 DB2 9.7 −新機能の全貌 - IBM

【B-1】
登場 DB2 9.7 −新機能の全貌
日本アイ・ビー・エム株式会社
インフォメーション・マネジメント事業部
データ・マネジメント・テクニカル・セールス
IT アーキテクト
野間 愛一郎
コスト削減
コスト削減
パフォーマンス向上
パフォーマンス向上
他社DBMSからの容易な移行
他社DBMSからの容易な移行
ワークロードの管理
ワークロードの管理
セキュリティー機能の拡張
セキュリティー機能の拡張
pureXML
pureXML サポート
サポート
表パーティション
表パーティション
高可用性の実現
高可用性の実現
オートノミック機能の強化
オートノミック機能の強化
オートノミック(自律型)機能実装開始
オートノミック(自律型)機能実装開始
連続可用性の向上
連続可用性の向上
1. 低コスト
2. 信頼性
運用管理の自動化とス
トレージの最小化を高
いパフォーマンスにて
実現
業界で実証されてきた
信頼性、可用性, セキュ
リティ、連続稼動の技
術
3. 使いやすさ
開発、仮想アプリケー
ションを容易に実現
4. 先進性
XML管理など、業界
をリードするデータ
ベース・テクノロジー
私達が最終的にDB2を選択した理由は、第一に信頼性、第二にはパフォーマン
ス、そしてもっとも重要なポイントは使いやすさでした。
‒ Bashir Khan, Director of Data Management and Business Intelligence
1. 低コスト
優れたデータ圧縮機能
低ストレージコストの実現
リソースコストの削減
効率的なストレージ管理
動的SQLコンパイルの
オーバーヘッド削減
ディスクI/Oコストの削減
低ストレージコストの実現 - データ圧縮機能
実データをもとに辞書を作成し、辞書を使用して実データを圧縮
‒
‒
‒
‒
‒
ディスク・スペースを大幅に削減
I/Oコストを大幅に削減
メモリー領域を大幅に削減
CPUコスト:評価の前に行を展開
大規模表の検索性能向上(I/O処理が占める割合が高い)
Dictionary
Name
Dept
Salary
City
Province
Postal_Code
01
opoulos
Zikopoulos
510
56105
Whitby
ONT
L4N5R4
02
WhitbyONTL4N5R4
Katsopoulos
500
82475
Whitby
ONT
L4N5R4
…
…
Zikopoulos 510 56105 Whitby ONT L4N5R4 Katsopoulos 500 82475 Whitby ONT L4N5R4 …
Unique
to DB2
Zik (01) 510 56105 (02) Kats (01) 500 82475 (02) …
データ圧縮 - 自動圧縮機能
Insert / Update / Load において可能
01011001100011101001001001001
11000100101001001011001001010
01100100101001001010100010010
データ量が増加し、しきい値を超えると、
データベースが自動的に圧縮を開始
01110011010001001010010010010010100010010
10111001000100101010010010001001000010010
01100100101001001010010101010010100010010
01110011010001001010010010010010100010010
ディスク削減(I/Oコスト)はパ
フォーマンス向上にも繋がります。
DB2はそれを自動的に実施
10111001000100101010010010001001000010010
01110011010001001010010010010010100010010
10111001000100101010010010001001000010010
01100100101001001010010101010010100010010
01110011010001001010010010010010100010010
10111001000100101010010010001001000010010
Table
Compression Ratio
LINEITEM
38%
58% (1.5x better)
ORDERS
18%
60% (3x better)
他社
DB2
01110011010001001010010010010010100010010
10111001000100101010010010001001000010010
01100100101001001010010101010010100010010
01110011010001001010010010010010100010010
10111001000100101010010010001001000010010
01110011010001001010010010010010100010010
10111001000100101010010010001001000010010
01100100101001001010010101010010100010010
01110011010001001010010010010010100010010
業界をリードする圧縮機能の強化
• 複数の自動インデックス圧縮アルゴリズム
業界で唯一
の技術
• テンポラリー表の自動圧縮
テンポラリー表
表
Order by
表
Order By テンポラリー表
• ラージオブジェクト(LOB)とXMLの優れた圧縮機能
業界で唯一
の技術
索引の圧縮 - テスト結果
* Higher is better
平均 36%
一時表の圧縮 - テスト結果
一時表圧縮のスペース削減効果
35%
削減
容量
圧縮なし
圧縮あり
一時表圧縮のパフォーマンス効果
5%
高速
時間
圧縮なし
圧縮あり
効率的なストレージ管理 - 表スペースの縮小と最高水準点の移動
使用していないストレージ領域を解放し、同データベース
の他の表スペース再利用可能
‒ ALTER TABLESPACEステートメントで、表スペースの最高水準
点を下げ、表スペース・サイズを縮小すると同時に、使用したページ
でデータが入っていない空き状態のフリー・ページを解放することが
可能
‒ ADMIN_MOVE_TABLEを使用したデータ移動
DB2 V9.5 での REDUCE コマンド
– 未使用部分を解放するために、自動ストレージ管理領域を縮小
– ALTER TABLESPACE ts_name REDUCE
T1
T2
表スペース
T3
最高水準点
T4
T5
DB2 V9.5 での REDUCE コマンド
実際には最高水準点以下に位置する表が削除されても、
その未使用部分を解放することは出来なかった
T1
T2
表スペース
T3
最高水準点
T4
T5
DB2 V9.7 での REDUCE コマンド
V9.7では、エクステントは再マップされ、未使用のエク
ステントは表スペースの最後に置かれる
その後、未使用領域はファイル・システムに戻される
ALTER TABLESPACE ts_name REDUCE
T1
T2
表スペース
T3
T5
最高水準点
動的SQLコンパイルのオーバーヘッド削減
ステートメント・コンセントレーター
• リテラルをパラメーターマーカーに置換
• section sharingの増加 および コンパイルの減少
• コンパイルステートメント数の減少
SELECT BALANCE WHERE ACCOUNT_ID = 12345
SELECT BALANCE WHERE ACCOUNT_ID = 11111
SELECT BALANCE WHERE ACCOUNT_ID = 54321
SELECT BALANCE WHERE ACCOUNT_ID = 12121
SELECT BALANCE WHERE ACCOUNT_ID = ?
Compile
Execute
ステートメント・コンセントレーターの効果
19倍
高速
* Lower is better
ディスクI/Oコストの削減
スキャン・シェアリング
– 他のクエリーによってバッファー・プール上に読み込まれたペ
ージをうまく活用し、同じディスク読み取りが何度も発生しな
いようにする
– I/Oの量を大幅に削減し、クエリーの応答時間、スループットと
もに向上
– 常に先頭からスキャンを開始するのではなく、他のアプリによ
る現在のスキャンの位置に応じて、スキャンの開始位置を変更
する
– Scan Sharingの有効な処理をDB2が自動的に判断するため、
特別な設定は不要
スキャン・シェアリング
バッファープール
他のデータで
押し出されたデータを
上書きされる
再読込
Table A
ユーザー 1 データ走査
ユーザー 2 データ走査
Table B
Table C
スキャン・シェアリング
バッファープール
スキャン2は
現在のスキャン1
の場所から
スキャン開始
ディスクアクセス
の効率化
Table A
ユーザー 1 データ走査
ユーザー 2 データ走査
Table B
Table C
スキャン・シェアリングの効果
100並列の表スキャンを実行し、比較
14倍
高速
時間
スキャンシェアリング なし
スキャンシェアリング あり
* Lower is better
2. 信頼性
強固なセキュリティ
細分化された権限
ネットワークデータのセキュリティー
容易な高可用性システムの実現
HADRの機能拡張
強固なセキュリティー
• 権限の分離
• DB管理者とセキュリティー管理者の権限を分離
必要以上の権限をユーザーやグループに与えないようにする
• SYSADM、SECADM、DBADMの明確な役割分担
• ネットワークを流れるデータのセキュリティー強化
• AES暗号化 256bit アルゴリズムをサポート
• SSL通信の設定を簡易化
強固なセキュリティー - 権限の分離
インスタンス
データベース
×
SYSADM
システム管理
V9.1 ~
DATAACCESS
ACCESSCTRL
SECADM
セキュリティー管理
DBADM
データベース管理権限
WLMADM
SQLADM
EXPLAIN
×
SYSADMには暗黙的にDBADM権限が付与されない
SYSADMはSECADM、DBADM権限を付与できない
SYSCTRL
システム制御
SYSMAINT
システム保守
SYSMON
システム・モニター
HADR(High Availability Disaster Recovery)
DB2の機能だけで更新内容を別サーバー上のDBへ自動反映可能
– ⇒ 高可用性ソリューション、災害対策ソリューションの実現
障害発生時の高速な切り替えを実現
– ⇒ ダウンタイムの最小化
プライマリDBで実行されたトラン
ザクションが完了、ログがディス
クに書き込まれるときにスタンバ
イDBへもログ転送を行う
• スタンバイへのアクセス不可
アプリケーション
プライマリーDB
db2hadrp
db2agent
バッファー・プール ログ・バッファー
db2pclnr
Log writer
データ・ページ
(表や索引のデータ)
Log reader
ログ・ファイル
スタンバイDB
TCP/IP
db2hadrs
Replay
Replay
Replay
Replay
ログ受信バッファー
ログ受信バッファー
バッファー・プール
Log writer Log reader
ログ・ファイル
db2pclnr
データ・ページ
(表や索引のデータ)
HADR の機能強化
- スタンバイ・ノードでのデータ参照(FixPackで提供予定)
Read/Writeクライアント
Clients
Read-Only クライアント
プライマリ
ログ
スタンバイ
Clients
HADRスタンバイを高可用性や災害対策の目的だけでなく、Read Onlyアプリ
からのアクセスにも使用可能
– レポーティングやDSS/BIのワークロード負荷をスタンバイ・ノード側にオフロード
– スタンバイ側に正しく更新データが反映されていることの確認
HADRスタンバイの高可用性や災害対策のための役割を損ねることなく、Read
Onlyのワークロードをスタンバイ側で実行
– HADRを停止せずにスタンバイ側データベースの参照が可能
HADRシステム全体のキャパシティを向上させ、スタンバイ・システムへの投資
対効果が高まる
3. 使いやすさ
既存のスキルをDB2で利用
Oracle からの移行を容易に
停止時間なしにデータベースを変更
データベースの構成変更を容易に
オンライン表移動
なぜ、他のデータベースへ移行出来ないのか?
• クリティカルなアプリケーションを移行するには
リスクが高い
• 投資対効果にほど遠い
• 社内にDB2のスキルを持つ人がいない
Oracle
PL/SQL
NUMBER
“DATE”
VARCHAR2
CONNECT BY,
DBMS_OUTPUT
26
業界標準
SQL/PSM
(aka SQL PL)
SQL ’92, …
recursion, ..
DB2
Oracle からの移行を容易に
• Oracleのデータタイプをサポート
開発者は今まで通りのスキルでアプリケーションを構築可能
• OracleのSQLがそのまま実行可能
OracleのSQLを内部的にDB2のSQLに書き換るのではなく、
そのまま実行できるのでパフォーマンス性能に優れる
• Oracleのデータベースを簡単に移行可能
OracleのデータベースをGUI上でコピー&ペースト可能
• 読み取り一貫性をサポート
ロック取得方法の違いによるアプリケーションの改修も必要なし
PL/SQL
NUMBER
Oracle
“DATE”
業界標準
SQL/PSM
(aka SQL PL)
VARCHAR2
SQL ’92, …
recursion, ..
CONNECT BY,
DBMS_OUTPUT
Oracleのスキルを活かした
DB2
開発・運用が可能
Oracle のスキルを活かす
• DB2 はOracleのPL/SQLをはじめとする、関数や型をサポート
• デベロッパーは現行スキルを活かし、DB2をすぐに利用可能
• アプリケーションはDB2上でもそのまま実行可能
Oracle
DB2 V9.7
Concurrency Control
そのまま
Oracle SQL
そのまま
PL/SQL
そのまま
Packages
そのまま
Built-in packages
そのまま
JDBC
そのまま
SQL*Plus Scripts
そのまま
DB2 (V9.5以前)の読み取り一貫性
• DB2は最新のデータを読む
• 参照処理は、更新処理がコミットされるまで待つ
A
TRN1
TRN2
B
UPDATE
C
C’
UPDATE
COMMIT
D
D’
TRN2は、TRN1が
COMMITするまで
WAIT
SELECT
E
F
読むデータは常に最新だが、参照処理がロック待機する可能性あり
Oracleの読み取り一貫性 (Read Committed)
•
マルチ・バージョン一貫性制御 (Multi-Version Concurrency Control)
•
更新処理により、更新前イメージが専用の領域へ書き出される
•
参照処理はコミットを待たずに更新前イメージを読む
• Select発行時点でコミット済みのデータを読む
• 下記の例では、UPDATEがCOMMITされていたとしてもTRN2は更新前データを読む
SCN=10
TRN1
UPDATE
A
B
SCN=110
UPDATE
SCN=98
UNDOセグメント
C
C’
C
D
D’
D
SCN=29
SCN=100
TRN2
SELECT
E
F
読んだデータが最新とは限らないが、参照処理はロック待機しない
DB2 V9.7の読み取り一貫性(Currently Committed)
• 未コミットの更新があってもロック待機をしない
• 参照処理は、更新処理に伴うロックの開放を待たず、更新前のデータ
(コミット済みの最新データ)をログ(ログバッファー)から読む
• 常に最新のコミット済みデータを読む
A
B
トランザクションログ
(ログバッファー)
UPDATE
C
C’
C
UPDATE
D
D’
D
TRN1
TRN2
SELECT
E
F
参照処理はロック待機せず、かつコミット済みの最新データを読む
Currently Committed の効果
スループットが
28% 上昇
* Higher is better
Currently
Committed
OFF
Currently
Committed
ON
Oracle用に作成されたOLTP アプリケーションを
CC=OFF および CC=ON でテスト
SQL*Plusスクリプト実行 / PL/SQLデバッグ
CLPPlus (DB2CLPとは別に追加
されたインターフェース)
– SQL*Plus コマンド互換
– 変数の取り扱い
– フォーマッティング
– 簡単なレポート作成
IBM Data Studio (データベース管理者
およびアプリケーション開発者のための
統合されたクライアント・ツール)
– PL/SQLのデバッグ
– Eclipse ベースでの容易な操作性
– XML DB 開発
Oracle移行 データベーススキーマの容易な移行
Oracleのス
キーマをDB2
にインポート
スキーマとデー
タタイプを自動
的にマッピング
Oracleユー
ザーはクイック
にDB2での作
業をスタート
Oracle移行 Oracleデータ移行ツール
(IBM Data Movement Tool)
Oracle
Oracle
Database
Database
DB2
DB2
Database
Database
様々なDBに対応
Oracle
SQL Server
Sybase
MySQL
PostgreSQL
Ingres
MS Access
DB2
Linux, UNIX, Windows
DB2 for z
スキーマを選択し、Extract
Dataボタンを押す。
Deployボタンを押すと、DB2
へのオブジェクト・データ移行
が開始
統合されたツールでコラボレーションを推進
我社の開発チームは以前より業務のスピードが20%から50%程度早くなりました.
̶Janick Bernet, Developer, Swiss ASP
• データ管理ツールとの統合
• IBM InfoSphere Data Architect*,
IBM Data Studio, IBM Optim Development Studio
設計
• データライフサイクルの全フェーズでツール提供
• 役割をまたがったコラボレーションが実現
• 業務アナリスト、データベースアーキテクト、 最適化
DBA, アプリケーション開発者、など
• 全ての主要なプラットフォームをサポート
開発
モデル
ポリシー
メタデータ
• DB2, Informix, Oracle , SQL Server, etc.
運用
*旧製品名 Rational Data Architect
デプロイ
Oracle から DB2 9.7 への移行手順
DB移行の工数削減
•DB2 9.7 の Oracle 対応機能により Oracle のオブジェクトをそのまま DB2 に作成
•DB のオブジェクト/データ抽出からデータロードまでツールによる自動化が可能
項目
1
1-1
1-2
1-3
1-4
2
内容
データベースの移行
OracleよりDBオブジェクトを抽出する
DB2データベースを作成する
DBオブジェクト(テーブル、ビュー等)を移行する
Oracleよりデータを抽出しDB2に移行する
プロシージャー移行/テスト
・「UDF(ファンクション)、ストアード・プロシー
ジャー、トリガー」のPL/SQLコードを使用してDB2に作
成する
タスクの自動化に
IBM提供ツールを利用可能
DB2 9.7の
Oracle対応機能
停止時間なしにデータベースを変更
• 進化するビジネスニーズに対応して
データベーススキーマを簡単に更新
• データベース停止時間を回避
リアルタイムに変更を実施
• 表の各属性の変更
• 列定義
(データ・タイプの変更、列の追加と削除)
• 索引定義
• MDC表の次元キー
(MDC表での各行の格納されるプロックを決定する列)
表スペース
• パーティション表のレンジ定義
• データの圧縮/非圧縮/再圧縮
• 表の読み書きを可能にしたまま、表を移動
• 複数のテスト環境を簡単に設定可能
INSERT,
DELETE,
UPDATE
C1
C2
別 表スペース
C1
C2
4. 先進性
XMLデータベース
XML活用の次のステージへ
ワークロード管理
きめ細かなトランザクションの
コントロール
業界をリードするXMLデータのトランザクションパフォーマンス
• 容易な開発と統合
• 複雑なリレーショナルスキーマ不要
• データ読み出し時のパース不要
• 効率的なストレージ
DB2
• 1TBのXMLベンチーマーク・データ
の格納に440GB
• 圧倒的なパフォーマンス
• 1TBのXMLベンチーマークで6,763
トランザクション/秒
(DB2の)pureXMLの処理能力によって、わが社のお客様のシステムは5倍から10倍も
パフォーマンスアップしました.
̶Keith Feingold, CEO, Skytide
XML活用の次のステージへ
データウェアハウスでXMLデータを活用
• XMLデータの業務の詳細情報を活用
• XMLデータの分析系ワークロードで高いパフォーマンス
• データウェアハウスでXMLデータの容易な利用
• マルチノード、レンジパーティション、ビュー、MDC
(multi-dimensional clustering)でのXMLの利用が可能に
• 機能拡張されたXMLデータのインデックス、データ圧縮
DB2の新バージョンのデータウェアハウス機能は卓越したものです
̶Jean-Marc Blaise, Venedim
XMLデータの照会、挿入の並行処理により、我が社の研究者達は必要なデータをスピーディに入手す
ることができるようになるでしょう。
̶Tom Holdener, BJC HealthCare
ワークロード管理 - Workload Manager (WLM)
•
•
•
•
きめ細かいワークロードの識別・分類
閾値による制御 (コスト、実行並行度、実行時間 etc)
実行優先度の制御
目的に応じたレポーティング
ワークロード
識別・分類
SERVICE
CLASS
WORKLOAD
実行優先度の制御
WORKLOAD
暴走クエリーの閾値制御
DB2エンジンに組み
込まれた機能
Workload
Workload
Manager
Manager
目的ごとに
レポート
ワークロード管理 - Workload Manager (WLM)
• ワークロードをルール付けやしきい値により制御可能
• 大規模な検索処理が実行される前に停止したり、並行実施数を制
限したり、途中で停止するなどして、他の処理への影響を抑える
ことが可能
• 複数のワークロードの優先順位を制御
• 比較的重い集計処理などが複数競合するパターンでは、WLM のし
きい値を調整することで、CPU使用率が振り切れることなく、優
先順位をつけ実行が可能
• オンライントランザクションと集計処理が競合するパターンでは、
DB2 WLMとAIX WLMの CPU hard limit を設定することで、
集計処理のCPU使用率を抑え、オンライントランザクションを優
先的に実行することが可能
• ワークロードのモニタリング
• イベントモニターやPerformance Expertを使用することで、
ワークロードのモニタリングが可能
1. 低コスト
・優れたデータ圧縮
・リソースコストの
削減
・表スペースの
自動解放
・ステートメン
ト・コンセント
レーター
・スキャンシェア
リング
2. 信頼性
・ 細分化された権限
・ネットワーク
データのセキュ
リティー
・容易な高可用性シ
ステムの実現
・HADRの機能拡張
3. 使いやすさ
・Oracle からの移
行を容易に
・停止時間なしに
データベースを
変更
4. 先進性
・XML活用の次のス
テージへ
・ワークロード管理
きめ細かなトラン
ザクションの
コントロール
ありがとうございました
DB2 ユーザーの技術者コミュニティー Club DB2 もよろしくお願いします。
http://www.ibm.com/developerworks/jp/data/library/dataserver/clubdb2
月2回、金曜の夜に勉強会やってます!
© IBM Corporation 2009. All Rights Reserved.
ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提
供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本プレゼンテー
ションに含まれている情報については、完全性と正確性を帰するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないも
のとします。本プレゼンテーションまたはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとし
ます。 本プレゼンテーションに含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、
IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。
本プレゼンテーションでIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するも
のではありません。本プレゼンテーションで言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつで
も変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本資料に含まれている内容は、
参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を
生むものでもありません。
パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマ
ンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの
要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。
記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際
の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
以下は、International Business Machines Corporationの米国およびその他の国における商標。IBMの全商標のリストについては、
www.ibm.com/legal/copytrade.shtmlをご覧ください。
AIX, CICS, CICSPlex, DB2, DB2 Universal Database, i5/OS, IBM, the IBM logo, IMS, iSeries, Lotus, OMEGAMON, OS/390, Parallel Sysplex, pureXML,
Rational, RCAF, Redbooks, Sametime, Smart SOA, System i, System i5, System z, Tivoli, WebSphere, z/OS.
JavaおよびすべてのJava関連の商標およびロゴは Sun Microsystems, Inc.の米国およびその他の国における商標。
Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標。
Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Intel Centrino, Intel Centrinoロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, Pentium は Intel
Corporationまたは子会社の米国およびその他の国における商標または登録商標。
UNIXはThe Open Groupの米国およびその他の国における登録商標。
Linuxは、Linus Torvaldsの米国およびその他の国における商標。
その他の会社名、製品名およびサービス名等はそれぞれ各社の商標。