2011-01-09 8 views
0

私は現在、私によって作られたプロジェクトではなく、MySQLの代わりにたくさんのXMLファイルを使用しています。MySQLを使用した場合のメリットまたはXMLの使用、またはその逆?

私は、ここでMySQLを使ってXMLを使うメリットがあるのだろうかと思います。

シーンは、XMLファイルは一度だけロードされ、サーバー上ではN個のものに対して使用されます。 管理者がサーバーにリロードするコマンドを発行した場合、XMLはリロードされます。 すべてのXMLファイルの平均サイズは最大100 MBです。

もし私が上記のことについてちょっと説明しても、MySQLを使ったXMLの使い方は分かります。

単純なinnodbまたはmyisamテーブルよりもXMLが優れたオプションとなることを私が知るべきことは何ですか?

答えて

2

データが読み取り専用であり、管理者のコマンドでメモリに格納されている場合、どちらのテクノロジにとっても大きな利点ではないと思います。

データを検索する必要がある場合は、SQLクエリの利点があります。その場合でも、重要なデータの種類です。長い参照チェーン/オブジェクトグラフがある場合、すべてのJOINのためにリレーショナルデータベースが遅くなる可能性があります。

しかし、XMLには独自の問題があります。 DOMオブジェクトに簡単に解析できますが、XPathで検索するだけです。

+0

ようなXMLデータベースのいくつかのフォームを使用することができます言い換えると、現在、すべてのファイルが一緒に合計100MBを与えるということです。彼らはそれが自らサーバーによって変更を必要としない読み取り可能なデータだけです。 – Guapo

+0

これはもっと合理的です。メモリ内の解決策は問題ありません。私があなたのことを心配していると質問しています。クエリが可変または複雑な場合は、メモリ内のデータベースを使用してDOMおよびXPathを改善することができます。 – duffymo

+0

これは合理的なものではない非常にまっすぐな前方クエリですが、あなたの応答のためにたくさんありがとう:) – Guapo

1

データを格納する方法の1つとしてXMLが使用されています。 xmlを使うことの1つは、データを読みやすくすることです。多くのユーザが同時にデータへのアクセスを必要とし、mysqlがトランザクション処理をサポートしているのに対し、xmlにはそのような機能がない場合は、mysqlを使用できます。

0

ローカルストレージに格納されたXML、および読めるのみローカルサーバによって(rsyncのかそこら経由で複製され、あなたはmemcacheのを使用することができ、私を主張していない)

あなたはhttpサーバ経由でXMLを開くことができます間違いなくしかし、それは遅くなります。

mysqlはポート通信とレプリケーションをサポートしていますが、複数のサーバーに展開すると基本的に境界がありません。

とにも5.1、mysql support XML

+0

しかし、これらのファイルは私が不思議に思っている情報であり、情報はクライアントにもブラウザにもTCPに送られません。 – Guapo

+0

@Guapo - これは読み取り専用であれば、この質問は決して存在しないはずです(私が意味することを願って)。 – ajreal

+0

あなたの悪いユーモアでとにかく幸運にもそれが変わることを願っています。 – Guapo

関連する問題