データ仮想化の価値と課題
JBoss サービス事業部
シニアソリューションアーキテクト
河野 恭之
アジェンダ
データ仮想化(Data Virtualization)
Red Hat JBoss Data Virtualization
ベストプラクティス
導入効果
Data Virtualization 6 新機能トピック紹介
Copyright © 2013 Red Hat K.K. 2
データ仮想化は
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 Virtulization
企業内・外のあらゆるデータを
「モデリング」「仮想統合」「リアルタイム連携」する実行基盤
Red Hat JBoss Data Virtualization とは
利用者
データソース
仮想データベース
物理モデル
論理モデル
Web サービス I/Fデータベース
各種File
各種AP
Web
サービス
メタデータリポジトリ
I/F
Excel
SO
AP
/RES
T
SQ
L
(JD
BC
/O
D
B
C
)
認
証
/
認
可
BI
ツール
Java/.NET
アプリ
ケーション
Web
サービス
NoSQL
Copyright © 2013 Red Hat K.K. 6
JBoss Data Virtualization
全体アーキテクチャ
JB
oss
EAP
JB
oss
Data
Vir
tulizati
on
JDBC/ODBC/SOAP 接続
Function LibraryCache Virtual Database (アーカイブファイル) 認証/ 認可 ログ出力 監査証跡
Query Engine(optimization)
Connecter Framwork
JDBC File LDAP SOAP SFDC カスタム
リ
ポ
ジ
ト
リ
デザインツール
ランタイムエンジン
監視ツール
JBoss Developer Studio
XML 定義ファイル
Admin Shell
管理コンソール
データ
ベース File LDAP 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 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