7
複数のデータベース呼び出しは、Web APIのネットワーク呼び出しでは本当に重要ですか?
私の雇用主の1人で、REST(しかしSOAPにも適用されます)APIに取り組みました。クライアント(アプリケーションUI)は、API(Web(一般的な運用展開ではLAN)経由で)を呼び出します。APIはデータベースを呼び出します。 私たちの議論で繰り返されるテーマの1つはパフォーマンスです。チームの一部の人々は、パフォーマンスのために1つのAPI呼び出しから複数のデータベース呼び出し(通常は読み取り)を行うべきではないと考えています。各API呼び出しが(正確に)データベース呼び出しを1つだけ持つように最適化する必要があります。 しかし、それは本当に重要ですか?UIはAPIに対してネットワーク呼び出しを行う必要があることを考慮してください。それはかなり大きいです(ミリ秒単位)。データベースは、メモリ内に物事を保持し、読み取りを非常に迅速に実行するように最適化されています(たとえば、SQL ServerはすべてをRAMにロードして保持し、可能な限りすべての空きRAMを消費します)。 TLDR:すでにLAN経由でネットワーク呼び出しを行っているときに、複数のデータベース呼び出しを心配することは本当に重要ですか?もしそうなら、なぜですか? 明確にするために、私は大きさについて話しています-それは仕様(マシンハードウェア、APIとDBの選択など)に依存することを知っています桁違いに少ない呼び出し、実際に問題ですか?それとも、これ以上の問題がありますか? 編集:後世のために、これらの状況下でデータベース呼び出しを組み合わせてパフォーマンスを改善する必要があると主張するのは非常にばかげていると思います-特にプロファイリングがない場合。ただし、これを行うかどうかは私の判断ではありません。これがWeb API呼び出しを最適化する正しい方法であると考える背後にある根拠を知りたいです。