
Database Watch 2月版 Page 1/2
XQueryの分かるDBエンジニアは高給取り?
加山恵美
2007/2/13
そろそろかな、いやどうかな、と気に掛けていましたが、ついにXQueryがW3Cで勧告になりました。XMLデータベース普及の追い風になりそうですね。XMLデータベースとRDBMSはうまく使い分けていきたいものです。
■祝・XQuery 1.0勧告
1月23日、W3Cは新たな勧告を発表しました。勧告になったのは主にXQuery 1.0、XSLT 2.0、XPath 2.0で、合計で8つの文書が勧告になりました。近年にない大規模な発表です。
今回の発表には2つの要点があります。まず1つはXSLTとXPathがバージョンアップしたことです。XSLTはXML文書の変換規則、XPathはXML文書のノード特定を行うもので、両者は互いに密接な関係にあります。加えてXMLでは代表的かつ実績のある技術です。新バージョンは旧バージョンを拡張する形となっています。XPath 2.0では利用可能な関数が大幅に増え、XSLT 2.0では連続処理やXML Schema対応など、両技術の可能性が今後広がりそうです。
もう1つ、XQuery 1.0も重要です。これはXPathをベースとした技術で、大ざっぱにいうと「XMLデータベースにおけるSQL」のような働きをします。XMLデータベースでSQLがそのまま使えればいいのですが、それには少し難があります。なぜならXMLはツリー型、RDBMSはテーブル型でデータ構造が違うからです。そのためXMLデータベース用の問い合わせ言語としてXQueryが開発されることになったのです。
XQueryは大手データベース企業が多く参画し、長い時間をかけて開発した技術です。網羅的な相互運用試験も行われており、すでに実装済みのXMLデータベース製品もいくつかあります。例えば昨年発表になったIBM DB2 9ではSQLとXQueryの両方が使えるようになっており、XQueryはすでに利用可能な技術です。
■XQueryの基本はFLWOR式
ここであらためてXQueryの基本となるFLWOR式を覚えておきましょう。花の“Flower”とは少しスペルが違いますが、フラワー式といいます。基本構文は以下のように示すことができます。
for $変数名 in 式 |
forは同じ処理を繰り返し、letは変数にシーケンスを代入し、whereは処理する条件を指定し、orderは処理する順番を指定し、最後のreturnは戻りシーケンス(実行結果として出力されるXML文書)を構成します。
■XMLデータベースとRDBMSの使い分け
これまで本連載では主にXMLデータベースとRDBMSの対比を行ってきましたが、両方使うというケースもあるようです。これはハイブリッドなXMLデータベースを採用するという意味だけではありません。もちろん、ハイブリッドなXMLデータベースを使えばXMLデータベースとRDBMSの機能や性能を同時に使うことができます。
そうではなくて、同じプロジェクトにて要件や段階次第でXMLデータベースとRDBMS、両方の製品を使う、または乗り換えるケースも実際にはあるそうです。XMLデータベースからRDBMSへ、またはRDBMSからXMLデータベースへ。これは紆余(うよ)曲折というよりは、適材適所となるべく状況に応じて乗り換えるからです。
それぞれの強みを考えてみましょう。XML文書はデータと構造がセットになっており、XMLデータベースではスキーマレスなデータを蓄積することができます。この性質はデータ構造に変化があってもデータを随時蓄積できるということを意味し、データ構造が可変的である環境で有利に働きます。例えば開発途上で仕様が不確定なときや、ユーザー現場にある非定型なデータやシステムなどが該当します。こういうときにXMLデータベースは強みを発揮します。
しかし開発が進み、データ構造が確定してくるとXMLデータベースからRDBMSへ乗り換えることもあるそうです。この段階になるとRDBMSの高い性能が重要になるからです。
XMLコンソーシアムが2007年1月23日に実施した「XMLデータベース事例セミナー」では、実際にXMLデータベースとRDBMSを使い分けした事例が示されました。ネットプライスインキュベーションが運営するmonopediaでは、開発当初はRDBMSを使用していましたがWeb 2.0的なサイトだと仕様変更が頻繁に発生するため、途中からIBM DB2 9に変更しました。これによりデータ構造に変更があっても身軽に開発を進めることができたそうです。またIBM DB2 9はハイブリッドなXMLデータベースのため、不変的なデータはRDBの通常列に格納し、可変的なデータはXML列に格納することで使い分けたとか。
この例では開発段階でRDBMSからXMLデータベースへ乗り換えが行われました。しかし乗り換え後のデータベースはRDBMSの性質も併せ持つため、将来はRDBMSに乗り換えることなくRDBMSの強みも生かすことができます。
かつてこうしたハイブリッドなXMLデータベースが登場する前は、ネイティブXMLデータベースとRDBMSの間で乗り換えるということがたまにあったそうです。同セミナーに登場したXMLDB勉強会リーダーの加藤哲義氏(サイバーテック)は、「開発途上でXMLデータベースを使い、開発終盤または運用後にデータ構造が安定してきたら別のRDBMSに乗り換えるケースはたまに起きます。RDBMSに乗り換える理由にはほかにも『RDBMSの方がエンジニアが多いから』という人材の都合もあるようです」と話していました。
![]() |
| 写真 XMLDB勉強会で発表する加藤哲義氏(右) |
| 1/2 |
| Index | |
| 連載 Database Watch 2月版 XQueryの分かるDBエンジニアは高給取り? |
|
| Page
1 ・祝・XQuery 1.0勧告 ・XQueryの基本はFLWOR式 ・XMLデータベースとRDBMSの使い分け |
|
| Page 2 ・好景気だとXMLデータベースがブレイク ・XMLデータベースの資格試験が登場 ・PostgreSQL技術セミナー開催 |
|
| Database Watch |
ホワイトペーパー(TechTargetジャパン)
- 診断ツールでデータベースの健全性を保つ (2010/3/5)
DBをセキュアに保つには、日々のチェックが重要。診断ツールを運用に組み込むことが、情報漏えい対策の第一歩です - トムが説く、エンジニアがしてはならないこと (2010/3/2)
Oracleエンジンそのものをデザインする男、トム・カイト。カリスマエンジニアが説明する、陥りやすい「ぼくたちの失敗」とは - “スコット”といえばなんと答える? (2010/2/22)
ツーといえばカー、スコットといえばもちろん! そんな根っからのDB人間チェックや週末の勉強会など、2月もDB漬けでした - データモデリングは「できるところ」から始めよう (2010/2/15)
おびただしい数の業務フローで途方に暮れる前に「できるところ」を探そう。ゼロから始めるモデリング、その心得と技術をまとめます
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 New! |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜Java編〜
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |

| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |

| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |
| ◆ | 直属上司が海外にいるのエンジニアに見る 【実例】場所に捉われないワークスタイル |

| ◆ | 「仮想化工房」のマイスターが選んだのは VMware、Hyper-V、そしてVirtageだった! |
| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |







