0% found this document useful (0 votes)
2 views

Client+Server+and+Databases (1)

The document discusses various database system architectures, focusing on Client/Server databases, which separate user interface, database management, and business logic between client and server systems. It outlines different architectures such as Process-per-client, Multi-threaded, and Hybrid architectures, detailing their performance, protection, and examples. Additionally, it covers the role of middleware in facilitating communication between clients and servers, the characteristics of distributed database systems, and the advantages and disadvantages of web/database integration compared to traditional databases.

Uploaded by

ammiwabwoba
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Client+Server+and+Databases (1)

The document discusses various database system architectures, focusing on Client/Server databases, which separate user interface, database management, and business logic between client and server systems. It outlines different architectures such as Process-per-client, Multi-threaded, and Hybrid architectures, detailing their performance, protection, and examples. Additionally, it covers the role of middleware in facilitating communication between clients and servers, the characteristics of distributed database systems, and the advantages and disadvantages of web/database integration compared to traditional databases.

Uploaded by

ammiwabwoba
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

CLIENT SERVER AND

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

1. Application programming interface (API)


2. Database translator
3. Network translator
The application programming interface (API)
• Is public to the client application
• Programmer interact with middleware thro API
• Allows the programmer to write generic SQL code
instead of code specific to each database server
• The API allows the server to be changed without
completely rewriting the client applications
The database translator
• Translate the SQL requests into the specific
database server syntax
• Takes the generic SQL request and maps it to
the database server’s SQL protocol
The Network translator
• Manages the communication protocols
• Handles all communications detail of each
database transparently to the client
application
INTERACTION BETWEEN
CLIENT/SERVER MIDDLEWARE
COMP0NENT
Benefits of using middleware
software
• Access multiple and quite different databases.
• Be database server independent
• Be network protocol independent
Services provided by
communication middleware
• Means through which client and servers communicate
• Provides specialized services to the client process that insulates the
front-end applications programmer from the internal working of the
database server and network protocols
• For example the use of database middleware yields network
independence and database server independence
• The use of database middleware makes it possible for programmers
to use the generic SQL sentences to access different and multiple
database servers
ACCESS TO MULTIPLE
DATABASES
ACCESS TO MULTIPLE
DATABASES
• The figure shows a client application request data from an Oracle
database server and a Microsoft database server
• The database translator layer of middleware software contains two
modules, one for each database server type to be accessed
• Each module handles the details of each database communication
protol
• The network translator layer takes care of using the correct network
protocol to access each database
DISTRIBUTED CLIENT/SERVER
DATABASE SYSTEMS
• Distributed data refers to the basic data stored in the server, which is
distributed to different members of the work team.
• Example a customer’s ordering and payment information stored in a
central server and the records are accessed in various locations
throughout the company.
• Distributed processing refers to the way different tasks are organized
among members of the work team.
• Example the various locations work with the customer’s data in
unique ways in order to achieve a specific goal e.g. update customer
records, their activities are distributed processing
Distributed Data
Distributed Processing
Characteristics of distributed
client/server database systems
• The location of the data is transparent to the user. The data can be
located in the local PC or department server across the country.
• The data can be distributed among different locations and among
different databases using the same or even different data models
• The data in database can be partitioned in several ways and the
partitioned data may be allocated in several different ways and the
data may be replicated in several nodes
• Data allocation strategies are centralized, partitioned and replicated
Data Replication
Suppose database A is divided
into fragments A1 and A2
Within a replicated distributed
database the scenario is shown in
figure
Fragment A1 is stored at sites S1
and S2
Fragment A2 is stored at sites S2
and S3
The user does not need to know
how to get there or what
protocols are used to get there.
Distributed DBMS
• Client/server database is known for having distributed database
capabilities
• The architecture features a client and a server
• The client called transaction processer sends a request to the server
the data processor
• The DBMS must be able to manage the distribution of data among
multiple nodes.
• The DBMS must provide distributed database transparency features
like distribution transparency, transaction transparency, failure
transparency, performance transparency and heterogeneity
transparency
WEB/DATABASE SYSTEMS FOR
CLIENT/SERVER APPLICATIONS
• In Web database integration a client machine that runs a web browser
issues a request for information in the form of URL reference
• This reference triggers a program at the web server that issues the
correct database command to a database server
• The output returned to the web server is converted into a HTML
format and returned to the web browser. See fig on next slide
WEB DATABASE SYSTEM
INTEGRATION
Advantages of WEB/Database
compared to Traditional
Database
• Administration: The only connection to the database server is the web
browser hence addition of a new type of database server does not
require configurations at each type of client machine
• Deployment: Browsers are already available across all platforms,
which relieves the developer of the need to implement GUI aScross
multiple machines and operating systems
• Speed: Large portion of the normal development cycle eg
development and design do not apply to web design projects
• Information presentation: application developers are able to employ
whatever information structure is best for given application,
Disadvantages of WEB/Database
compared to Traditional
Database
• Functionality: A typical web browser has limited functionality
compared to sophisticated GUI
• Operations: The web browser keeps no information between
transactions to track the states of the user

You might also like