Client+Server+and+Databases (1)
Client+Server+and+Databases (1)
DATABASES
Introduction
• A database, generally defined, is a flexible, hierarchical structure for
storing raw data, which facilitates its organization into useful
information.
• What a database does, then, is breakdown information into its most
fundamental components and then create meaningful relationships
between those components.
Database System Architectures
Available architecture of database systems:
• Client/Server database system: The functionality is spilt between a
server and multiple client systems
• Distributed database system: Geographically or administratively
distributed data spreads across multiple database systems.
• Parallel database system: Allows database system activities to be
speeded up, allowing faster response to transaction;
• Centralized database system: Run on a single system and do not
interact with other computer systems. Are single user database
systems (on a PC) and high performance database system (on high end
server system).
Client/Server Databases
A Database Management System (DBMS) lies at the center of most
Client/Server, the DBMS must be able to:
• Provide transparent data access to multiple and heterogeneous
clients, regardless of the hardware, software, and network platform
used by the client application.
• Allow client request to the database server (using SQL requests) over
the network.
• Process client data requests at the local server.
• Send only the SQL result to the clients over the network.
Client/Server Database
Computing
• Client/Server database computing can be defined as the logical
partition of the user interface, database management, and business
logic between the client computer and server computer.
• The network links each of these processes.
• The client computer, also called workstation, controls the user interface
• The server computer controls database management. This is where
data is stored, manipulated, and stored, all database processing occurs
here.
• Business logic can be located on the server, on the client, or mixed
between the two, this governs the processing of the application.
CLIENT/SERVER DATABASE
ARCHITECTURE
• Relational database are mostly used by Client/Server application,
where the server is a database server.
• In the architecture of such a system, server is responsible for
maintaining the database
• A database management system software module is required.
• Various types of applications that make use of the database can install
on client machine.
• The software that enables the client to make request for access to the
server’s database, is SQL (Structured Query Language),
Client/Server Database
Architecture
Client/Server Database
Architecture
• In this architecture, all the application logic (software used for data
analysis) resides on the client side
• The server is concerned with managing the database.
• Importance of such architecture depends on the nature of
application, where it is going to be implemented.
• Various types of available Client/Server Database Architecture are
i) Process-per-client architecture.
(ii) Multi-threaded architecture.
(iii) Hybrid architecture.
Process-per-client architecture
• The server process considers each client as a separate process and
provides separate address space for each user.
• Each process can be assigned to a separate CPU on a SMP machine, or
can assign processes to a pool of available CPUs.
• Performance of Process-per-client architecture is very poor when
large numbers of users are connecting to a database server.
• But the architecture provides the best protection of databases.
• Examples of such architecture is DB2, Informix, and Oracle6
Process-per-client architecture
Multi-threaded architecture:
• Architecture supports a large numbers of clients running a short
transaction on the server database.
• Provide the best performance by running all user requests in a single
address space, but do not perform well with large queries.
• It suffers by some drawback first, in case of any misbehaved user request
can bring down the entire process, affecting all users and their requests
• Second, long-duration tasks of user can hog resources, causing delays for
other users.
• Third, the architecture is not as good at protection point of view.
• Some of the examples of such architecture are: Sybase, Microsoft SQL
Server
Multi-threaded architecture
Hybrid architecture:
• provides a protected environment for running user requests without
assigning a permanent process for each user.
• Also provides the best balance between server and clients.
• Hybrid architecture of Client/Server Database is basically comprised of three
components:
• Multi-threaded network listener:
• Dispatcher processes:
• Reusable, shared, worker processes:
• It suffers from queue latencies, which have an adversely affect on other
users.
• Some of the examples of such architectures are Oracle7i and Oracle8i/9i.
Hybrid architecture:
DATABASE MIDDLEWARE
COMPONENT
• In Client/Server architecture the middleware software provides
the means through which clients and servers communicate
• The middleware software is divided into three main components