現在、私的にWebアプリケーションを作成したいと思っています。それに使用するデータベースについてです。

動画ファイルやテキストファイルといった異なるデータの格納、検索、更新が簡単にできる「XMLDB」のようなフリーソフトがあれば教えて下さい。

使用環境は以下の通りです。
OS:Windows XP
開発言語:javaまたはVisualBasic

回答の条件
  • 1人2回まで
  • 登録:2006/05/17 22:40:36
  • 終了:2006/05/19 15:41:37

ベストアンサー

id:bonlife No.4

回答回数421ベストアンサー獲得回数752006/05/18 23:09:29

ポイント40pt

XMLDBに関しては素人ですが、RDBMSは仕事でも少し使っておりますので、少しだけ説明いたします。

[オススメその1]

沢山のシステムで使われているので、MySQLに関する情報はWEB上に多いです。

MySQLと一言で言ってもMyISAMとInnoDBというものがあります。

一般的に使われているMyISAMはトランザクションがサポートされていないため、読み取り一貫性を保証できませんが、簡単に利用できます。

http://tsuttayo.sytes.net/mysql/innodb/

http://tsuttayo.sytes.net/mysql/innodb/transaction/

バイナリデータの保存はid:hajipon55さんの説明にもあるようにBLOB型のフィールドに格納するよりも、ファイルで保存しておき、そのパスをDBのフィールドに格納する方が良いです。

ファイルにしておくとキャッシュなどのWEBサーバの機能を活かすことができ、パフォーマンスを向上させることができます。

(BLOB型のデータを扱うのが少し難しいのも事実です。)

GUIベースで管理するためのphpMyAdminというツールもあり、管理も比較的容易です。

ちなみにはてなやmixiで使われているDBはMySQLです。

(適切な負荷分散を行うことで、大量の処理をこなすこともできるみたいですね。)

[オススメその2]

Visual Basicを開発言語として考えている場合、親和性が高いです。

慣れたVisual Studioの画面で操作を行うことができます。

[オススメその3]

オープンソースでありながら、非常に高機能です。

phpPgAdminを使ってGUIベースで管理することが可能です。

といいつつ、私はちゃんと使ったことありません…。

参考になれば幸いです。

id:unpuri

ありがとうございます!

2006/05/19 15:37:22

その他の回答(3件)

id:bonlife No.1

回答回数421ベストアンサー獲得回数752006/05/18 01:16:46

ポイント30pt

XMLDBが簡単だと感じるのであれば、Xprioriをお使いになってみてはいかがでしょうか。

「Xpriori」は、商用製品「NeoCoreXMS」の無償版です(一部制限を除き機能は同等)。

また、MySQLのBLOB型、PostgreSQLのラージオブジェクトでもバイナリデータの格納は可能です。

格納したテキストファイルの内容の検索、更新をお考えの場合、一旦ファイルに書きだして処理する必要があると思います。

(他の方法もあるかもしれません。)

参考になれば幸いです。

id:unpuri

ありがとうございます!

XMLDBどころかデータベースに関しては初心者です。説明不足でした。

上記3種類の中で、初心者が扱うのに一番適しているものはどれになりますか?

2006/05/18 10:39:48
id:sharia No.2

sharia回答回数73ベストアンサー獲得回数22006/05/18 02:20:00

ポイント10pt

ファイルメーカーはどうでしょう。

id:unpuri

ありがとうございます!

2006/05/18 17:36:00
id:hajipon55 No.3

hajipon55回答回数2ベストアンサー獲得回数02006/05/18 22:18:26

ポイント30pt

テーブルに格納するデータがレコードによって大きく異なるような場合にはXMLDBが有効ですが、

初心者の方でしたら、XMLDBより、MySQLやPostgreSQLの様な、フリーのリレーショナルDBの方が無難です。どちらも似たようなものですが、私のお勧めはPostgreSQLですが、最近は、MySQLの方が人気があるように感じます。

また、バイナリラージオブジェクトの利用は、互換性やパフォーマンスなど、いくつかの理由であまりお勧めできません。

動画などのファイルの管理は、データベースに直接格納するのではなく、ルートフォルダを決めて、ファイルのまま管理して、そのファイルのルートフォルダからの相対パスをデータベースに文字型として格納する方法がお勧めです。その場合は、Windowsファイルシステムは、FATではなく、NTFSが良いですよ。

id:bonlife No.4

回答回数421ベストアンサー獲得回数752006/05/18 23:09:29ここでベストアンサー

ポイント40pt

XMLDBに関しては素人ですが、RDBMSは仕事でも少し使っておりますので、少しだけ説明いたします。

[オススメその1]

沢山のシステムで使われているので、MySQLに関する情報はWEB上に多いです。

MySQLと一言で言ってもMyISAMとInnoDBというものがあります。

一般的に使われているMyISAMはトランザクションがサポートされていないため、読み取り一貫性を保証できませんが、簡単に利用できます。

http://tsuttayo.sytes.net/mysql/innodb/

http://tsuttayo.sytes.net/mysql/innodb/transaction/

バイナリデータの保存はid:hajipon55さんの説明にもあるようにBLOB型のフィールドに格納するよりも、ファイルで保存しておき、そのパスをDBのフィールドに格納する方が良いです。

ファイルにしておくとキャッシュなどのWEBサーバの機能を活かすことができ、パフォーマンスを向上させることができます。

(BLOB型のデータを扱うのが少し難しいのも事実です。)

GUIベースで管理するためのphpMyAdminというツールもあり、管理も比較的容易です。

ちなみにはてなやmixiで使われているDBはMySQLです。

(適切な負荷分散を行うことで、大量の処理をこなすこともできるみたいですね。)

[オススメその2]

Visual Basicを開発言語として考えている場合、親和性が高いです。

慣れたVisual Studioの画面で操作を行うことができます。

[オススメその3]

オープンソースでありながら、非常に高機能です。

phpPgAdminを使ってGUIベースで管理することが可能です。

といいつつ、私はちゃんと使ったことありません…。

参考になれば幸いです。

id:unpuri

ありがとうございます!

2006/05/19 15:37:22

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません