2014년 6월 12일 목요일

Components of the SQL Server engine

01. SQL Server 2012 architecture and configuration
    SQL Server editions
    SQL Server installation and tools
    SQL Server metadata
        Compatibility views
        Catalog views
        Dynamic Management Objects
        Other metadata
    Components of the SQL Server engine
        Protocols
        Query processor
        The storage engine
    SQL Server 2012 configuration
        Using SQL Server Configuration Manager
        Managing services
    SQL Server system configuration
        Operating system configuration
        Trace flags
        SQL Server configuration settings
    Conclusion

Components of the SQL Server engine
다음 그림은 프로토콜 레이어, 쿼리 프로세서(관계형 엔진), 스토리지 엔진, SQLOS로 이루어진 SQL Server의 주요 컴포넌트들의 구성도입니다.
모든 일괄처리들은 이 네 구성요소와 상호 작용해야 합니다. 프로토콜 계층은 요청을 수신하고, 관계형 엔진이 작동 할 수 있는 형태로 변환합니다. 또한 쿼리의 결과, 상태 메시지를 수신하고, 클라이언트에 보내지기 전 이해할 수 있는 형태로 변환합니다. 쿼리 프로세서는 T-SQL 배치를 처리합니다. T-SQL 쿼리나 프로그래밍 구문을 파싱, 컴파일 하고 요청을 최적화하고 배치의 실행을 감독합니다. 일괄 처리가 실행될 때 데이터가 필요한 경우, 해당 데이터에 대한 요청은 스토리지 엔진에 전달됩니다. 스토리지 엔진은 트랜잭션이나 백업, 벌크 인써트, DBCC 명령등에 의한 모든 데이터 엑세스를 관리합니다. SQLOS 계층은 스레드 관리, 동기화, 데드락 감지, 메모리 관리(버퍼풀)등을 책임집니다. Protocols 응용프로그램은 Microsoft에서 정의한 TDS(tabular data stream) 패킷이라는 포멧으로 데이터베이스 엔진과 통신합니다. TCP/IP나 네임드 파이프를 이용해 통신할때도 TDS로 캡슐화하여 통신합니다. SQL Server는 여러 프로토콜을 지원하도록 구성할 수 있는데 클라이언트는 그중 하나만을 사용합니다. 만약 서버가 어떤 프로토콜을 지원하는지 알 수 없는 경우 순차작으로 여러 프로토콜을 시도하도록 구성 할 수 있습니다. 다음은 프로토콜의 종류입니다. Shared Memory : 가장 단순한 프로토콜입니다. 클라이언트와 SQL Server 인스턴스가 동일한 컴퓨터에서 실행될때만 사용할 수 있습니다. 따라서 그리 유용하진 않습니다. 다른 프로토콜이 문제가 생겼을때 트러블 슈팅용으로 사용 할 수 있습니다. 클라이언트가 MDAC 2.8이나 그 이전 버전을 사용할 경우 이 프로토콜을 사용할 수 없습니다. 이러한 연결을 시도하면 클라이언트는 네임드 파이프로 전환됩니다. Named Pipes : 잘 사용되지 않는다고 합니다. -_-;; TCP/IP : 인터넷을 통해 가장 광범위하게 사용되는 프로토콜입니다. 다양한 하드웨어 아키텍처와 운영 체제들이 상호 연결된 컴퓨터 네트워크를 통해 통신 할 수 있습니다. Query processor 쿼리 처리기는 관계형 엔진이라고도 불립니다. 쿼리를 처리하는데 있어 필요한 것들과 가장 좋은 방법을 결정합니다. 크게 쿼리 최적화기와 쿼리 실행기로 이루어져 있습니다. 또한 파싱과 바인딩 구성요소도 포함되어 있습니다. 아마도 SQL Server의 가장 복잡한 구성요소입니다.

댓글 3개:

  1. 실례지만.. 이런 내용은 어떻게 아시게 되는건가요(학습)?

    답글삭제
    답글
    1. Microsoft SQL Server 2012 Internals라는 PDF파일이 있습니다.
      번역해볼라고 했는데 양도 많고 무엇보다 영어라 포기했습니다. -_-;;

      삭제
  2. 실례지만.. 이런 내용은 어떻게 아시게 되는건가요(학습)?

    답글삭제