Upload
grant-hall
View
213
Download
0
Embed Size (px)
Citation preview
Personal Computer - Stand-Alone Database Database (or files) reside on a PC - on
the hard disk. Applications run on the same PC and
directly access the database. In such cases, the application is the DBMS.
Business rules are enforced in the applications running on the PC.
A single user accesses the applications.
2
File Server Architecture
All processing is done at the PC that requested the data
Entire files are transferred from the server to the client for processing
Problems: Huge amount of data transfer on the network Each client must contain full DBMS
Heavy resource demand on clients Client DBMSs must recognize shared locks, integrity
checks, etc.
3
FAT FAT CLIENTCLIENT
4
File Server Architecture
FAT FAT CLIENTCLIENT
File Sharing Architecture
PCs are connected to a local area network (LAN). A single file server stores a single copy of the
database files. Applications run on each PC on the LAN and access
the same set of files on the file server. The application is also the DBMS.
Business rules are enforced in the applications - Also, the applications must handle concurrency control. Possibly by file locking.
Each user runs a copy of the same application and accesses the same files.
Example: Sharing MS Access files on a file server.
5
Advantages & Disadvantages of File Sharing Architecture Advantages: (limited) Ability to share data among
several users Costs of storage spread out among users Most components are now commodity
items - prices falling Disadvantages:
Limited data sharing ability - a few users at most
6
Client/server Architecture Client-server architecture developed as a response to
the limitations of file-sharing architectures, which require tons of bandwidth and can often stall or jam a network causing it to crash. They require low shared usage and low volume of data to be transferred. In client-server architecture, the database server replaced the file server. Relational data base management systems (DBMSs) answered user queries directly. Since only specific queries were being answered, only that data was transferred instead of entire files that slow down networks. It also improved consistency in data between users, since all users had access to the same updated information.
7
8Client / Server Architecture
clientsclients
ServerServer
Client/Server Systems
Networked computing model Processes distributed between
clients and servers Client – Workstation (usually a PC)
that requests and uses a service Server – Computer
(PC/mini/mainframe) that provides a service
For DBMS, server is a database server
9
Application Logic in Client/Sever Systems
10
Procedures, functions,programs
Processing Logic I/O processing Business rules Data management
DBMS activitiesStorage Logic
Data storage/retrieval
GUI Interface
Presentation Logic Input – keyboard/mouse Output – monitor/printer
Client/Server Architectures
File Server Architecture
Database Server Architecture
Three-tier Architecture
11
Client does extensive processing
Client does little processing
Two-tier Architecture Two tier architectures consist of three components: user system
interfaces, processing management, and database management. User system interface (USI) is a component of an organization’s decision support system, which includes human decision-makers. It provides a user friendly layer of communication to make requests of the server and offers multiple forms of input and output. USIs include features like display management services, sessions, text input, and dialog. Processing management includes process development, process implementation, process monitoring, and process resources services. Database management includes database and file services.
Two tier client-server design derives its name from how it distributes work between client and server. Clients access databases through the user system interface. Database management, on the server side, distributes processing between both client and server. Both tiers, the client and the server, are responsible for some of the processing management. Simply put, the client uses the user interface to make requests through database management on the server side.
12
13Two-tier database server architecture
Thinner Thinner clientsclients
DBMS only DBMS only on serveron server
Two-Tier Database Server Architectures Client is responsible for
I/O processing logic Some business rules logic
Server performs all data storage and access processing DBMS is only on server
14
Advantages of Two-Tier Approach Clients do not have to be as powerful Greatly reduces data traffic on the network Improved data integrity since it is all
processed centrally Improve usability though user-friendly, form-
based interfaces. Improve scalability because two tiered
systems can hold up to 100 users, whereas file server architectures can only accommodate 12.
best suited to homogeneous environments for processing non-complex, non-time sensitive information.
Stored procedures some business rules done on server
15
Advantages of Stored Procedures Compiled SQL statements Reduced network traffic Improved security Improved data integrity Thinner clients
16
Three-tier Client/Server Architecture
17
18
Three-tier Architecture
Thinnest clientsThinnest clients
Business rules on Business rules on application serverapplication server
DBMS only on DBMS only on Database Database serverserver
Three-Tier Architectures
19
Thin Client PC just for user interface and a little application
processing. Limited or no data storage (sometimes no hard drive)
GUI interface (I/O processing)
Browser
Business rules Web Server
Data storage DBMS
ClientClient
Application serverApplication server
Database serverDatabase server
Advantages of Three-Tier Architectures
Scalability Centralize applications logic (one place to make
changes) Relieves clients from having to load up on
applications logic (the "fat client" approach). Frees up DBMS server to efficiently process
transactions Technological flexibility Long-term cost reduction Better match of systems to business needs Improved customer service Competitive advantage Reduced risk
20
Challenges/Disadvantages of Three-tier Architectures
System complexity - extremely complex to program and debug
Security issues High short-term costs Tools and training Experience Incompatible standards Lack of compatible end-user tools
21
Thank You
22