1. ホーム
  2. sql

[解決済み] SQLの代わりにXMLを使うのはどんなとき?[クローズド]

2022-11-25 22:31:35

質問

私は数年間、データベース駆動型の Web アプリケーションに取り組んできましたが、最近、XML 対応の CMS を含むプロジェクトを引き受けました。これは、一般的なXML/XSLTの使用について考えるきっかけとなり、私が常に使用してきたアプローチ、つまり、すべてのデータを(My)SQLデータベースに格納し、必要に応じてWeb上でPHP/Pythonなどを使用してそれを操作するよりも、どんな状況でより有用であるかについて考えるようになりました。

データベースではなく XML ファイルにデータを保存することが望ましいアプリケーションの例を、どなたか教えていただけませんか?

どのように解決するのですか?

引用するには この本 (Effective XML: 50 Specific Ways to Improve Your XML)です。

「XMLはデータベースではありません。決して データベースであることを意図していません 決して データベースになることはないでしょう リレーショナル データベースは、20年以上の導入実績を持つ、実績ある技術です。 20年以上の導入実績があります。 実績のある技術です。堅牢で、安定した、有用な製品です。 有用な製品です。この先も 消えません。XMLは、異なるデータ間の移動に非常に有用な技術です。 異なるデータベース間、あるいはデータベースと データベース間、あるいはデータベースと他のプログラム間の 他のプログラムとの間でデータを移動させるのに非常に便利な技術です。しかし、XMLは それ自体はデータベースではありません。データベースのように使わないでください。 1つのように使ってはいけません。"

少しぶっきらぼうですが、これが要約だと思います。 XML はデータ交換フォーマットです。 XPath 式で DOM をクエリできる XML 解析ライブラリがあっても、それは DBMS とは違います。 DOM/XPath インターフェースで DBMS を構築することはできますが、ACID プロパティを取得したり大規模なデータ セットに拡張したりするには、DBMS エンジンとインデックス、ロギング、その他の DBMS の成果物を含むデータ形式を実装する必要があります - これは(定義上)XML 以外のものとなります。