DBMS導入事例:IBM DB2 9
DB2が「XMLDBかRDBか?」の迷いからユーザーを解放
ネットプライスは、商品レビューサイト「monopedia」でXML対応の「DB2 9」を採用。ビジネス要件が流動的なため、多様なデータ形式を受け入れるDBを必要としていた。ここでは、XMLDBの導入事例を紹介する。
新規事業の立ち上げにXMLDBを採用
XMLのデータをそのままのデータ構造で格納できるXMLデータベース(DB)は、スキーマに縛られにくい「柔らかいDB」として2000年ごろから注目されてきた。しかし、依然として非構造データを取り扱う文書管理システムなど、リレーショナルデータベース(RDB)が不得意とする一部の領域でしか普及していない。RDBの牙城が堅固なことに加え、XMLDB製品にも拡張性や機能の面で未成熟な部分があったからだ。
とはいえこの数年間で、XMLは標準的なデータ・文書形式としての地位を揺るぎないものにしつつある。「XMLDBかRDBか」といった単純な二者択一ではなく、もっと手軽にXMLの便利さをシステムに取り込めないものか。それを実践したのが、ネットプライスである。
ネットプライスは、インターネットを活用したコンシューマー向けの共同購入サービス、とりわけギャザリング分野(2007年9月の同分野の売上高は約120億円)では草分け的な存在だ。一方で、新規事業の開発も積極的に進めており、その成果として2006年末に「レビュー集約サイト」と銘打った「monopedia(モノペディア)」を立ち上げた。同サイトは、PCから生活雑貨に至るまで多様な商品レビューを提供しており、ユーザーからの直接投稿のみならず、提携サイトやブログからも情報提供を受けるCGM(Consumer Generated Media)サイトとなっている。
エキスパートエンジニア 今井 剛氏
monopediaは、CGMサイトとしては珍しくバックエンドにXMLDBを本格的に採用している。システム構築を1人で担当したネットプライスの今井 剛氏は次のように話す。
「スモールスタートの新規事業ということもあり、当初はオープンソースソフトウェアのMySQLでプロトタイプの開発を進めていました。しかし、『もっとこうした方がレビューを書き込みやすいのではないか』といった意見が社内から多く寄せられ、システムの修正がひっきりなしに起こっていました。また、他サイトとの連携も考えていましたが、開発当時は漠然としたもので仕様は固まっていませんでした。そこで、結局はどのようなデータでも入れられるDBが必要との結論に達し、XMLを検討してみようということになりました」
monopediaのシステム開発は、2006年10月に始まり年末にはα版をカットオーバーするという強行軍だったことに加え、新事業だけにビジネス要件も流動的だった。つまり、ユーザーの反応やビジネスの展開に合わせてシステムを柔軟に対応させることが求められていた。仮にでもRDB形式でデータ構造やテーブルのスキーマを固めてしまうと、後に変更作業で苦労することは目に見えていたのだ。
真のハイブリッドを実現したDB2
ネットプライスが最終的にXMLDBの採用へ傾いたのには理由があった。同社は、従来各サービスのRDBMSにIBMの「DB2」を採用していたが、2006年の夏に“pureXML対応”をうたった最新版の「IBM DB2 9」が登場していたのだ。
XMLDB製品には、XML処理に特化した構造を持つネイティブ型と、DB2やOracle Databaseなど既存のRDBMS製品がXML処理にも対応したハイブリッド型がある。ハイブリッド型は通常、RDB構造の中で疑似的にXMLDBを扱うため、XMLデータを丸ごとテキストとしてRDBのCLOB型カラムに格納するか、XMLデータを分解してテーブル群にマッピングする方法が取られる。しかし、CLOB型カラムにデータ全体を格納すると検索性能が落ち、複雑なマッピング方式ではDBの柔軟性が損なわれる。
これに対しDB2 9は、XMLの特徴であるツリー構造のままXMLデータを格納する。つまり、1つのDBの中で完全にハイブリッドな形でRDBとXMLDBを共存させ、1つの管理システムで統合的に扱えるというメリットがある。もちろん、ノンスキーマのウェルフォームドXMLも扱える。
実際、XMLDBに触れるのが初めてだった今井氏も、無償版の「DB2 Express-C」で製品検証を始めると、即座に“使える”という感触を得たという。
「XMLデータへタグを追加するだけで、RDBでいうところのカラムに相当するデータ項目を継ぎ足せます。RDBのように逐一スキーマを変更しなくても、データ項目を横へ無限に増やせる感覚は新鮮でした」(今井氏)
データの種類によってRDBとXMLDBを使い分けられるハイブリッド型のメリットも魅力だった。既にExcelで整備していた商品カテゴリやECサイトなどの定型データはRDBとしてテーブル形式で、ジャンルによって属性情報が大きく異なる商品データやデータ項目が変化しやすい会員データなどはXML形式で格納する、といった具合である。
一般的に、RDBはSQL、XMLDBはXQueryをクエリ言語として使用するが、DB2 9ではSQLおよびSQLにXQuery関数を埋め込んだ“SQL/XML”でRDBとXMLDBの両方をシームレスに操作できる。つまり、新たにXQueryを習得しなくても使い慣れたSQLでクエリが作成できる点も心強かったようだ(DB2 9は、XQueryはもちろんのこと、XQueryにSQLを埋め込むこともできる)。
最終的にネットプライスは、サイト公開まで3週間という目前になってDBMSをMySQLからDB2 9 Express(有償版)に切り替える決断をした。冒険ではあったが、それだけDB2 9に対する期待が大きかったのだ。「スキーマ定義などDB開発に労力を割かれることなく、アプリケーション開発に専念できました。XMLに対応しているWebアプリケーションフレームワークはほとんど存在しなかったため、DBアクセスの実装はすべてアプリケーション側で対応しなければならなかったのですが、従来とは違って開発は楽しかったです」と、今井氏は振り返る。
外部サイトのコンテンツもXMLDB格納
XMLDBを採用したことでシステムの柔軟性は確実に高まった。言い換えれば、続々と出てくるサービス要求を受け入れやすくなったといえる。
例えば、当初は会員登録後でなければレビューを書き込めない仕様だったが、ハードルを下げるためにレビュー投稿後でも会員登録できるよう変更した。非会員が書き込んだ際は「連携ID」を発行し、それを基に会員登録後に投稿済みのレビューとヒモ付けるのだ。「もしRDBだけでDBを構成していたら、一部のユーザーが1回しか使わない連携IDのためにわざわざスキーマを変更していられないと、ビジネス側の要求を受け入れていなかったでしょう。それが、タグを追加するだけなので気軽に応じられました」(今井氏)
外部サイトとの連携も容易である。monopediaでは、D.P.EYEが手掛ける口コミ販促サービス「B-PROMOTION」に参加する有名ブロガーの商品レビューを自動収集してサイト内で一覧表示しているが、これはXMLデータとして自サイトのXMLDBにデータを取り込んで処理している。これも、XMLDBを使っていたからこそ可能だったのだ。
今井氏は次のように指摘する。「今やWebサイトのAPIから吐き出されるデータのほとんどはXMLです。それなのに、普段はRDBとしてデータ保存するためXMLパーサが介在し、わざわざデータを変換しなければいけません。そのままXMLで保存できれば、もっと楽にデータを活用できるのではないでしょうか。取得するXMLに、今は使わないデータ項目が含まれていたとしても、気にせず適当なタグを追加して取り込んでおけば、後で役に立つことがあると思います」
420万件超の全文検索スピードが0.01秒
monopediaでは、ギャザリング事業で扱った商品に加えアマゾンなどの商品データもXMLで格納しており、データ登録された商品点数は420万点にも及ぶ。その膨大な商品データ全体に対して全文検索を掛けた場合でもレスポンスタイムは0.01秒レベルと、極めてハイパフォーマンスなシステムを構築している(DB2 9に標準添付されるアドオンツール「Net Search Extender」を使用)。
一般にネイティブ型のXMLDB製品の場合、大量のデータを扱うのは厳しいとされる。その点、RDBMSとして数々の大規模システムで導入されているDB2の高い処理性能は、DB2 9のXMLDB機能にも当てはまるようだ。ネットプライスでは、将来的にmonopediaで1000万点以上の商品を扱う計画で、柔軟性と高性能を両立させたDB2 9の存在は欠かせないものとなっているようだ。
インターネット業界では、変化にどれだけ柔軟に対応できるかがビジネスの要点となる。「(RDBという)単なるデータ保存形式がネックになって、ユーザーへのサービスが前へ進めないのはもったいないです。そこをXMLで軽くすれば、サービス提供しやすくなります」と今井氏は話す。
ネットプライスの事例は、XMLDBの潜在的な可能性の高さを示すものだろう。そしてRDBとXMLDBのシームレスな融合を実現したDB2 9は、インターネット業界におけるXMLDB活用の幅を広げそうだ。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
新着ホワイトペーパー PR
-
事例
[日本オラクル株式会社] ピンチをチャンスに変えたEPR製品は? 先行企業の導入事例3選 -
技術文書・技術解説
[日本オラクル株式会社] 無自覚なリスク 秘伝Excelファイルが監査の壁、不正・ミスの温床となる理由 -
製品資料
[日本オラクル株式会社] 戦略的経理の第一歩 失敗のない「脱Excel」を実現する秘訣とは? -
技術文書・技術解説
[日本オラクル株式会社] いまさら聞けないオンプレERPとクラウドERPの違い 最適な製品をどう見極める? -
事例
[株式会社ビザスク] 連結売上高が約2倍に成長、富士フイルムが実践した新規事業創出の戦略とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
慶應義塾が「Notion」を選んだ理由 AI導入の盲点になる“情報のサイロ化”
-
4
「ノートPC派」は損をしている? Dellと考える“自作PC”のメリット
-
5
「0.3秒のスピード顔認証」の入退室管理が社員に好評 事例に学ぶオフィス改革
-
6
IT製品の導入に関するアンケート「PC&デバイス」編
-
7
生データを隠してデータ連携 KDDIが4000万人の顧客情報を安全に分析できた理由
-
8
エンジニアの生産性はどう測る? マネジメントに不可欠な可視化の実現方法とは
-
9
「また同じ説明か」 消費者の半数が離脱するAIチャットbotの“記憶喪失”
-
10
アラート疲れと手動対応を解消 EDR、SIEM、SOAR統合で注意すべきポイント4選
ホワイトペーパーランキング PR
-
1
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
2
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
3
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
4
バックアップは“取っているから大丈夫”なのか? ランサムウェア時代の備え方
-
5
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
6
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
7
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
8
5分で分かる Microsoft 365のデータ損失に備えるためのバックアップの仕組み
-
9
ネットワーク遅延の原因、「パケットロス」の基礎知識と効果的な解決策
-
10
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー