単一の要素が更新されたときにXMLファイルの内容全体を書き換えるのではなく、ファイルを更新する方が良いでしょうか?大規模なXMLファイルの更新方法
答えて
私は彼らのよくある質問(http://vtd-xml.sourceforge.net/faq.html)からVTD-XML http://vtd-xml.sourceforge.net/
を使用することをお勧めします:
なぜ私は大規模なXMLファイルのVTD-XMLを使用すべき?
- パフォーマンス:VTD-XMLのパフォーマンスは、使用する使いやす
- SAXよりもはるかに良いです:XPathのと組み合わせてランダムアクセスが
- ベターを書くことは、アプリケーションが容易になり、以下に要約多くの理由のために
メンテナンス性:アプリケーションコードが短く分かりやすくなりました。
- 増分更新:時折の小さな変更は非常に効率的になります。
- 索引付け:事前解析されたXML形式により、処理のパフォーマンスがさらに向上します。
- その他の機能:XML文書をカット、ペースト、分割、アセンブルすることは、VTD-XMLでのみ可能です。
VTD-XMLを利用するには、開発者が超大型XMLドキュメントをより小さく、管理しやすいチャックに分割することをお勧めします(< 2GB)。
ここではいくつかのオプションがありますが、どれも良いわけではありません。
XMLオブジェクトは別個の部分に分割されないので、正規表現パターンマッチング(sedは良いスタート)でファイルシステムレベルの変更を使用するか、xmlを管理しやすくするために小さな部分に分割する必要があります。
可能であれば、XMLをシリアル化し、diff/patch/apply Linuxツール(または使用しているプラットフォーム内の同等のツール)を使用します。このようにして、構文解析、記述を処理する必要はありません。
XMLファイルが大きすぎて更新がパフォーマンスのボトルネックである場合は、XMLからより効率的なディスク形式(または実際のデータベース)に移行することを検討する必要があります。
- はそれを
- をしないでくださいそれをしないでください(専門家のみ)、:それは、最適化のルールを覚えて、問題がある可能性がありますように
場合は、しかし、あなただけはを感じますまだ。
プロセス大規模なXMLファイルのXQueryとギガバイトのサイズのXMLファイルで動作します http://www.xquery.com
XQueryは、ネイティブXMLクエリ言語として設計されたクエリ言語です。ほとんどのタイプのデータはXMLとして表すことができるため、XQueryを使用して他のタイプのデータを照会することもできます。たとえば、XQueryを使用して、リレーショナル・データベースのXMLビューを使用してリレーショナル・データを照会することができます。多くのインターネットアプリケーションでは、Webメッセージ、リレーショナルデータ、およびさまざまなXMLソースにあるデータなど、複数のソースからの情報を統合する必要があるため、これは重要です。 XQueryは、この種のデータ統合のために特別に設計されました。
たとえば、お客様の会社が各クライアントの株式保有に関するレポートを作成する必要のある金融機関であるとします。クライアントはXMLで表されるSOAP(Simple Object Access Protocol)メッセージを使用してレポートを要求します。ほとんどのビジネスでは、株式保有データは、Oracle、Microsoft SQL Server、またはDB2などの複数のリレーショナルデータベースに格納されます。 XQueryは、SOAPメッセージとリレーショナルデータベースの両方にクエリを実行し、XMLでレポートを作成します。
XQueryはXMLの構造に基づいており、その構造を利用して、リレーショナルデータを含むXMLとして表現できるあらゆるタイプのデータに対してクエリを実行できるようにします。また、XQuery API for Java(XQJ)を使用すると、J2EEプラットフォームをサポートする任意の環境でクエリを実行できます。
- 1. 大規模なXMLファイルの15.1
- 2. 大規模なXMLファイルでイベントオブジェクトを見つける方法
- 3. 追加大規模なXML
- 4. Perl :: XML :: Splitで大規模なXMLファイルを分割する方法
- 5. 大規模データベーステーブルのグループ化と更新
- 6. 大規模なXMLファイルの効率的な格納とアクセス
- 7. 大規模なXMLファイルを小さな塊に分割する
- 8. XPath:大規模なXMLファイルのレコード数をカウントする
- 9. Oracle大規模な単一の更新または小さなバッチの更新?
- 10. 大規模なXMLファイルでXMLreaderとxpathを使用するC#
- 11. XmlSlurperで大規模なXMLファイルを解析する
- 12. Pythonで大規模な疑似XMLファイルを解析する
- 13. XDocumentを使用して大規模なXMLファイルをループする
- 14. 大規模なMySQLテーブルの毎日の更新?
- 15. SQL - 大規模なテーブルの更新クエリのパフォーマンス(9億)レコード
- 16. 大規模なmain.jsファイルのAngular 2アプリビルド
- 17. 大規模な.sqlファイルをMySQLにインポート
- 18. 大規模なsqliteデータベースをチャンクで更新する
- 19. 大規模な一括更新MongoDB - forEach()ドキュメント
- 20. Entity Framework 6大規模なテーブル一括更新
- 21. 大規模XMLセットでHASHBYTESを使用
- 22. C++大規模プログラムの管理方法
- 23. PHPで大規模なXMLを処理する最良の方法
- 24. 大規模なXMLをOracle DBに格納するシステムの設計方法は?
- 25. oracleで大規模な更新クエリを使用してテーブルを更新する方法はありますか。
- 26. のJava:大規模なリスト
- 27. 大規模なグリッドデータセットのストレージ
- 28. 大規模なコミュニティのCMS
- 29. Pythonの大規模なピボットテーブル
- 30. R:大規模なzip形式のXMLファイルの小さなサブセットをロードする方法は?
ファイルのサイズはどれくらいですか?それは記憶に収まる? – Peter