/ / WinChalow

XpSQL[XML]

2004-05-18

Software Design の今月号(5月号)にXpSQLというXMLデータベースがのっていたので買ってきました。バックエンドにPostgreSQLを使って、細粒度のマッピングを行い、XPath検索ができるというもので、平成14年度の未踏ソフトウェアに認定されています。

この手のものは20世紀末にさんざんやったので、前世紀の遺物と思っていましたが、いまだに未踏というのには少々驚きました。

ツリー構造情報(parent, child, next)をそのまんまPostgreSQLに格納するので、SAXパーザからのバルクロードは効率が悪そう、と思ってベンチマークを見ると1Mをロードするのに4分かかると書いてあります。リニアにいくという非現実的な仮定をしても、500Mのロードに33時間もかかる計算です。PostgreSQLは一定以上のデータ量でガックシとスピードが落ちます。実際にはロード不能と思われます。うちで使っているXMLの実データは500Mオーダーなので、採用は見送りとなりました。

検索効率の方はなかなか良好です。10Mオーダーの小規模DBにはよいかも知れません。

XMLを細粒度でRDBマッピングするシステムのキモは、ノードの付番法にあるわけですが、XpSQLではデシマル・オーダーという技法を使っています。これはちょっと面白いので、Perl+MySQLで実装してみましょうはあと

permlink