大人のためのデータベース講座:『XML-DB開発 実技コース 』

 ご案内のとおり、リレーショナル・データベースは、非常に堅牢で完成度の高いモデルに立脚した体系です。「ドッグ・イヤー」とも称されるほど変化の目まぐるしいシステム業界において、40年間ほとんど基本的な枠組みに変更が生じていない。こんな「枯れた」モデルはなかなか見つからない。

 それほどの完成度を誇るリレーショナル・データベースにも、しかし、欠点がないわけではありません。というか、探せば大小取り混ぜて結構な数の欠点がみつかります。その中で、近年とくに批判が集中しているのが、「木構造や階層構造のデータを扱いづらい」というものです。これまでは、木構造のデータ自体がそれほど比重の大きなものではなかったため、あまり重要視されてきませんでしたが、最近ではWeb上で遣り取りされるデータの形式にXMLが普及してきたことを受けて、この欠点が大きくクローズアップされています。

 そんなわけでリレーショナル・データベース陣営からも、この批判に何とか答えようと試行錯誤が続いています。旧来から木構造を扱う方法論として知られている(しかしいまいち使い勝手の悪い)「隣接リストモデル」や、可能性は感じさせるもののまだまだ実験的な「入れ子集合モデル」ファイルシステムの考え方を受け継ぐ「経路列挙モデル」など。

 一方で、データベースそのものの枠組みを、木構造のデータを扱いやすいように改変するという方法を選択する考え方もありえます。その代表格が、本書『XML-DB開発 実技コース 』が詳説するXMLデータベースです。

 本書は、XMLDBについて、その基本的思想からインストール、検索・更新についての具体的方法までを網羅した非常に丁寧な解説書です。特に、XMLDBにおけるSQLに相当するXQueryについては、その基本的な構文から応用的な検索と更新まで、具体例を交えて詳しく解説されています。一つ一つステップを踏みながら演習が用意されているのが、理解を助ける心憎い計らいです。

 そして本書の誠実さが最もよく現れている箇所――それは、XMLDBの欠点について言及するところです。もちろん、階層データの扱いに重点を置いたモデルである以上、それ以外の形式のデータの扱いがその分手薄になるのは、ある意味で当然のことです。だから、XMLDBRDBの代替となるモデルではない。むしろ両者は互いに補完しあうことで、データベースという体系をより完全なものへ高めていく、そのようなピース群の一つです。その証拠に、OracleDB2などでは、XMLDBRDBが一つのDBMSの中に並存する形で実装されています。

 数年前、「リレーショナル・データベースの次に来るのはどんなデータベースか?」と問われた時期がありましたが、データベースというのはそんな風に「何でも一挙に解決する銀の弾丸」を求める流儀がそぐわない分野です。データの形式に様々な特性がありうるように、それに適したデータモデルもまた様々な可能性がありうる。著者たちは、その事実を正しく把握しています。長所にだけ目を奪われるのではなく短所、「自らに何ができないか」を冷静に見定めることによって、本書にはプロの視点が与えられています。