DB2 9.5 テクノロジー・オーバービュー 日本IBM ソフトウェア事業 技術理事 菅原香代子 製品プランへの 重要な要望 § お客様からのフィードバックと要望 ? お客様から要望されたフィーチャーの追加 ? 保守作業の軽減へフォーカス § ISV イネーブルメント ? DB2への移行を簡単にするファシリティーとフィーチャの追加 § SAP リレーションシップ ? SAPアプリケーションをサポートするためのDB2の機能拡張を引き続き 行う § XML 機能拡張 ? 新しい、向上したXML機能 § ウェアハウジング ? 大きな検索ワークロードに対するより速いアルゴリズムと新しいオプティ マイゼーション・ テクニック 2 DB2 9.5の機能拡張 § 管理とアドミニストレーション ? インストレーション ? データベース コントロール コンソール § ワークロード管理 ? Service ClassとWorkload § パフォーマンスの向上 ? スレッド・ アーキテクチャー § 規制の法令順守 ? オーディット ? データベース ロール § SQL とXMLの機能拡張 § アプリケーション開発 ? Data Studio 3 DB2 9.5 管理と アドミニストレーション 4 インストレーションの機能拡張 § § § § Non-root インストレーション ? Unix または Linuxでのnon-rootユーザーによるDB2のインストールとサービス の機能 ? いくつかのルートベースのフィーチャは (例 OS 認証) ) root ユーザによりポス ト・ インストールする必要があり Fix Pack インストレーション ? インスタンス更新フェーズの削除 ? 二つの保守作業を削除 ? Fix packの適用後、db2iupdtとdasupdtの自動実行 ? 全ユーティリティーに対する自動rebindを使って、データベースのパッケー ジを自動バインディング Fix Pack のみ ? fix packによるリリース移行はなし ? Fixによる新しいリリースへの移行による副作用を削除 ? 各バージョン、リリースに対する別々の保守ストリームを継続 ? 注: DB2 9からこのリリースへはカタログの移行が必要 拡張されたUnicode ? ディフォルトでのUnicode データベースの作成 ? non-Unicode データベースからUnicode データベースへ移行するお客様に対し 5 てcollation 互換を提供 データベース コントロール コンソール § アドミニストレーション・ コンソールへの要望の削減 ? ウェブベースのオペレーショナルコンソール・ モデルへの移行 ? コンソールを実行する特定のオペレーティング・システムへの要望を削 除 ? データサーバー・ リリースからコンソールの配布を分離 § オペレーショナル・アドミニストレーションと問題判別へフォーカス ? 日常のオペレーション・ タスク ? 全DB2 データサーバーの共通のツールとビューを追加 ? DB2 for Linux, Unix, Windows, DB2 for z/OS, IDS § コンソールプロトタイプ 6 DB2 9.5 ワークロード管理 7 ワークロード管理の目的 § 安定的、予測的な実行環境 § 活動中のワークをモニターするための負荷の軽い、粒度の細かいモニター 方法 § よりよいリソース管理 ? 明示的にワーク間のリソースを配置 (CPU プライオリティー) ? 過度の、予想外のリソース消費を制限する(高負荷のクエリーのコント ロール) § よりよいリクエスト管理 ? ビジネス・ プライオリティーベースのワーク管理 ? ワークのパフォーマンスのトラッキング § エンドツエンドのワークロード管理ソリューション 8 WLM の考え方 § DB2 Service Class ? データベースの全ワークが実行されるところ ? DB2内で実行される全ワークのリソースのアサイメント、コントロール、 モニタリングのプライマリ・ ポイント ? super とsub classesの2階層構造をサポート ? super class はsub classへの共通のアトリビュートを提供する論理 エンティティー § DB2 Workload ? DB2 Service Classへつながれる入力のワーク ? システムへワークをサブミットするための管理と識別のプライマリーポ イントサポート ? Connections が設立された時に、特定のWorkloadにマップされる ? 必要に応じて、unit of workの単位で再評価される 9 ワークロード管理の例 ユーザ データベース リクエスト Superclass 1 Workload A Workload B Workload C Work Action Set Subclass1.1 Subclass1.2 Subclass1.3 Workload D Default User Class Default workload システム データ ベース リクエスト Default System Class 10 DB2 9.5 パフォーマンスの向上 11 スレッドベースのプロセスモデル § プロセス・モデルの制限を開放 § スレッドエンジン・アーキテクチャーへの移行 ? サーバータイプに依存しない基本的な実行パラレリズムを提供 ? 全DB2ノードに対するシングルメモリー・ パラメータを提供 ? DBMS, DB, プライベートメモリーにアロケートされている全メモリー をコントロール § ほとんどのエージェントレベルの構成パラメータを削除し、残りを自動化 (例, maxagents, numpoolagents, numinitagents) ? チューニングを簡素化 § エージェント・メモリの消費を削減 12 スレッドベースへの動機 § 一般的なリソースの節約 ? システム・ファイル・ ディスクリプターを著しく削減 § パフォーマンスの向上 ? スレッド間のコンテキスト・ スイッチは一般的にプロセス間より速い § メモリーの節約 ? システムスレッドのオペレーションはプロセスほどコンテキストを要求し ない § 使いやすさ/ TCO 向上 ? スレッドによる期待される有利な点: 13 DB2 9.5 規則の 法令順守 14 オーディット・ ファシリティーの機能拡張 § 静的、動的SQLステートメントの実際の実行に対する新しいオーディット記 録 ? コンパイル環境とSQLテキストを含む( 適切な場合) 、オプションで入力 データ値も含む § 最大ファイル・サイズと場所の構成をサポートするためオーディットログファ イル・インフラストラクチャの改善 § 粒度の細かいオーディット制御 ? ユーザ、グループ、ロールの認証IDのリストを含む ? オーディット・インディケーケータをベースとして表オブジェクト ? 信頼されるコンテキスト オーディットインディケーター § オーディットパフォーマンスの向上 § DB2 for zOSとの互換性の向上 15 アイデンティティの主張 § アイデンティティーの主張 ? 3層環境でエンドユーザのアイデンティティーが簡単に効率的にデータ ベースサーバへ伝わる方法を提供 ? データベースサーバと特定のアプリケーションサーバ間の信頼されるコ ンテキストの考え方を導入 § 信頼されるコンテキストの優位点 ? ユーザ アカウンタビリティー ? エンドユーザのアイデンティティーを知ることによってデータアクセス オーディット能力を向上 ? 共有user idをなくし、各人のuser idでオーディットする ? セキュリティーの向上 • 特権をユーザごとに指定することによって、よりコントロールできる ? DB2サーバにアクセスするsystem authid の誤った使用に対する懸 念を削除 ? 最小限の特権セキュリティーの原理 16 データベース ロール § § データベース ロール ? ロールメンバーシップはユーザまたはグループにアサインされ、ロール特権は 接続しているユーザーの全てのアクティビティーに可能 ? ビュー、パッケージ、トリガーのようなSQLオブジェクトを作るのに適切な特権が 必要なユーザに対して、ロールを通してアサインすることが可能 データベース ロールの先進性 ? データベースの権限と特権のアドミニストレーションの簡素化 ? データベースの中で管理され、グループと違って、ビュー、トリガー、MQT,静的 SQLとSQLルーチンを作成する時にDB2によって考慮される ? 権限/特権 ? ? ? ? ? ? ? ? ? データベース権限 CREATE 索引特権 GRANT パッケージ特権 GRANT ルーティング特権 GRANT スキーマ特権 GRANT シーケンス特権 サーバー特権 表スペース特権 表, ビュー、ニックネーム 特権 ROLE developer SELECT ON TABLE SERVER TO ROLE developer SELECT ON TABLE CLIENT TO ROLE developer SELECT ON TABLE TOOLS TO ROLE developer ROLE developer TO USER BOB, USER ALICE 17 DB2 9.5 XMLとSQLの機能拡張 18 XML ストレージ拡張 § XML の元表へのインライン格納 ? Inline length パラメーターによりXML の行内の配置が可能 ? 従来は一律に別のページに配置していた ? 最大ページ長までの長さ制限 (~32K) ? DB2 行圧縮機能がXML列に有効となる ? 性能向上が見込まれる § 非ユニコードデータベースのXMLサポート ? DB2 9ではユニコード・ データベースのみサポート § XML ローディング ? 表のXML列にデータを挿入するのにINPORTより高速な LOAD コマンド 19 XML 機能拡張 § XML 関数 ? XMLRow: 行をエレメントのシークエンスとしてパブリッシュ ? XMLGroup: 表をドキュメントとしてパブリッシュ ? XSLTransform: Extensible Style sheet Language Transformation (XSLT) § XML 列のチェック制約 ? XML スキーマを使って、XML値のバリデーション評価 § XML 列のトリガーサポート ? スキーマバリデーション評価をbefore トリガーで実施 § XML レプリケーション ? XML データの他のデータベースへのレプリケーションサポート 20 XQuery 拡張 § SQLクエリーへのパラメータ渡し ? XQuery でSQLを実行する時にパラメータを渡す XQUERY for $docid in (1,2,3), $j in db2-fn:sqlquery('select xmlcol from t1 where docid = parameter(1)', $docid)/bib/book where count($j/author) > 1 return $j; § サブドキュメントの更新 ? XQuery Update 言語のサポート update T set doc = XMLQuery (' transform copy $r := $doc do delete {$r/score}, replaceValue of {$r/salary} with $r/salary * 1.1, insert {<d>Ph.D.</d>} into $r//emp, rename ($r/status[1]) to "state" return $r' passing doc as "doc", cast (? as double) as "raise", id as "i"); 21 SQL プログラミングの拡張 § プロシージャーとアプリケーションでのARRAYデータタイプの使用をサポート ? パラメータパッシングの簡素化 CREATE TYPE numbers AS DECIMAL(10, 0) ARRAY[5]; CREATE TYPE names AS VARCHAR(100) ARRAY[]; § グローバル変数 ? SET, SELECT INTO, VALUES INTO ステートメントを変数作成に使用 CREATE VARIABLE dba.disableTriggers CHAR(1); CREATE VARIABLE hr.isBilling INTEGER DEFAULT ((SELECT 1 FROM emp WHERE id = USER AND dept = 'BILLING')); § より大きなアイデンティファイヤーのサポート ? 全てのアイデンティファイヤーを128バイトに拡大 ? 幾つかの例外: ? バッファープール, 表スペース, 索引エクステンション, ADT トランス フォームグループ, タイプ マッピング 22 新しいデータ・タイプ § 10進数を正確に表すための新しいデータ・ タイプ – DECFLOAT(16) => 16 桁で8バイト § Decimal floatの符号とオペレーションはIEEEで設定 Property DECFLOAT(16) DECFLOAT(34) 精度 16 34 MinE (+/-9.9E?) -383 -6143 MaxE (+/-9.9E?) +384 +6144 Storage (bytes) 8 16 ハードウェアサ ポート Yes, on Power 6 Yes, on Power 6 § NUMBER モード – DECFLOAT(16)のシノニム – もし精度と桁が含まれていない場合は DECIMAL値になる § VARCHAR2 モード(ベータ) – 普通のVARCHARとは少し違うセマンティック – 'Hello' || null => 'Hello' not null! 23 オプティミスティック ロッキング § 長くロックを保持することを回避するための方法を提供 § 最初のクエリー以降、変更されていない行に対してのみ更新を保障する ? RID_BIT(): 関数が全ノードの表の中の行を認識する ? ROW CHANGE TOKEN : 提供されたトークンと比較することによって、 行が変更されていないことを有効とする ? 更新のターゲットを素早く決定するのに使われる SELECT T.*, RID_BIT(T), ROW CHANGE TOKEN FOR T FROM T; ? 選択したひとつの行 (しかしこのトランザクション中ではロックされてい ない)をオプティミスティックに削除 (または更新) : DELETE FROM T WHERE RID_BIT(T)=? AND ROW CHANGE TOKEN FOR T = ? 24 スカラー関数の変更 § リストの中の最小値 ? LEAST/MIN LEAST(4,6,2) = 2 § リストの中の最大値 ? GREATEST/MAX GREATEST(5,9,2) = 9 § リストの中の最初のnon-null 値 ? NVL/COALESCE/VALUE NVL(cast (null as integer), 3, 2) = 3 § インライン CASE 表現 DECODE(c1, v1, r1, v2, r2, e) CASE c1 WHEN v1 THEN r1 WHEN v2 THEN r2 ELSE e END 25 SQL シンタックスの変更 § SELECT UNIQUE ? SELECT DISTINCTの代わりに § CURRVAL, NEXTVAL ? NEXT VALUE FORの代わりに NEXT VALUE FOR seq => seq.NEXTVAL § MINUS ( EXCEPTの代わりに) § オプショナル サブクエリー コリレーション名 § DUAL ? SYSIBM.SYSDUMMY1と同じ SELECT CURRENT DATE FROM DUAL => 08/04/2007 § ROWNUM ? ROW_NUMBER() OVER()と同じ SELECT ROWNUM FROM EMPLOYEE ORDER BY SALARY 26 SQL シンタックスの変更(続き)… § + Join シンタックス ? 暗黙的な結合を外部結合にする SELECT * FROM outer, inner WHERE outer.pk1 = inner.fk1(+) AND outer.pk2 = inner.fk2(+) § CROSS JOIN (直積結合) SELECT * FROM T CROSS JOIN S is equal to SELECT * FROM T JOIN S ON 1=1 27 DB2 9.5 アプリケーション開発 28 共通のAD とツールの拡張 § DB2 LUW, DB2 for z/OS, IDSをサポートする共通のアプリケーション開発 とツール、しかしデータサーバのリリース・ スケジュールとは分離 § 含まれるAD テクノロジー: – Java Common Client (JCC), .NET, LinQ, PHP, Ruby, EGL, WebSphere persistence, AD tooling, open source AD offerings, CLI common client § 共通のAPIとツールを通してマーケットでのIBMデータベースの差別化 § 共通のユーザ経験を通して製品間のポータブルなカストマー・スキル – クライアント・ユースケースに対するEclipseの利用 (分析, 開発) § 共通のコンポーネントを再利用することにより開発のサポートのコストの低減化 § IBMのデータサーバとISVに対する一元的な経験 29 IBM Data Studio – 統合されたライフサイクル 完全なエンドツーエンド・ ソリューション アプリケーション データベース 開発者 開発者 その他 開発 • コーディング •デバッグ • チーミング • テスト • チューニング デザイン •論理設計モデリング •物理データモデリング •統合モデリング デプロイ 開発 Eclipse 共有 Web 管理 設計 IBM データベース アドミニストレー ター 管理 • データベースアドミニスト レーション •データ管理 • 変更管理 • リカバリー管理 • ストレージ管理 •パフォーマンス管理 統治 • セキュリティーアクセス • セキュリティ分析 • データオーディット • データ・アーカイブ •データマスキンング • データ暗号化 統治 ビジネスアナリスト データベー スアーキテク ト セキュリティー アドミニストレー ター 30 IBM Data Studio v1.1 § 開発者とデータベース管理者のためのツール § 2007年 2007年10月に使用可能 10月に使用可能 § 全プラットフォームのDB2 とIDSをサポート フォームのDB2と IDSをサポート DB2 for LUW § § § § § § § § § § § § § § § § § 物理データモデリング データ分散ビューアー 統合クエリーエディタ SQL ビルダー SQLランタイムデバッガ SQLランタイムデバッガ Java ランタイムデバッガ XML エディターr ーr XML Schema エディ ター pureQuery for Java Data Web Services オブジェクト管理 データ管理 統計情報の更新 ヘルスモニタリング Visual Explain セキュリティーアクセス 管理 プロジェクト管理 DB2 for z/OS DB2 for i5/OS IDS § 物理データモデリング § 物理データモデリング § 物理データモデリング § § § § § § § § § § § § § § § § § § § § データ分散ビューアー 統合クエリーエディター SQL ビルダー SQLランタイムデバッガ SQLランタイムデバッガ Java ランタイムデバッガ XML エディター XML Schema エディタ pureQuery for Java Data Web Services オブジェクト管理 データ管理 統計情報の更新 ヘルスモニタリング Visual Explain セキュリティーアクセス 管理 プロジェクト管理 § § データ分散ビューアー 統合クエリーエディター SQL ビルダー SQLランタイムデバッガ SQLランタイムデバッガ Java ランタイムデバッガ § XML エディター § XML Schema エディ ター § pureQuery for Java § Data Web Services § オブジェクト管理 § データ管理 § セキュリティーアクセス 管理 § プロジェクト管理 データ分散ビューアー 統合クエリーエディター SQL ビルダーr ビルダーr § XML エディター § XML Schemaエディ Schemaエディ ター § pureQuery for Java § Data Web Services § ポブジェクト管理 § データ管理 § セキュリティーアクセス 管理 § プロジェクト管理 31 Data Perspective ビュー 32 CP IRB Non-Java アプリケーション開発の要望 § 記述: – Microsoft とオープンソース特定のモデルに対するアプリケーション開 発と実行のサポート § 機能を提供 … – オープンソース・ プログラミング言語のサポートの拡張 – 全サーバーに対する .NET 機能の拡張 § キー・テクノロジー・ コンポーネント: – 全サーバに対する64 bit .NET 拡張とサポート – 新しいサーバ データタイプのサポート – Ruby on Rails サポートとPHP 拡張 – Python サーバ サポート – 統合されたXQuery ビルダーとSOAのサポート 33 CP IRB Java アプリケーション開発の要望 § 記述: ? Javaプラットフォームに対するアプリケーション開発と実行のサポート § 機能を提供 … ? JDBC 標準レベルの更新 ? XML とSOA ツールサポートの改善 ? 全サーバに対するJava機能の向上 § キーテクノロジーコンポーネント: ? Python サーバサポートとIDS との統合 ? JDBC 4 コンプライアンス ? XQueryビルダーの統合とSOA web サービスツールのサポート ? 新しく統一されたVisual Explainとの統合 34 pureQuery テクノロジーの目的 § アプリケーションの開発 ? Java ソースファイルの中でのSQL開発を助けるためのツール ? 単純なSQL API, 簡単に書けて拡張可能 ? 一般的なJava フレームワークのための複数の API “スタイル” § 重要なデータソースを簡単にクエリーできる ? データベース、キャッシュ、コレクション, XML § 問題判別 ? 問題が起こった時に、ソースを素早く発見 § ガバナンス / 管理 ? SQLを個々のアプリケーションに追跡、カストマーの変更管理プロセスと静 的SQLパッケージとアクセスパスを見る、 § 高パフォーマンスとスケーラビリティーを提供 ? アプリケーション: ショートパスレングス, メタデータのコーディング, オプショ ナルコード作成, JDBCと静的SQL実行最適化 35 ? データベース: 静的SQL, バッチ, データベースへ直接アプリのSQLを渡す API 比較: 一行の取り出し § JDBC java.sql.PreparedStatement ps = con.prepareStatement("SELECT ADDRESS FROM EMP WHERE NAME=?"); ps.setString(1, name); java.sql.ResultSet names = ps.executeQuery(); names.next(); addr = names.getString(1); names.close(); § SQLJ: #sql [con] { SELECT ADDRESS INTO :addr FROM EMP WHERE NAME=:name }; XMLファイル 又は Java アノテーション § pureQuery: SELECT ADDRESS FROM EMP NAME=?1; addr = db.queryFirst("SELECT ADDRESS FROM EMP WHERE WHERE NAME=:name", String.class, name); addr = getAddress(name); 36 pureQuery データ更新 § Write オペレーションは “ update”メソッドによって実行 § Insert int rowsAffected = data.update("INSERT INTO person (id, name,address) VALUES (:id, :name, :address)", person); § 多数のinsertとupdate ? 自動的にバッチ rowsAffected = data.updateMany("INSERT INTO person (id, name,address) VALUES (:id, :name, :address)", people); § Update int rowsAffected = data.update("UPDATE person set name = :name, address = :address WHERE id = :id", person); § Delete int rowsAffected = data.update("DELETE FROM person where id=?", id); 37 DB2 Warehouse 9.5 38 IBM DB2 Warehouse 9.5 モデリングと設計 データマイニン グ& 可視化 インライン分析 4 キュービング サービス 1 機能拡張 非構造化分析 3 新 新 パフォーマンス最適化 2 データベース パーティショ ニング 新/ 機能拡張 ワークロード管 理 ディープ圧縮 5 5 データ移動とトランスフォーメーション 機能拡張 データベース管理 機能拡張 アドミニストレーションと管理 組み込み解析 6 機能拡張 IBM DB2 Warehouse 39 キュービング サービス レポーティング ツール Alphablox Excel MDX キュービング サービス MDX MDX SQL DB2 Warehouse 40 非構造化分析 設計 アノテータの 構成 (controlled Vocabulary, regular expressions taxonomies) データフロー の定義 メタデータの 作成 ランタイム トランスフォーメーション エンジン UIMA Warehouse アプリケーション 分析 /レポーティング レポーティ ング OLAP データ マイニ ング Intelligent Miner 構成されたアノテータ Cube views デプロイメントの準備 UIMA ツール 分析エンジン のパッケージ UIMA アノテーター, ディクショナリー Design studio Warehouse アプリケーション の作成 EDW ソースDB Warehouse アプリケーション (テキストフィールド) EDW 41 ご清聴あり うございまし た DB2 9.5 がと テクノ ロジー・ オー バービュー 42
© Copyright 2024 ExpyDoc