2011-01-17 2 views
0

우리의 환경에서는 외부에 웹 서버를두고 있습니다 (같은 도시). 그런 다음 내부적으로 위의 웹 서버에서 호출되는 SQL 서버가 있습니다. (우리는 외부에 SQL 서버가 있지만 사용량은 점점 줄어들고 있습니다.)외부 웹 서버에서 내부 SQL 서버를 쿼리하는 경우 웹 서비스를 사용하는 것이 더 효율적입니까?

SQL 호출 (Microsoft SQL Server 사용)은 네트워크 오버 헤드와 관련이 있다고 들었습니다. 그 (것)들, 그러나 this question의 이상으로, 나는 저것에 관하여 다량을 온라인으로 찾아 내지 않고있다.

  • 오프 사이트 (외부) 웹 서버 (내부) 오프 사이
  • 3-5 + MB 연결 현장 SQL Server를 쿼리 : 우리가 위의 상황을 감안할 때

    온 웹 서비스를 만들 -site 및 현장 시설로 인해 웹 서버에 캐싱의 수준을 다른

  • , 그것은 SQL 호출을 계속하는 것은 의미가 않습니다

을 필요로하는, 또는 더 효율적입니다 현장 (내부) 이러한 오프 사이트 서버에 의해 호출되는 웹 서버?

우리는 ASP.NET으로 100 % 이동 했으므로 서비스에 WCF를 사용할 것입니다. 제 3 자용으로 사용했기 때문에 가능할 것입니다. 그러나 성능 차이는 모두 언어와 동일하다고 가정합니다. 익숙한.

감사합니다.

편집 1 : 명확한 시도 : 웹 서비스 사용과 달리 네트워크 연결을 통해 SQL 호출의 효율성을 묻습니다. 나는 SQL 호출을하는 웹 서비스를 추가하는 것은 복잡성을 증가시키는 것이지만, 웹 서비스가 반환하는 것이 SQL이 반환하는 것보다 효율적이라면 (같은 데이터 세트에 대해) ... 예를 들어, XML을 전송하는 것과 JSON.

필자에게 SQL 호출은 프로그래밍 관점에서 볼 때 훨씬 효율적일 것으로 보인다. 각각에 대한 서비스 메소드를 작성하는 대신 특정 케이스에 필요한/원하는 데이터를 직접 조회하거나 필요한 것보다 많은 정보를 리턴하는 메소드가있는 경우 여러 사례에 사용할 수 있습니다.

웹 서비스를 사용하여 네트워크를 통해 데이터를 반환하는 것이 SQL을 직접 호출하는 것보다 효율적이라면 마케팅에 불과하며 실용적인 영향은 없습니다.

마이크로 소프트가 제공하는 것을 보면 제 3 자와 통신 할 때 또는 SQL 액세스를 쉽게 허용하지 않는 프로그래밍을하는 경우 웹 서비스 만 사용하는 것이 제안/지침입니다.

+0

이것은 다시 제기되었으며, 말한 내용에 따라 내가 생각한 바가 사실로 보입니다. 웹 서비스가 실제로 SQL을 호출한다는 사실을 명확하게 이해하지 못했습니다. –

답변

2

웹 서비스를 사용하는 것이 매우 빠른 해결책이라고 생각하지 않았을 것입니다. 웹 서비스를 사용할 때 가장 큰 이점은 SQL 서버를 외부 네트워크에 직접 노출 할 필요가 없다는 것입니다. 이것은 잠재적으로 웹 서비스 옵션을 더 안전하게 만듭니다.

  1. 실제로 데이터 액세스 우려의 속도 :

    난 당신이 자신에게 다음과 같은 몇 가지 질문을 요청할 필요가 있다고 생각?

  2. SQL Server와 웹 서버 간의 데이터 전송 작업 중 가장 느린 부분입니까, 아니면 SQL 쿼리 또는 웹 서버가 가장 느린 단계에서 처리 한 결과입니까?
+0

좋은 대답과 제가 생각한 것에 대해,하지만이 경우에는 내 질문에 대한 답변입니다. (약간의 확장이 필요할 수 있습니다.) 귀하의 질문에 대답; 1 - 네, 2 - 실제 DBA 검토 쿼리, 데이터 전송을 기반으로합니다. –

+0

답변으로 받아 들일 것입니다. 나는 아직도 내 질문에 충분히 대답 할 지 모르지만 ... 나는 생각하고있는 것과 일치한다. –

관련 문제