2011-08-16 15 views
3

私が書いているJava DVDデータベースアプリケーション用のデータを保存するためにXMLを使用する予定でした。 「データベース」という言葉がタイトルの中にあることは分かっていますが、XMLは移植性が非常に高く、人間が読めるように見えていました。データストアとしてのXML。

XMLを解析することは世界で最も簡単だと思われます...新しいXMLファイルを作成するだけでも問題はありませんが、レコードを変更したり、挿入したり削除したりすることは、 XMLファイル。

何か不足していますか?または、私がデータベースフォーマットに切り替える必要があることを私が見逃しているものです(しかし、私が聞いたことがない素晴らしいデータベースフォーマットがあります。それは完全に移植可能であり、ユーザーは別のものを使用してインストールする必要はありません:))

+0

。 [SQLite](http://www.sqlite.org/)があります。ポータブル、別途インストール不要、妥当な高速かつ柔軟性。 – Tomalak

答えて

5

ファイルをデータベースとして使用する最も一般的な方法は、おそらくsqlite http://www.sqlite.org/であり、問​​題を解決していればそれを使用します(これはかなり標準SQLデータベースですが、ストレージとして1つのファイルのみを使用します)。別の、純粋な-javaオプションがhttp://db.apache.org/derby/

Apache Derbyのであるが、純粋なXMLデータベースが存在しない(約10年前にかなりファッショナブルだった - 彼らの時間の「NoSQLの」) - 関連付けられている基準は、XPath http://en.wikipedia.org/wiki/XPathとXQuery http://en.wikipedia.org/wiki/Xqueryです。私はそれを使用していないが、それはベースコードのように思われるhttp://basex.org/open-source/は、あなたが使用できるオープンソースの実装です(そしてACIDの保証を提供すると主張しています - http://basex.org/products/)。

もしあなたがSQLよりもXMLに慣れているのなら、私は小規模なプロジェクトにxmlデータベースを使用することに大きな害を感じません。ほとんどのプログラムがストレージが何であるかを気にしないように(つまり、中立のインターフェイスを提供することで)コードを構造化するだけです。 xmlがうまくいかない場合は、そのインターフェイスだけを再実装してプログラムの残りの部分を残してsqlに切り替えることができます(それがうまくいけば、これをここに書き留めておくと面白いでしょう)。

+0

すべての有用な答えが、私はこれを選ぶつもりです。 –

4

ウェブベースのフロントエンドを使用する場合は、通常のデータベースをバックエンドとして使用する方法があるようです。私はあなたのユーザーが新しいものをダウンロードする必要はないと信じています。それはすべてサーバー側の面倒を見るからです。実際のデータベースでは、疑似ベースよりACIDの利点もあります。原子的で一貫性があり、分離され、耐久性がなければなりません。その点でXMLが良い代替物になるとは想像できません。

関連する問題