(コメント) DBMS/ストレージから見た Data Grid
Download
Report
Transcript (コメント) DBMS/ストレージから見た Data Grid
DBMSから見た
Data Grid
小島 功
(産総研グリッド研究センター)
プラットフォーム側が考える、
DataGridに要求される機能
DB/ストレージが分散している。
複数のアクセス法を支援する。
データとメタデータを分離して、メタデータはある程度
一括管理し、データは分散する。
例:ファイルシステムでもあり、関係DBとも見える。
サーバでプロトコル変換
レプリカの管理を行う。
論理的なコレクションとファイルの管理、複製の一貫
性管理
続き
データのバージョン管理
動的な導出データ(生成方法ないしプログラムか
ら要求時に動的に導出する)
更新の管理
生成方法の記述・系統管理など
アクセス権・利用権制御
他のツールとの連携
現状
Nirvana SRB(SDSC)
Oracle iFS
OGSA-DAIS
Chimera
などなど
プラットフォームシステム側の問題意識
汎用性・相互互換性
多様なプロトコルと互換があること。
(ファイルシステム・DB)
独自のプロトコルをあまり使ってないこと。
(問い合わせ・データ転送など)
理由:
類似の背景を持つ応用がほかにもあること。
技術的に関連するアクティビティがあること。
データベース統合が応用分野ごとにあること。(地質、文献)、
アーカイブ)
例 データウェアハウス
基幹系データから重要な情報を引き出し、解析
などして経営に役立てる。
OLAPツール
多次元分析
基幹系データ
サマリ・加工結
果
コピーなど
可視化
データ・マイニング
プログラ
ム
処理
導出データの系統管理(血統木のようなもの)などが問題
(これは、Virtual Dataなどでも類似の問題がある)
例2:
現時点でWebサービスとして?
Webサービスアクティビティ
セキュリティ・トランザクション
WS-Security/WS-Transaction/WS-XX
ワークフロー・ビジネスフロー
BPELなど
グリッドにおける?
標準化の方向
W3C(Not GGF)
Semantic Web
方向
OGSAにより、SOAP/HTTPベースのシステ
ムアーキテクチャが非常に有効
80でほとんど全部すむ。
その上でセキュリティやデータベースアクセスなどの
プロトコルを合意すればよい。
WWWサービスの標準化動向ともあう。
DBはXMLデータサーバとしてみる。
OGSA-DAIS
XQuery(XPath)/XMLSchema
ファイルシステム・プロトコルを同時に提供
カタログアクセスなども、同じ方法でやる。
(MCATなどの独自検索はしない)
希望
ミドルウェアなどでは、DBMSの機能がうまく見える
方が嬉しい。
単なるSQLサーバではないから。
導出データと一貫性の管理
トリガ
仮想化・個人化
アクセス権限の管理など
変にラップすると、このあたりの機能がまるで使えない。(た
だし、標準である必要がある)
上記の点では、UDDIやLDAPについては?がある。
議論
(先の方向性がDB屋としては幸せ)
低レベルアクセスの位置づけ
WS-Federation
Diskアクセス
SAN/NAS,iSCSI
アクセスコントロール
スイッチ/VPN/FW
WS-Trust
WS-Security
SOAP/HTTP
FWなど
G
R
I
D
おまけ:Oracle的なソリューション
例えば、iFSのGridFTPへの拡張を行う。
JavaAPIを使ってユーザプログラムが可能。
実際のファイルシステムは分散したOracle上に作る。
コピー管理や導出データ管理、更新に伴うデータ一
貫性の管理や系統・血統管理は、バックのOracle側
のメカニズムや分散プロトコルを使う。(更新のイベン
ト通知など)
WWWサービス基盤にのせ・OGSA対応とする。
DB的には自然だが、応用に対して筋のよい解か?
Oracle iFS
ファイルシステム・プロトコルを話す関係データ
ベース
NFS,FTP,Samba,IMAP/SMTPなど。
応用から見ればファイルシステム(例えば、FTPサー
バ)で、同時にSQL問い合わせなどの機能「も」使える。
SQLから見た側の表のイメージは、定義・プログラム
可能(標準のパッケージがある)
プロトコルが拡張できる(プロトコル・サーバ)
SQL
NFS
FT
P
iFS
Oracle
仮想化
導出データ
トリガなど
Oracle Materialized View
ベースとなるデータと、それをもとに導出された
データとの一貫性を自動的に維持する。
ベースデータの更新時の処理をオプションで指定。
1.
2.
3.
4.
導出データを全部再計算
差分だけ計算・更新
2. をやってみて、だめなら1.をやる
しない
基幹データとサマリ・導出データやコピーの間
の一貫性などの保持に利用されている。
Virtual Dataへの適用
対象処理(導出データを作れる処理)
SQL+Stored Procedure
DB処理に限られるともいえるし、
プログラム処理も扱えるともいえる。
インターフェイスとバインディング程度で指定できるも
の
プログラムはJavaで記述
コールスペック(SQLとの接続関係の記述)は、Oracle側
で記述。
例
誰かの給与が20%以上上がったら(ここはDBをチェック)、そ
のデータを渡してJavaプログラムを起動とか。
大規模アプリ・ロングトランザクションへの対応は?
その他
一貫性 (イベント発生によるトリガ、更新による自動処理起動など)
バージョン管理 (更新によるバージョンの管理。古いバージョンの利用)
分散
(リモートアクセスの提供)
個人化
(個人ごとの視野の提供)
並列処理 (クラスタリング)
仮想化 (仮想ビューの提供)
ユーザ管理・アクセス権の制御 (SQLを使ったきめ細かい管理)
など。
DBの文脈に限れば、ある程度は実現されていて、似た機能を0から作る
か、DBを単にSQLサーバとして、その上でさらに上記機能を実現するミ
ドルウェアを作ることは、屋上屋的のようにも思える。
DBMSはSQL処理を中心とした部分に限られるが、一般化の方向(つま
り、SQLだけでなく、普通のプログラム処理と組み合わせて上記の機能を
実現する方向)にあることも事実。