ILLUSTRA の使い方
神戸大学 工学部情報知能工学科 槙本希美
1． はじめに
現在広く使われている２つのデータベース管理システム（DBMS）であるオブジェクト指向 DBMS（ODBMS）とリレーショナル DBMS（RDBMS）のそれぞれは豊富なデータ管理の問題に対して部分的な解決法しか提供しておらず、さまざまな問題点をかかえています。例えば、ODBMS モデルは一般的な検索言語がなく、RDBMS では十分なデータ型をサポートしていません。そこで、拡張性のある RDBMS として、世界で初めてのオブジェクト・リレーショナル DBMS（ORDBMS）である
Illustra が開発されました。Illustra は、複雑なデータタイプを使用できるオブジェクト指向を提供するだけでなく、SQL を拡張した効率的な検索言語を提供しています。
2． ILLUSTRA とは？
複雑なデータタイプを管理する問題点としては、多数の複雑なデータの種類を作成しなければならないことにあります。そこで、Illustra サーバは高いパフォーマンスの拡張性に富んだオブジェクトの格納と検索ができるプラットフォームを提供しています。
Illustra はオブジェクト指向データベースとリレーショナルデータベースの優れたところを合わせた製品で、テーブルやルール等のスキーマ、新たなタイプの宣言とその 継承等が可能となっています。

＜図 1 Illustra の位置付け＞ i

Illustra はその特徴として、 DataBlade をサポートしています。ここで、DataBlade とは、分野ごとの各種アプリケーションに特化したデータ型、ファンクション、アクセスメソッドをあらかじめライブラリとして提供するもののことです。以下に主な DataBlade の種類をあげます。
Image DataBlade

４９種類のイメージフォーマットの変換 イメージの論理演算機能等

VIR DataBlade

画像のコンテンツ・ベースの検索機能

Text DataBlade

全文検索機能2D Spatial DataBlade

２次元の空間オブジェクトの作成、検索等の支援

TimeSeries DataBlade

時系列データの格納、操作、分析

Web DataBladeIllustra を WWW サーバのバックエンドとして利用可能にする

３． 起動方法
それでは、実際に Illustra を起動してみましょう。手順は以下のとおりです。
＜手順＞
１．apollo にログイン
２．/usr2/illustra/bin ディレクトリで "msql <database>" と入力し、データベースに接続
３．sql 文を用いてデータベースを構築、検索の実行を行う
ここで、各 DataBlade に対応する sql コマンドを実行します。
４．"\q" と入力し、データベース操作画面を終了
注）Illustra sql については、マニュアル等を参考にしてください。
現在 apollo。kobe-u。ac。jp には、以下の DataBlade がインストールされています。
Illustra Server… 5 user license

2D spatial datablade … 5 user license
Image datablade… 5 user licensemsql で使用する主なコマンドは以下のとおりです。

DirectiveMeaning\CDisplay connection status。

\c dbname Create a new connection to db_name。
\u cidUse existing connection cid。

\D cidDisconnect from connection cid。

\gGo。

\h or \?

Display the list of SQL directives。

\qExit from the query processor。
＜表 1 msql コマンド＞

使用例：
apollo% msql

…msql コマンドの実行

Not currently connected to a database* \c sample…\c コマンドを実行してデータベース sample と接続

Connected to sample on connection 0
４． 機能
ここでは、Illustra に特有の DataBlade についていくつか紹介します。
４．１ Web DataBlade
Web DataBlade を使用すれば、Web 上でダイナミックにデータベースのデータにアクセスすることができます。これにより、従来のデータ型に加えて、HTML ファイル、画像、オーディオ、ビデオなど、Illustra データベースに格納されたあらゆる型のデータが検索できるようになります。次に、
WebDataBlade のアーキテクチャを示します。

＜図 2 Web DataBlade のアーキテクチャ＞ ii

