Introduction to SQL Server1
Introduction to SQL Server1
The User Interface (UI) or the presentation element through which
data is entered.
Single-tier architecture
Two-tier architecture
Three-tier architecture
N-tier architecture
Single-Tier Architecture
In a single-tier architecture, all elements of a business application are
combined as a single process. If multiple users need to work on this
application then it needs to be installed on the computer of every user.
This type of architecture has one disadvantage. In case some errors
are identified in the application then after rectifying the same, the
application has to be installed again on the system of every user. This
is a time-consuming process.
Two-Tier Architecture
To solve the problems of single-tier application, two-tier architecture
was introduced. In two-tier architecture, the application is divided into
two parts. One part handles the data, while the other provides the
user interface. Therefore, this architecture is called two-tier
architecture. These two parts can be located on a single computer or
on separate computers over a network. The part that handles the UI is
called the client tier. The part that implements the application logic
and validates the input data based on the business rules is called the
server tier, as shown in the following figure.
Three-Tier Architecture
When implementing complex business solutions in a two-tier
architecture, the tier on which the business logic is implemented
becomes over loaded. As a result, it takes more time to execute.
Therefore, to provide further flexibility, the two-tier architecture can
be split into three tiers. In three-tier architecture, the first tier is
the client tier. The second or the middle tier is called the business
tier. The third tier is called the server tier. The server tier contains a
database server that manages the data. In this architecture, an
additional tier called a business tier has been added between the client
tier and the server tier, as shown in the following figure.
The business tier consists of all the business rules. It consists of the
application logic that implements business rules and validates the data.
The advantage of a three-tier application is that it allows you to
change the business rules without affecting the other two tiers. For
example, in a banking application for loans, the user tier is the
frontend used by the customer to specify the loan details. The server
tier can consist of an RDBMS in which the data is stored. The business
tier lies between the other two tiers and consists of business rules,
such as the loan limit and the interest rate charged to a customer. If
there is a change in the rate of interest, only the middle tier
component needs to be modified.
N-Tier Architecture
As the business complexities increased, the business tier became
larger and unmanageable. This led to the evolution of n-tier
architecture, where the business services model was divided into
smaller manageable units. N-tier architecture is also called a multi-tier
architecture. In this architecture, one component near the client tier
is responsible to do the client side validation and send the data to the
presentation tier. Therefore, it is possible to keep the UI-centric
processing component on a computer near the client. The UI-centric
processing component is responsible for processing the data retrieved
from and sent to the presentation tier. In addition, you may have
another component near the database server to manipulate and validate
the data. You can keep the data-centric processing components on
another computer near the database server, so that you gain
significant performance benefits. Data-centric processing components
are responsible for accessing the data tier to retrieve, modify, and
delete data to and from the database server. The n-tier architecture
consists of the following layers:
Client tier
The SQL Server Enterprise edition includes the core database engine
and supports the advanced services such as table partitioning, parallel
indexing, and indexed views. The Enterprise edition is designed to
provide high performance and security, optimized productivity, and
high scalability of data.
Standard:
The SQL Server Standard edition has core database engine and basic
business intelligence capabilities. It differs from the Enterprise
Edition in that it does not support all the security and data
warehousing features of the Enterprise edition. The Standard edition
provides easy integration, improved manageability, and easy extension
of data across various platforms, such as .Net or Linux.
Business Intelligence:
CLR integration:
Allows you to use the CLR features of .NET Framework in the SQL
Server database. It enables you to use the code written in any of the
.NET supported languages for implementing complex programming
logics in the database. For example, you need to write a code for the
verification of the credit card number entered by the user. It will be
complex to write the code for the verification of the credit card
number in T-SQL. However, the same code can be written effectively
using a .NET programming language. Therefore, you can write the code
in a .NET programming language and use that code in SQL Server to
verify the credit card information.
Scalability:
Allows you to distribute the data in large tables into several filegroups.
This enables SQL Server to access all the filegroups simultaneously
and retrieve the data quickly. This makes the database scalable and
helps improve the performance of queries.
Policy-based management:
Used to define a set of policies for configuring and managing SQL
Server. For example, you can define a policy to set a naming convention
for tables and stored procedures. When a user tries to create a table,
the table name must map with the naming convention defined in the
policy, else an error will be raised.
Resource governor:
Used to manage the workload of SQL Server by allocating and
managing the server resources, such as CPU time and memory. The
resource pool represents the server resource. You can specify the
minimum and maximum values of the CPU and memory utilization in a
resource pool. These resources are used for running and performing
various assigned tasks in SQL Server.