This is the first part of the series of articles describing the SQL Server architecture. But before starting the discussion, I would like to thank Amit Sir for giving me the opportunity to Blog in SQLServerGeeks.com and share my knowledge with you.
In order to begin the study of any technology, the best approach is to start with its architecture or internal build. Today we’ll be discussing about the architecture of SQL server.
The Client/Server architectural Model:
SQL Server is based on client-server architectural model in which there is a Server (having the Database) which is shared/accessed by several Users with the help of client applications.
SQL server could be defined as “A client/ server relational database management system based on a programming language known as Structured Query Language (SQL)”.
Fig: 1.1 SQL Server Architectural Overview
With reference to the figure 1.1, we can list the major components of SQL Server as follows:
1) The Network Interface Layer
2) The Database Engine
In the first part of the blog, we’ll take a look at the Network Interface Layer.
Network Interface Layer
Like any other system, SQL server has a layer that enables its communication with the outer environment. This layer is the SQL Server Network Interface (SNI) layer. It comprises of three important components:
a) The Network Protocols
b) TDS (Tabular Data Stream)
c) The Protocol layer
There are four protocols support by SQL Server viz. Shared memory, TCP/IP, Named Pipes, VIA.
Shared Memory: This the default protocol used to connect to a client residing locally (i.e. on the same machine).
TCP/IP: This protocol helps us to connect to the SQL server over the network via an IP address and a port number. The default TCP port used by SQL Server is 1433.
Named Pipes: Originally developed for LAN, this protocol is similar to TCP/IP, but is efficient for slower networks like WAN. It uses port number 445.
VIA: Virtual Interface Adapter, is a protocol used for high performance communication between two connected systems, with the help of specialized hardware on both ends.
Tabular Data Stream (TDS): A protocol used for interacting with database servers. The moment a TCP/IP connection is established, a corresponding link to the TDS endpoint is made for the client-server communication.
The Protocol Layer: This layer unwraps the TDS packet that was created at the client’s end. Also, the results sent to the client by the server, are packaged by this layer.
Hope you liked the first part of the blog on SQL Server Architecture.
Next Part – Relational Engine.