3

定期的に(少なくとも1日1回)更新する必要のある仕様や説明などの情報を伴う50,000〜100,000の製品SKUがある場合、XMLはデータ交換形式として使用するのに最適な方法ですか?アプリケーションはPHPで記述されており、(アプリケーションフックを使用してDB内の適切な場所にデータをダンプするのではなく)PHPのネイティブMySQL呼び出しに対するSimpleXMLを考えています。サーバーはLinuxベースであり、完全なルートアクセス権があります。私はこれがかなり一般的な質問であることを知っています。それが私がそれをコミュニティウィキにした理由です-私はベストプラクティスと考えられる全体的なアプローチを探しています。重要な場合、アプリケーションはMagentoです。

4

4 に答える 4

6

特定のシナリオに「最適」なパラメーターを定義する必要があります。

XML は冗長です。つまり、2 つのことを意味します。

  • メタデータを含む、データに関する多くの詳細を提供できます
  • ファイルサイズが大きくなる

XML で得られるもう 1 つの利点は、XPath などのツールを使用して「すぐに使える」高度な解析/選択です。

しかし、他にも多くのフォーマットがあり、それぞれに長所と短所があります。

そして他にもいくつか。

要点は、システムにとって何が重要か (速度? 文字セットのサポート? 人間が読みやすいか?) を理解し、両側で互換性のある形式を選択する必要があるということです。

于 2009-07-01T14:33:19.123 に答える
1

XML は非常によく圧縮されますが、JSON は XML よりもはるかに少ないスペースしか必要としません。XML には、多くの成熟したライブラリとツールがあるという利点もあります。

サード パーティのソースとデータを交換する場合は、XML をスキーマで検証することをお勧めします。JSONにはそれがありません。

個人的には、ほとんどの場合 XML を使用することになります。スペースが問題になる場合は、gzip 圧縮を XML データに適用します。

于 2009-07-01T23:36:31.737 に答える
1

XML の唯一の欠点は、XML が非常に冗長であることです。XML ファイルは一般に、他の形式に比べて非常にサイズが大きくなります。利点は、(人間にとって) 読みやすく、(ソフトウェアにとって) 解析しやすいことです。100K レコードしかない場合 (各レコードのサイズがわからない場合)、XML を使用すると思います。

于 2009-07-01T14:20:29.897 に答える
0

現在、e コマース プロジェクトで XML をインポート形式として使用しています。現在、10,000 を超える製品、属性、および説明があり、データをかなり迅速に反復処理します。とはいえ、この件に関しては他に選択肢がありません。

SOAP を使用することは、生の XML を受信するだけの実行可能な代替手段になります (ただし、SOAP はメッセージング形式として XML を使用するため、これはパフォーマンス コストに追加されると思います)。データベースに挿入するために DAL に直接渡すことができる配列など、SimpleXML オブジェクトを構築する必要性を回避します。

于 2009-07-01T14:31:55.270 に答える