データ仮想化の価値と課題 JBoss サービス事業部
シニアソリューションアーキテクト
河野 恭之
アジェンダ
データ仮想化(Data Virtualization) Red Hat JBoss Data Virtualization ベストプラクティス 導入効果 Data Virtualization 6 新機能トピック紹介
Copyright © 2013 Red Hat K.K. 2
データ仮想化(Data Virtualization)
データ仮想化は ETL と DBMS 統合に代わり、優れたデータ管理とデータ統合を実現する。従来のETL および DBMS アプローチに比べ、次のようなメリットがある。 – 仮想データが短周期で作成可能であるため柔軟性と俊敏性が向上 – 物理的コピーの削減によるデータ品質を改善できる – 目的指向のビジネス用オブジェクト生成による利用性の改善。
参考: Forrester June 15, 2011 Data Virtualization Reaches Critical Mass
世界で注目を浴びる Data Virtualization
Copyright © 2013 Red Hat K.K. 4
日経コンピュータの2013年10月31日号にて、「データ仮想化」がデータをリアルタイムに統合する新しい手段として注目が集まっているとの内容で特集記事が組まれています。是非ご覧ください。
Red Hat JBoss Data Virtualization
複数のデータソースを物理モデルとして容易に取り込み、論理モデルとして仮想統合し、データベースと同様の標準ベースのインタフェースを提供
データをコピーせずにデータ統合を実現するので、データ構造の変更や統合処理の変更要求に対して柔軟で迅速な対応が可能
監査証跡の取得や集中アクセスコントロールの基盤として利用可能
Red Hat JBoss Data Virtulization
企業内・外のあらゆるデータを 「モデリング」「仮想統合」「リアルタイム連携」する実行基盤
Red Hat JBoss Data Virtualization とは
利用者 データソース
仮想データベース
物理モデル 論理モデル
Web サービス I/F
データベース
各種File
各種AP
Web サービス
メタデータリポジトリ
I/F
Excel
SO
AP
/REST
SQ
L
(JD
BC/O
DBC)
認証/認可
BI ツール
Java/.NET アプリ
ケーション
Web サービス
NoSQL
Copyright © 2013 Red Hat K.K. 6
JBoss Data Virtualization 全体アーキテクチャ
JBoss
EAP
JBoss
Data
Vir
tulization
JDBC/ODBC/SOAP 接続
Function Library
Cache Virtual Database (アーカイブファイル)
認証/ 認可
ログ出力 監査証跡
Query Engine(optimization)
Connecter Framwork
JDBC File LDAP SOAP SFDC カスタム
リポジトリ
デザインツール ランタイムエンジン 監視ツール
JBoss Developer Studio
XML 定義ファイル
Admin Shell
管理コンソール
データ ベース
LDAP File SOAP /REST
SFDC カスタム
JDBC ODBC SOAP/REST JDBC/WebDav
仮想データベース (アーカイブ)
デプロイ
NoSQL
NoSQL
Copyright © 2013 Red Hat K.K. 7
ベストプラクティス
ベストプラクティス
適用システム ポイント1 利用シーン
システム構成 構成イメージ サイジング ポイント2 キャッシュを効果的に使おう
パフォーマンスの考え方
導入ステップ ポイント3 スモールスタート
設計方法 ポイント4 アンチパターン
Copyright © 2013 Red Hat K.K. 9
ベストプラクティス
適用システム
ポイント1
利用シーン
BIツールとの連携 仮想統合によるバッチ削減 ビッグデータ連携 サプライチェーンデータ統合 顧客データ統合 標準モデル化 データアクセスセキュリティ強化 Etc…
Copyright © 2013 Red Hat K.K. 11
利用シーン1 BIツールとの連携
• システムにまたがるデータを容易に一元管理ができない
• 重複データが多数のシステムに存在しており、どれが正しいかが不明
• データ活用の為のデータ統合基盤の構築を検討
課題
• 物理統合では実現が不可と判断して仮想統合のアプローチを採用
• データ利用はBIツールにある既成のUIを利用
• エンドユーザが必要としているデータを迅速に取得
解決策
• 短期間、少人数での導入を実現
• データの可視化の実現、利用性能向上
効果
Copyright © 2013 Red Hat K.K. 12
利用シーン1 BIツールとの連携イメージ(紀陽銀行様)
現行システム
顧客情報を起点としたデータの横串統合
UIはBIツールを用いて短期間で作成
初期導入期間の短縮と段階的な拡張展開が可能
融資 支援 システム
収益 管理 システム
投信 システム
融資データ
収益データ
投資データ
営業 支援 システム
顧客データ
BI ツール
各本・支店 各本・支店
コールセンタ
横断顧客情報の活用
営業本・支店 営業本・支店
営業本・支店
手数料分析
トレンド分析
顧客情報の見える化
次期システム 次期システム
仮想統合DB
顧客情報
融資情報
収益情報
融資顧客ビュー
融資顧客 ビュー
投資顧客ビュー
投資情報
Copyright © 2013 Red Hat K.K. 13
• 物理DB統合基盤はデータ加工のためのコピーデータが増大
• データが増加するとデータ加工の為のバッチ処理やテーブル定義が比例して増加
• 処理の内容が複雑でメンテナンス性が悪い
課題
• 仮想統合基盤を導入することによりコピーデータを削減
• 加工の為のバッチ処理を仮想基盤で実行(ジョブの削減)
解決策
• 加工処理をモデル化するため処理の内容が可視化
• 統合データが追加となった際に迅速に対応が可能
効果
利用シーン2 物理データ統合におけるバッチジョブ削減
Copyright © 2013 Red Hat K.K. 14
FTP
マスタ データ
トランザクションデータ
利用シーン2 バッチジョブ削減イメージ
FTP
統合DBサーバ ロード データ 表示
データ 変換 処理
変換 処理
ロード
ロード
集計 データ
変換 処理
型変換 データ ロード
処理
ロード 処理
Web アプリ
ケーション
BI ツール
Excel マクロ
DB処理 (PL/SQL等)
JBoss Data Virtualization
仮想データベース
物理モデル
論理モデル
物理モデル
物理モデル
物理モデル
論理モデル
論理モデル
論理モデル
Web アプリ
ケーション
定義 情報
Excel マクロ マスタ
データ
トランザクションデータ
標準 モデル
型 変換 データ
抽出
ジョブ管理ツール
変換 処理
変換 処理
変換 処理 変換
処理
変換 処理 変換
処理 変換 処理
集計
統合DB
Copyright © 2013 Red Hat K.K. 15
•NoSQLでデータを保持しているが,活用が出来ていない
•既存のデータと統合してデータを参照したい
•統合したいデータは増加するので柔軟な統合基盤が必要
課題
•仮想統合基盤によりNoSQLとDBのデータを容易に統合
•統合データはSQLで容易に活用
•統合データを追加・変更しても利用側への影響が極小化
対応策
•既存アダプタの利用で特別な処理の追加が不要
•SQLによる利用性の向上
効果
利用シーン3 ビッグデータ活用
Copyright © 2013 Red Hat K.K. 16
プライベートネットワーク
JBoss Data Vrtualization
Virtual Database 論理モデル (公開)
物理モデル
Internet DMZ
利用シーン4 オープンデータ連携基盤システムイメージ
Webサーバ
APサーバ
Web AP
Apache
SOAP クラウド システム
公開 医療
データ
公開 税・予算 データ
公開 防災
データ
例) ・福祉 ・保険 ・医療
例) ・税 ・児童手当 ・住民情報
例) ・地理情報 ・窓口 ・文書管理
列) ・防災管理 ・救急医療 ・他自治体
・公開データは JBoss Data Virtualizationで既存データを仮想的に統合して作成 ・HTML, ファイル,Web サービスなどあらゆるインタフェースに対してデータを提供
する基盤として活用 ・公開するデータ型の変更、I/Fの変更、抽出データの変更等に迅速に対応が可能
データ ベース
ファイル
論理モデル (中間)
医療 データ
税・ 予算
防災 データ
保険 データ
地理 データ
認証/認可
Copyright © 2013 Red Hat K.K. 17
ベストプラクティス
システム構成
サーバ構成イメージ
連携元DB
ローカルDB (リポジトリ/外部キャッシ
ュ用)
JBoss Data Virtualization
連携先DB
JBoss Enterprise Application Platform
JBoss Data Virtualization
JBoss Enterprise Application Platform
JDVサーバ (データ
仮想統合レイヤ)
データベース (データソースレイヤ) 連携元
DB DB
連携先DB DB
JBoss EAP APサーバ
(データ活用レイヤ) BIツール
Copyright © 2013 Red Hat K.K. 19
サイジングの考え方
サイジング要素
データボリューム 行数
カラム数
データソースの数
同時クエリー実行数
クエリーの複雑度
想定レスポンスタイム
メモリ容量
CPUコア数
Copyright © 2013 Red Hat K.K. 20
使用メモリ、CPUの考え方 全件取得時(条件無し) それぞれのデータを取得
統合データを作成 使用メモリ
データ総量
CPU使用 データ統合処理とデータ作成
抽出取得時(1/100件) それぞれのデータを抽出取得
統合データを作成 使用メモリ
抽出データ総量
CPU使用 データ統合処理とデータ作成
※ 統合データを作成してから抽出では無い
1000万件 (1GB)
100万件 (100MB)
1000万件 (1.1GB)
(1GB)
(100MB)
全件取得イメージ
AP
1000万件 (1GB)
100万件 (100MB)
10万件 (11MB)
(10MB)
(1MB)
抽出取得イメージ
AP
Copyright © 2013 Red Hat K.K. 21
パフォーマンス(レスポンスタイム)の考え方 シングルデータソース
パフォーマンス比較対象
はデータソース直接アプ
ローチ
EDSによりオーバヘッド
は発生
但しごくわずか(HP様に
よる検証結果有り)
クライアント EDS データ ソース
クライ アント前処理 EDS 前処理
データソース 処理
EDS 後処理
クライアント 後処理
クライアント EDS データ ソース1
データ ソース2
クライ アント前処理
EDS前処理
データソース 処理
EDS後処理 (データ
統合処理)
クライアント 後処理
マルチデータソース パフォーマンスの比較は
AP処理 or ETL(DB)
統合アプリケーションよ
りは並行処理で高速
DB(ETL)よりは時間がか
かるが,その場合は事前
処理で対応可能
(キャッシュ利用!)
Copyright © 2013 Red Hat K.K. 22
ポイント2
キャッシュを効果的に使おう
キャッシュを利用することで、 レスポンスの改善(高速化) 使用メモリの削減(リソース削減) CPUコアの有効活用(リソース最適化) 既存システムへの影響局所化(信頼性向上)
が期待できます。
システム性能を向上させるにはキャッシュを積極的に活用することが重要です!
Copyright © 2013 Red Hat K.K. 23
参考:キャッシュの使用イメージ
AP
JBoss Data Virtualization
Virtual Database
SQL 結果セット
キャッシュ対象?
結果 キャッシュ
有り
キャッシュ データ
Yes
Yes
No
No
外部部 実体化
No
Yes
No
マテリア ライズド ビュー
内部 実体化
キャッシュ 有り
No
Yes
Yes
Yes キャッシュ
データ
Copyright © 2013 Red Hat K.K. 24
キャッシュの種類と目的
キャッシュの種類 結果セット マテリアライズドビュー 内部キャッシュ 外部テーブル
目的 変更の少ないデータのレスポンス向上 複雑なクエリのレスポンス向上 同時クエリ実行数時もメモリの使用を最小限に抑制 データソースへの負荷軽減
Copyright © 2013 Red Hat K.K. 25
キャッシュの機能比較
結果セット マテリアライズドビュー
(内部実体化) マテリアライズドビュー
(外部実体化)
概要 SQLとその結果をメモリに保持
テーブルやビューのデータをメモリに保持
テーブルやビューのデータを実テーブルに保持
使用方法 PreparedStatementにヒント句で指定
通常のSQL実行 通常のSQL実行
定義方法
-特に必要なし -キャッシュエントリーの数や有効期間をヒント句で指定
-テーブル(ビュー)のパラメータでフラグ指定
(開発時に指定)
-テーブル(ビュー)のパラメータにテーブルを指定
(開発時に指定)
スコープ ユーザ/セッション VDB VDB
制御
-管理ツールとSQLにヒント句を指定して制御
(VDB内全てクリア)
-管理ツールとSQLにヒント句を指定して制御
-実体のテーブルを直接操作(登録も削除も)
メリット
-where句も含めた部分的なキャッシュが可能
-実行時にデータ取得、変換、集計等の処理が不要
-設定が容易 -ロードは自動(最初の呼出)
-再起動後もデータ保持
デメリット
-SQLに指定が必要 -SQLが一部でも異なるとキャッシュの利用不可(逆に若干のオーバヘッドにもなりえる)
-再起動後にキャッシュデータがクリア
-対象テーブルが増えるとメモリの使用が増加(長期保存はフルGCの対象に)
-外部データベースが必要 -登録、削除は個別に実施が必要
Copyright © 2013 Red Hat K.K. 26
ベストプラクティス
導入ステップ
導入ステップとスキルセット
上級 (統合連携基盤、データ管理基盤)
- 標準モデル設計 (データ管理) - サーバ環境設計 - 運用設計
- 認証環境構築 - サーバパフォーマンスチューニング
- データ利用状況管理 - データ正規化
中級 (複雑な
データ統合)
- プロシージャ設計 (SQL) - コネクタ設計(Java) - サービス設計(Java)
- プロシージャ開発 (SQL) - コネクタ開発(Java) - サービス開発(Java) - 冗長化サーバ構築
- VDBパフォーマンスチューニング
- サーバ運用管理
初級 (単純な
データ統合)
- テーブル設計 - 統合ビュー設計
- 統合ビュー作成 (SQL) - サーバ構築
- パフォーマンス計測 (テストツール)
- VDB管理
設計フェーズ 実装フェーズ テストフェーズ 運用フェーズ
- VDB 項目(スキル種別) - サーバ項目(スキル種別)
Copyright © 2013 Red Hat K.K. 28
データ 仮想統合
• BIツール連携
• データ再利用
• バッチ削減
• ビッグデータ活用
データ 正規化
データ 連携基盤
• トランザクション基盤
• クラウドGW基盤
• システム移行基盤
• データクレンジング
• データモデル標準化
• データマネージメント
ポイント3 スモールスタート
Copyright © 2013 Red Hat K.K. 29
ベストプラクティス
設計方法
設計方法は基本的にデータベースと同じ考え方
物理モデル 接続定義 テーブル定義
カラム型定義
論理モデル テーブル定義
カラム型定義 抽出条件定義
プロシージャ定義 引数定義 戻り値定義 処理内容定義
設計方法
★ 階層化の戦略が重要。論理モデルを - ビジネスオブジェクトレイヤ(標準モデル) - データ統合レイヤ 等の階層に分けることにより変更容易性、開発生産性(分散開発)が向上
既存データソース の物理モデル
項目名を標準化 した論理モデル
仮想統合テーブルと なる論理モデル
Copyright © 2013 Red Hat K.K. 31
ポイント4 アンチパターン
下記を目的にした適用は注意が必要です
既存APの処理を変えずにDBのみを変更
データベースのパフォーマンス向上
ETLの完全移行
仮想データマート(全てのDWHデータをリアルタイム化)
下記の利用方法は注意が必要
毎回全件統合が必要で、抽出条件が効かないパターン
order by や,Gropu by を利用するケース
数msのロスも許されないパフォーマンス重視システム
ただし、キャッシュを利用することで解決することも可能
Copyright © 2013 Red Hat K.K. 32
導入効果
短期的な効果
ジョブメンテナンスコストの削減 ETL の利用範囲を限定することで、テーブル定義やジョ
ブの作成が不要となり,開発費が削減することが可能
定義変更の柔軟性 設計から実装の段階でテーブル定義に変更があった場合
にも,論理モデルの部分的な変更で対応可能
高度なセキュリティ制御 既存の仕組みに影響を与えず,ユーザロール単位でテー
ブル表示内容を変えるような定義が可能
データ仮想化導入効果
Copyright © 2013 Red Hat K.K. 34
長期的な効果
コスト削減 データ量減によるDBライセンス費用の削減 ジョブの削減による ETL ライセンスの削減 ジョブメンテナンス費用削減
変更容易性 取得データ、項目等の変更要求に素早く対応可能
ユーザからの要望に対する対応時間、コストの短縮
新規のデータソースの統合や変更にも素早く対応可能 ファイルからDB, Webサービスのデータも統合可能
ベンダロックイン回避 統合処理は標準SQLベースなので、ベンダ依存を最小限
に抑えることが可能
データ仮想化導入効果
Copyright © 2013 Red Hat K.K. 35
JBoss Data Virtualization 6
JBoss Data Services 5 ->JBoss Data Virtualization 6 システム連携でJBoss Data Serviceを使うのは長期的な戦略 データ仮想化に特化して、よりシンプルに!より軽量に!
コンポーネント変更
JBoss Data Service 5
EAP 5
JBoss ESB
BPEL Rules
Data Virtualization (Teiid)
JDBC / ODBC
jBPM3
UDDI
Repo-sitory
JBoss Data Virtualization 6
EAP 6(JDG)
Data Virtualization (Teiid)
JDBC / ODBC
Repo-sitory
Copyright © 2013 Red Hat K.K. 37
新機能 ダッシュボード 円、棒、折れ線の3つのグラフとデータテーブル データテーブルは、Excel/CSV 形式でダウンロード可 ナビゲータ、フィルター等、グラフ以外の部品も提供
Excel/CSV形式
ダウンロード
ナビゲータ
フィルター
パンくず
タブでの 画面切換
Copyright © 2013 Red Hat K.K. 38
レイアウト変更はドラッグ&ドロップに対応 グラフの表示形式は属性設定により容易に変更可能
新機能 ダッシュボード設定方法
4種類から グラフを選択
ドラッグ&ドロップでレイアウト
変更
編集
Copyright © 2013 Red Hat K.K. 39
VDB インポート/再利用 VDBの階層化のオーバヘッドが大きく削減
分散開発での生産性、安全性が向上
ネイティブクエリー データベース固有のSQLの実行が可能
列/行マスク 設定ベースでのロールによるカラムデータの変更
設定ベースでのロールによる抽出条件の変更
その他の新機能(トピック)
Copyright © 2013 Red Hat K.K. 40
まとめ
データ仮想化はビッグデータと共に新しい データの価値を生み出す次世代のトレンドです
レッドハットはオープンな技術で データ仮想化技術を牽引していきます
データ仮想化により今までに無い柔軟で迅速な データ統合基盤の構築が可能となります
Copyright © 2013 Red Hat K.K. 41
是非お試しください
http://www.jboss.org/products/datavirt
Copyright © 2013 Red Hat K.K. 42