１） Web ブラウザからの要求により、Web サーバは Webdriver を起動
Webdriver は環境変数からの情報に基づいて SQL 文を生成し、Webdaemon を介してWebExplode 関数を呼び出す
２）WebExplode は Illustra データベースからアプリケーションページを検索し SQL 文をダイナミックに実行して結果をフォーマット
３）その結果がブラウザまで返されて表示
例）
この例で用いているデータベースには、「ももたろう」の中のそれぞれのシーンを表すテキストデータ、および画像を格納するテーブルがはいっています。そして、ユーザは、検索したいシーンをキーワードを用いて Web 上で検索することができます。Web 上で検索を可能にするために、
WebDataBlade を用いています。
以下に検索ページに使用した HTML を示しています。また、図３。１が検索画面、図３。２が検索結果の画面です。検索画面では、ユーザがキーワードを入力できるようになっており、検索結果画 面には、キーワードから検索されたシーンのテキスト、および画像が表示されます。
この HTML 文において、最初の <?MiBLOCK><?/MiBLOCK> ブロックが検索画面を表示するためのもので、２番目の <?MiBLOCK><?/MiBLOCK> ブロックが検索結果を表示するためのものです。
<?MiBLOCK COND=($search。nxst。)><?MiVAR NAME=title>Momotarou Search System<?/MiVAR>

検索したい単語を入力して"Search"をクリックしてください。<P><FORM METHOD=POST ACTION=<?MiVAR>$WEB_HOME<?/MiVAR>><TABLE CELLPADDING=0><TR><TD><STRONG>検索単語:</STRONG></TD><TD><INPUT TYPE=text SIZE=40 NAME=keyword></TD></TR></TABLE><P><INPUT TYPE=hidden NAME=MIval VALUE="sample1"><INPUT TYPE=hidden NAME=search VALUE="true"><INPUT TYPE=submit VALUE="Search"><INPUT TYPE=reset VALUE="Reset"></FORM><?/MiBLOCK><?MiBLOCK COND=($search。xst。)><?MiVAR NAME=title>Momotarou Search System Results<?/MiVAR><TABLE CELLPADDING=0><TR><TD><STRONG>検索単語:</STRONG></TD><TD><EM><?MiVAR>$keyword<?/MiVAR></EM></TD></TR、 story_g></TABLE>
検索結果:<TABLE BORDER=1 CELLPADDING=5><TH>id</TH><TH>text</TH><TH>picure</TH><?MiSQL COND=($keyword。xst。)
SQL="select id、 text、picture from story_g where Contains(description、'$keyword');"><TR><TD><H4>$1</H4></TD><TD><H4>$2</H4></TD><TD><IMG HSPACE=5 WIDTH=100 HEIGHT=100 SRC=$WEB_HOME?LO=$3&type=image/jpeg>
</TD>
</TR>
<?/MiSQL></TABLE><P><?/MiBLOCK></BODY></HTML>＜図 3．1 検索画面＞

＜図 3．2 検索結果画面＞

4．2 VIR DataBlade
VIR DataBlade は「似ている画像」や「ある特徴のある画像」を検索するための DataBlade です。VIR では画像の選択を行うために、以下に説明するセグメンテーションとファジー・マッチングという２つの技術を用いています。
・セグメンテーション … イメージの持つ様々な特徴をカラー、テキスチャ、ストラクチャという要素で分類し、その要素の度合によりベクトル化するもの

・ファジー・マッチング…類似した度合によって点数（ランク）を添付し、そのランク順にソートを行うことで、類似した画像を検索するもの
VIR で扱える画像のフォーマットは、現在のところ BMP、GIF、JPEG、Adobe Photoshop、Macintosh PICT、PhotoCD、SGI RGB、TIFF 等です。
例）
この例で用いているデータベースには、「ももたろう」のそれぞれのシーンの JPEG 画像が格納されています。これらのシーンの画像から、似ている画像を検索するために、VIRDataBlade を用いています。
図４の例は、桃の画像をもとに、桃の登場するシーンの画像を検索している様子です。

＜図 4 検索実行画面＞

謝辞
本文中で用いたアニメ「まんが日本昔ばなし」桃太郎の映像は、愛企画センター川内彩友美代表取締役および、大手前女子短期大学生活文化学科 浦畑育生助教授の御協力によります。

iii

Illustra User's Guide。 Illustra Server Release 3。2。 October 1995。 p2-6
伊藤滋伸、 太田佳伸、 木下聡、 仲山恭央。 DataBlade 構築技法。 BNN。 p95