 |
|
1 2 3 次のページ
|
 |
あなたがこれまでXMLデータベースに触らなかった4つの理由とは
|
XMLデータベース(以下、XMLDB)とはXML形式の情報をXMLのまま保存、検索、出力することができるデータベースのことです。本連載では、オープンソースのXMLDBである「eXist」を題材として、まずはXMLDBそのものを簡単に試せるよう、インストールから簡単なサンプルを実際に作成できるところまでを紹介します。
皆さんも、XMLにはほとんどの方が何らかの形で触れられていると思いますが、ことXMLDBとなると「XMLDB? うーん、ちょっと敷居が高いんだよね……!」とお考えの方が、まだまだ多いのではないでしょうか。
その「敷居の高さ」とは、何が原因なのでしょうか。そこで、筆者がかつて感じていた「XMLDBに触らなかった理由」を改めて考えてみました。
|
XMLの設計に自信が持てなかった
|
これまでXMLにそれほど親しんでこなかった筆者は、XMLというツリー構造のデータをみたとき、どのようにして情報を整理してよいのか、その設計の自由度が高いために戸惑ってしまいました。
よくあるCSVや固定長のデータは1〜2次元の表をベースとしているので、RDBに格納したときの正規化・非正規化などのノウハウはほぼ定まっています。しかし、XMLはツリー構造をベースとしているので、要素・属性・ツリーをどこで切るかという問いに対する正解が複数あることが多く、自信が持てない原因となっていました。

図1:ツリー構造のデータと表形式のデータの違い (画像をクリックすると別ウィンドウに拡大図を表示します)
|
XMLDBの使いどころがわからなかった
|
XMLを記録するにはXMLDBという選択肢があることは、筆者も知っていました。しかし、RDBでもシュレッディング(=XMLの要素ごとにテーブルのカラムを生成し、データを振り分けて挿入すること)やBLOB形式のカラムにバイナリとして保存するという選択肢があります。
筆者は今までRDBを使ってきたため、RDBでできることだったらRDBでやってしまうという選択肢を取るのが一つのセオリーだったといえます。つまり、XMLDBをどこで使えば効果的だったかわからなかったのです。
|
XMLDBを使うには、何を覚えればよいのかわからなかった
|
RDBにはSQLという標準の問い合わせ言語があります。これに対し、XMLDBにはSQLに準じる標準的な記述方法があるかどうか、今から3〜4年前に少し調べてみました。すると、XMLの構造を参照するXPathという標準を使って簡単な検索はできるくらいで、XMLDB全体でみると、SQLのような強力な検索をするための記述は製品ごとにかなり差違があることがわかりました。
XMLDBを学習する上で、プロダクト独自の検索方法を個別に覚えなければいけないというのは大きな障害になっていました。
|
簡単に試せるXMLDBのプロダクト・ノウハウが少なかった
|
XMLDBを試したいと思ったら、商用版のプロダクトを試用するか、オープンソースのプロダクトを利用するか、大きく分けて2つの選択肢があります。気軽さという面では、オープンソースが入り口となるケースが多いように思います。RDBの場合には、PostgreSQLやMySQL、Firebirdといったオープンソースプロダクトが用意されており、また技術者向けのサンプル、解説も多数揃っています。
これに対してXMLDBでは、今から3〜4年前には、XQueryの標準化途中だったということもあり、気軽に試すことができ、かつそれなりに安心して使うことができるプロダクトがあまりありませんでした。RDBに比べるとWeb上でのリソース数も少なく、手軽に試すことができる環境が整っているとはいえない状況でした。
|
1 2 3 次のページ
|

|
|

|
著者プロフィール
ウルシステムズ株式会社 柏原 宏充
ウルシステムズ株式会社シニアコンサルタント。Web系開発の世界でRDBMSと触れあっていたところ、様々なことがあってXMLDBの世界へ。技術を文字にして伝え、文字を実装にして証明することを武器に、今日もお客様の課題解決に取り組んでいる。
|
|

|
著者プロフィール
ウルシステムズ株式会社 大塚 庸史
ウルシステムズ株式会社シニアコンサルタント。2003年より現職。以前よりスクリプト言語には大きな興味を寄せていたが、最近、JavaScript、Flexの柔らかさに開眼しつつある。XQueryは今年「来る」と確信しつつ日々奔走中。
|
|
|
|