ジャンル:データベース管理システム
作者:米IBM社 ライセンス:フリー
URL:http://www.ibm.com/db2/express/

 DB2 Express-C 9は,米IBM社が開発した無償利用可能なデータベース管理システムの新版である。新版はXML形式で記述したデータをそのままデータベース内に保存でき,表形式で保存したデータと同様に高速に扱える。

  米IBM社は2006年7月28日,無償利用可能なリレーショナル・データベース管理システム(RDBMS)の新版「DB2 Express-C 9」の提供を開始した。DB2 Express-C 9は有償RDBMS「DB2 Express Edition」を基にして開発された本格的なRDBMSである。

 DB2 Express-C 9には,ハードウエアやOSに関するいくつかの制限があるものの(表1),データベース・エンジンなどのコア(核)になる部分の機能は有償版と同じだ。有償RDBMSが新版になるのとほぼ同時期に無償配布が開始された。

表1●DB2 Express-C 9が対応するシステム
表1●DB2 Express-C 9が対応するシステム  [画像のクリックで拡大表示]

 新版では,XML形式のデータ(以下,XMLデータ)を扱える新エンジンの搭載や,自動管理機能の強化などが施された。さらに,オープンソースの統合開発環境「Eclipse」を基にした,データベースを開発する機能も新たに用意されている。

DB2 Express-C 9の新機能

 DB2 Express-C 9の主な新機能を順番に紹介していこう。

(1)XML機能(pureXML)

 XMLを扱うための専用エンジンの搭載は,新版の最も注目すべき新機能だ。旧バージョンのDB2を含む従来のRDBMSでもXMLデータを扱える。しかしRDBMSが備える既存の機能を用いた,暫定的な対処方法に留まる。

 RDBMSにXMLデータを格納する方法は,大きく分けて2種類ある。XMLデータの構造を分解してテーブルの各列にマッピングする方法(シュレッディング方式)と,VARCHARやCLOB(Character Large OBjects)といった型を宣言した列にそのままの形で保管する方法だ。どちらの方法も柔軟性またはパフォーマンス面の問題がある。

 DB2 Express-C 9は,「XMLストレージ」と呼ぶ,XML専用のエンジンを搭載する。もちろん,従来のリレーショナル・データベース・エンジンの機能をそのまま引き継いでいる。そのため,XML形式と表形式のデータを同時に扱える,ハイブリッドなデータベース・エンジンになっている。

 このデータベース・エンジンでは「XMLスキーマ」というデータ構造を記述したものを用意しなくても(スキーマレス),XMLデータを管理できる*1。さらにXMLデータは,XMLの階層型フォーマットでそのままデータベースに格納できる。そのため,XMLの柔軟性が損なわれない。

 また,XMLのエレメント(要素)やアトリビュート(属性)それぞれにインデックスを作成できるため,検索などのパフォーマンスに関しても従来のデータベース・エンジンに引けを取らず,高速に動作する。

 データベースへの問い合わせ言語は,SQLを拡張した「SQL/XML」を用いる。SQL/XMLでは,SQLを用いてXMLデータの操作が可能だ。もちろんXMLデータベース専用の標準問い合わせ言語「XQuery」にも対応する*2

(2)自動化に関する機能追加・強化

 DB2 Express-C 9では,自動化に関するさまざまな機能が新しく提供あるいは強化された。例えば,「STMM」(Self Tuning Memory Management)や自動ストレージ,自動統計収集,I/Oチューニングの自動化の搭載,表やインデックスを再編成する機能の強化――などだ。

 新しく提供された自動化機能の中で注目すべきものはSTMMである。“Self Tuning Memory Management”という名前の通り,STMMはメモリーの使用状況を監視し,必要なメモリーを自動的に割り振ったり,使われていないメモリー領域を小さくしたりというチューニングを自動で実行する。それだけでなく,システム全体のメモリーを分析し,複数のデータベースがメモリーを利用している環境でそれぞれのデータベースを考慮した自動調整が実施される。

 一方,強化された機能の中で注目すべきものは,ディスクやI/Oに関する自動管理である。DB2 Express-C 9が利用できるディスク装置の数やCPU数などから自動的に判断し,I/Oを処理するためのプロセスを適切に割り振ったり,複数のディスク装置を指定するだけでI/Oアクセスを自動的に分散させたりできる。

(3)DB開発に関する新ツール

 DB2 Express-C 9には,Eclipseを基にして開発した開発ツール「DB2 Developer Workbench」(以下,Workbench)が用意されている。旧版のDB2 Express-Cでは,Javaを用いた独自の開発ツール「デベロップメント・センター」が付属していたが,Eclipseを用いたことでツールとしての使い勝手が向上している。

 Workbenchは,ストアド・プロシージャやユーザー定義関数の開発ツールのみならず,XMLを扱うためのスキーマ定義やXQueryをGUI上で作成するための支援ツール「XQuery Builder」など,DB2 Express-C 9のデータベース開発に関するほとんどの機能を備えている。高機能であるにもかかわらず,DB2 Express-C 9と同様に無償で提供されており,ダウンロードして利用できる。