こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

RDBとXMLDB どちらで作るべき?Knowledge Management System

こんにちは、現在わたしは、Knowledge Management System(知識管理システム)をJSP, Servlet, JavaBeansで構築しております。このシステムを通じてユーザー(IT技術者)が開発経験をお互い共有できるようにすることを目指しております。

システムの概要としては、ユーザーがキーワードを入力して、そのキーワードとマッチする、開発経験のかかれたデータをデータベースから取り込んで、HTMLで表示していくことを考えています。ユーザーからみれば、ちょうどYahooの検索サイトのように、キーワードを入力し、検索ボタンを押し、検索実行後の第一段階ではでは複数の開発経験のマッチする部分の一部をリストとして表示し、第二段階で、それぞれの開発経験へのリンクをクリックすると全文が表示できるようにしたいです。

そこでお聞きしたいのですが、このようなシステムを実際の業務で開発する場合、下記のどちらの方法で
データが保存されているのでしょうか?

1.普通のRDB(リレーショナルデータベース)に開発経験文章の全文を格納。SQLでマッチングを行う

2.開発経験文章をXMLとして、XMLDBまたはファイルとしてほぞん。DOMでファイルを検索しマッチングを行う。

RDBでは、それぞれのセルにそんなに長いデータを入れられないのではないかと思い、XMLでのデータ格納がよいのではと思うしだいです。素人の質問で申し訳ありませんが、業務経験のある方、どちらの方法がより優れているのか教えていただけませんか?

投稿日時 - 2006-03-28 12:29:17

QNo.2056595

困ってます

質問者が選んだベストアンサー

RDBで、長いデータを入れられないことを心配する必要はないと思います。使ったことないですがLONGTEXT型ならば4294967295バイトもの量が入るので、小説さえ入力できます。開発経験文章というものが、どれくらいの長さになるのか分かりませんが、通常のTEXT型(最大65535バイト)でデータを格納すれば十分ではないでしょうか。
データの管理や、検索エンジンの作成などは、圧倒的にRDBの方が作りやすいし、データ構造の変化にもある程度耐えられるので、僕はRDBの方がいいと思います。

XMLは、Googleなどの検索エンジン対策を考えると有利だと思います。RDBでは検索エンジンでヒットされませんが、XMLの場合には、上位にヒットさせることもできます。
もう一つのメリットは、データの互換性だと思います。XMLであれば、他に流用するときに、非常に便利ですが、RDBの場合、そのまま利用するのは少し難しいかな、と。

いずれにしろ、今回はSQLを利用した方が良いのでは。

投稿日時 - 2006-03-29 12:59:51

お礼

rafystaさん非常に的を得た回答ありがとうございました。とても有益な情報でした。

投稿日時 - 2006-03-30 00:08:06

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問