[DB Interview]
第2世代XMLデータベース誕生秘話(前編)

「世界一の性能」を獲得する、それがミッションだった

株式会社ピーデー
川俣 晶
2005/9/1

XMLデータベースの世界に第2世代と呼ぶにふさわしい純国産製品が登場した。東芝ソリューションが2005年4月に投入した「TX1」は、ネイティブあるいはRDBを問わずXMLデータベースの検索性能で世界最高水準を目指したという。開発の過程で直面したさまざまな難問をどう乗り越えていったか、開発担当者にインタビューを行った。(編集部)

ひと味違う第2世代XMLデータベースの時代

 あえて断言しよう。現在ソフトウェア開発の常識そのものを覆すような大変革が起きようとしていて、その起爆剤となるのは第2世代のXMLデータベースであると。しかし、なぜXMLデータベースなのだろうか。そして、なぜ第1世代と第2世代を分ける必要があるのだろうか。

 ここでいう第1世代のXMLデータベースとは、XMLが誕生した後の最初のブームで産声を上げた製品群(eXcelon、Tamino、Yggdrasill、Apache Xindiceなど)を示す。それに対して、第2世代のXMLデータベースとはXMLブームが一段落した後で生まれた「NeoCore XMS」や、今回インタビューを行った「TX1」を示す。この2つの世代の差は、どうやら見掛け以上に大きいようだ。どちらも同じXMLデータベースなのだから同じように使えるだろう、という考え方は成り立たない。

 第2世代のXMLデータベースは、どのような背景で生まれてきたのか。TX1の開発を担当した東芝ソリューション プラットフォームソリューション事業部 ソフトウェア開発部 参事 松井浩二氏へのインタビューを通して見ていこう。

既存技術(RDB)では扱えないニーズの発見

―― そもそもXMLデータベースの開発に取り組んだのは、どのような背景によるのでしょうか。

 
東芝ソリューション株式会社
プラットフォームソリューション事業部
ソフトウェア開発部
参事 松井浩二氏

松井 当社の得意としているシステム開発の分野である、新聞や金融(情報系)といった業界から、文書管理システムにXMLを使えないかという機運が2000年ごろに生まれていました。当時、新聞業界ではNewsMLが整備、導入されつつあり、金融業界の膨大な文書管理ではSGMLが使われていました。この動きを受け、当社でもXMLを使った製品開発の可能性を探り始めたというわけです。

―― そこでXMLデータベースに目を付けた。

松井 いえ。この段階ではもっと広い視野で、文書管理、ナレッジマネジメント、XMLの3つをキーワードに、何ができるか調査したのです。当社は文書管理システムで実績を持っていましたし、ナレッジマネジメント製品「KnowledgeMeister(ナレッジマイスター)」もあったので、ここを発展させる方向性を探っていたのです。XMLを調査していくと、EDIやEAIといったデータ交換フォーマットおよびコンテンツ管理の2つの方向が、XMLのキラーアプリになると分かりました。当社はコンテンツ管理システムのビジネスが主力だったので、XMLを使ってコンテンツ管理系の開発をやろうということになりました。XMLデータベースという切り口で始まった開発ではなく、今後作成されるコンテンツの多くはXMLで作成されるので、それに対していかに対応するか、さらにナレッジマネジメントなど当社の差異化技術との連携にXMLが使えないか、という発想だったわけです。


 文書管理システムにXMLを使えないか、という機運が東芝ソリューションに芽生えた2000年ごろというのは、1998年にXMLが生まれて間もない時期であり、バブリーなXMLブームの渦中だった。そんな時代の空気の中で、文書管理システムにXMLを使うというのは、実にXMLにマッチした良い判断だったと思う。なぜなら、XMLの生みの親ともなったSGMLは、もともと文書管理のために生まれた技術という側面があるからだ。

 しかし、XMLブームの中で、そのような応用が大きく取り上げられることは多くなく、どちらかといえば「EDIやEAIといったデータ交換フォーマット」の側面が強くアピールされていた。これはどちらかというと、新技術を手に入れた技術者がそれを使う場面を思い描いた提案である。一方で、「ドキュメント管理」のニーズは「新聞や金融(情報系)といった業界」で問題解決にXMLが使えないかという現実のニーズを反映している。これは、技術主導で大風呂敷を広げるよりも、はるかに正当で健全といえるだろう。

 このような出発点に立った東芝ソリューションの取り組みは、厳然とそこに存在するニーズを満たすという技術的な障壁と向き合うことになる。真にクリエイティブな技術者にとって、最も価値あるチャレンジが待ち構えていた。


XMLデータベースありきでなく、ニーズ主導の製品開発

―― 後にXMLデータベースとして結実することになったXMLプロジェクトは、どのように立ち上がったのですか。

松井 プロジェクトは4〜5人ほどで2001年ごろに発足しました。当初の開発目的はXMLデータベースではなく、XMLで何かやろうと。特定の製品ではなく、さまざまな製品に使われるプラットフォームの技術基盤にXMLを使っていこうというプロジェクト・コンセプトです。現在当社で開発しているOCR、前述のKnowledgeMeister、「FlyingServ J-Frame Server(フライングサーブ・ジェイフレームサーバ)帳票オプション」といった製品にも、プロジェクトの資産は生かされています。

―― ソリューションの核となる技術にXMLを使っていく方針だったのですね。

松井 はい。特定の業種、業態に限定されない形で、顧客の問題を解決するためのコアテクノロジとしてXMLに注目していましたから。

―― そこからXMLデータベースの製品化に至った経緯は?

松井 同じころ、当社の東芝研究開発センターでXMLのデータベース応用研究していたこともあり、プロジェクトの一環でXMLデータベースも開発しようということになりました。いまでこそ大規模での高速性を達成していますが、開発当初はXMLのクエリ研究を行いました。クエリはユーザーの使い勝手に直結する技術です。そういった使いやすさの方向を選んだわけですが、いまから振り返るとこれは正解でしたね。TX1という製品は、データベースの構造やアーキテクチャといった技術面からというより、ユーザーの使いやすさの向上という視点から生み出されたといえるでしょう。


 世の中によく見られる失敗パターンの1つとして、「取り組む前に正解を決めてしまう」というものがある。十分な研究や実績がない段階で、「○○という技術を使えば、問題は解決します」と技術主導で始めると、このパターンに該当してしまう可能性がある。

 しかし、このプロジェクトは、XMLを使うという前提は立てているものの、具体的にXMLデータベースを使うという選択を最初から決めてはいない。さまざまな可能性を模索したうえで、XMLデータベースというテーマにたどり着いている。そして、まず使い勝手にかかわるクエリの研究に取り組んだことにも注目したい。ニーズからスタートして技術にたどり着く、まさにニーズ主導の製品開発だったといえよう。


世界一の性能を目指す

―― いよいよXMLデータベースの製品開発に着手されたわけですが、すでに第1世代と呼ばれる製品群は出そろっていました。後発組として、どんな特徴を持った製品にしようと考えたのですか。

松井 製品開発の当初からのキャッチフレーズは「世界一の性能」でした。当社の顧客に多い大規模システムを稼働させている企業では、文書管理システムなどをXMLデータベースで構築すれば、必ずパフォーマンスが問題になるだろうという確信がありました。当時リリースされていた他社のXMLデータベースを検証してみると、各製品で想定している検索パターンでは高速なのですが、当社が想定していた業務処理では極端に性能が落ちました。RDB製品でもXML対応機能を提供しだしていたので、XMLデータベースはRDBのXML機能では対応できないところまでをカバーしなければなりませんでした。TX1はRDBをベースとするものも含めたXMLデータベースの中で世界最高の性能を目標にしたのです。

―― 性能向上の開発秘話は後編でたっぷりお聞かせいただくとして、RDBのXML機能でいいじゃないか、というXMLデータベース懐疑派の主張には、どのような機能で対抗するつもりだったのでしょうか。

松井 性能で世界一を目指すと同時に、XMLデータベースである以上、XMLの良さを少しでも損なうようなものにはしたくない、という強い思いがありました。例えばRDBのXML機能では、タグ数や階層数に制限があるなど、扱えるXMLに制限がある。この制限を超えるには、まるごとXMLをCLOBで格納するしかありません。でもXMLの良さは、データと文書の両方の性質を兼ね備えていることで、文書という観点では例えば「//……」や「contain関数」などを使って、あいまいな検索ができることがとても重要なんです。他社のXMLデータベースでもスキーマを固めておけば高速だという製品もありましたが、それではXMLの良さを損なってしまいます。世界最高の性能を出すという目標の前提には、XMLの良さ(スキーマレスによるデータ構造の柔軟性やあいまい検索など)を損なわないことがありました。


 XMLデータベースの開発では、RDBよりも性能的に見劣りすることを前提として、RDBではできないことをアピールする選択肢もある。XMLデータベースがRDBで実績のあるレコードデータ処理において性能面で劣るのは常識であり、これをひっくり返そうなどと思うのは非現実的でばかげている……技術主導の場合はこれが正当な考え方かもしれない。しかし、ニーズ主導の場合は、ニーズを満たすことが必須要件であり、ニーズが高性能を要求するならRDBに匹敵する性能を獲得しなければならない。

 一方で、あえてXMLデータベースを選択する以上は、XMLならではの価値を活用したいのであり、その価値を殺すような制約を付けて性能を上げる選択は取れない。これが、ニーズを満たすために課せられた絶対的な制約である。

 TX1はXMLの柔軟性を損なうことなく世界一の性能を目指したXMLデータベースという意味で、第2世代の製品といえるだろう。


 前編ではTX1の開発プロジェクトが誕生した背景と、製品開発における目標の設定までを紹介した。後編では、なぜライバル製品としてXML機能を持ったRDBを含めたすべてのXMLデータベースを標的としたのか、どのようにしてパフォーマンス改善に取り組んだかを紹介しよう。(後編に続く)

@IT関連記事
テラバイト級のデータを高速検索、東芝のXMLDB(News記事)
テラバイトOK!
大容量データでも高速検索を可能にしたXMLデータベース「TX1」
(PR記事)

 Index
[DB Interview]
第2世代XMLデータベース誕生秘話
前編
「世界一の性能」を獲得する、それがミッションだった
  後編
検索パフォーマンスは一日にして成らず


[DB Interview]



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間