11.26

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だけでなく、普通のプログラム処理と組み合わせて上記の機能を
実現する方向)にあることも事実。