Please enable JavaScript.
Coggle requires JavaScript to display documents.
Client-Server and Distributed Data Bases - Coggle Diagram
Client-Server and Distributed Data Bases
Motivation
supports the use of remote computing resources for performing complex business processes consisting of a variety of subtasks
Main components
Client
program that makes requests to a serve
Server
performs requests and communicates results to the clients
Distributed processing advantages
flexibility
scalability (ability to add and remove capacity in small units)
interoperability (two or more systems to exchange and use software and data)
Distributed data advantages
lead to lower communication costs
improved performance
data are more available
Client-Server Database Architectures
Two-Tier Architecture
The PC client
contains the presentation code and SQL statements for data access
can invoke stored procedures on the database server for business logic and validation
The database server
processes the SQL statements and sends query results back
performs process management functions
Positive side
is the simplest to implement
Negative side
software maintenance can be difficult
utilizing new technology may be difficult because it often rely on proprietary software
Three-Tier Architecture
Adds middleware server to improve performance
transaction-processing monitor
may support more simultaneous connections
message-oriented middleware
provides more flexibility in the kinds of messages supported
add an application server for specific kinds of processing
provide more flexibility on division of processing
Multiple-Tier Architecture
support additional layers of servers
improve performance
provide flexible division of processing
Web Services Architecture
generalize multiple-tier architectures to achieve high interoperability
Web services allow organizations to reduce the cost of electronic business
use general Internet standards and new standards for electronic business commerce
The service provider
provides the computing platform offering the service
The service requestor
searches for a service and uses the service after it is discovered
The service registry
is the repository for services
After a service requestor finds a service, the service requestor uses the service description to bind with the service provider and invoke the service implementation maintained by the service provider
Distributed Database Architecture
support global requests that use data stored at more than one autonomous site
Site
any locally controlled computer with a unique network address
Global requests
queries that combine data from more than one site and transactions that update data at more than one site
can involve a collection of statements with different access data
Remote data
involves a different site in which a user may not even have an account to access
Local data
controlled by the site in which a user normally connects
additional components to support global queries
The local data managers
provide complete features of a DBMS
can be homogeneous or heterogeneous
The distributed data manager
optimizes query execution, coordinates concurrency control and recovery across sites
can call internal components and access the internal state of local data managers
homogeneous
is tightly integrated - efficiently support both distributed queries and transactions
heterogeneous
is loosely integrated - not be able to support transaction processing in a reliable and efficient manner
Schema Architectures
Tightly integrated distributed DBMS
contains additional layers for fragmentation and allocation
Fragment
vertical subset (project operation)
horizontal subset (restrict operation)
mixed fragment (combination of project and restrict operations)
is allocated to one site but sometimes to multiple sites
If the distributed DBMS supports replication, a fragment can be allocated to multiple sites
Networks can be loosely integrated to share selective data in global requests
Loosely integrated distributed DBMS
supports more autonomy of local database sites in addition to data sharing
Each site contains the traditional three schema levels
local mapping schema
support data sharing
describe the exportable data at a site
provide conversion rules to translate data
resolve many differences among the local data formats
The global conceptual schema
depicts all of the kinds of data and relationships
global external schemas
provide views of shared data in a common format
acts as a gateway between tightly integrated distributed databases
Distributed Query Processing
is more complex than centralized because multiple optimization objectives exist
involves both local (intrasite) and global (intersite) optimization
also complex for parallel databases with shared nothing architectures
In a centralized environment, minimizing resource usage is consistent with minimizing response time
In a distributed environment, minimizing resources may conflict with minimizing response time
Transactions obey the ACID properties and the distributed DBMS provides concurrency and recovery transparency
new kinds of failures exist because of the communication network
o deal with some complexities, new protocols are necessary