私はサクソンを使うのが初めてです。XQuery の処理に Saxon を使用している専門家に、Saxon の優れている点について詳しく教えてもらえますか? また、他の XQuery プロセッサとの違いは何ですか? 前もって感謝します
2 に答える
おそらく、XQuery プロセッサを区別する主な理由は、次の 3 つのクラスがあることです。
メモリ内の XML で動作する独立型 XQuery プロセッサ
ネイティブ XML データベースのクエリ言語としての XQuery
リレーショナル データベースに保持されている XML (およびその他のデータ) にアクセスするための SQL の拡張機能としての XQuery
サクソンは最初のクラスに分類されますが、もちろんそれ自体にスペースはありません。製品を選択している場合、選択に甘んじています。一定期間にわたって比較できるように、アプリケーションを複数の XQuery プロセッサで確実に実行しようとしている人を知っていますが、それはちょっとした贅沢です。ほとんどの人はランダムに多かれ少なかれ1つを選択し、それが不発であることが判明した場合にのみ変更します.
Saxon は、パフォーマンス ベンチマークで常に 1 位になるとは限りませんが、パフォーマンスが他の主要製品との有意な差別化要因とならないほど、通常は最前線に十分に近づいています。もちろん、ベンチマークの結果はワークロードの種類によって異なります。定期的に金メダルを獲得するよりも、一貫して銀メダルを獲得することが重要です。しかし、Saxon の開発における私たちの最優先目標はパフォーマンスそのものではありません。私たちの最優先事項は標準への準拠であり、2 番目はユーザビリティ (特にデバッグとエラー メッセージ、および API) であり、パフォーマンスは 3 番目です。
Saxon を選択する理由を 1 つだけ挙げるとすれば、それはデバッグと診断のためだと言えます。クエリが間違った回答を返す理由を解明するために、ほとんどの時間とお金を費やすことになります。当社は、その質問にできるだけ迅速かつ簡単に回答できるよう、多大な努力を払っています。
Saxon の著者である Michael Kay は、論文「 Ten Reasons Why Saxon XQuery is Fast」(PDF)でそれについて書いています。これは、Saxon の開発中に行った設計上の選択を非常によく説明しています。