Please enable JavaScript.
Coggle requires JavaScript to display documents.
Client-Server and Distributed Data Bases - Coggle Diagram
Client-Server and Distributed Data Bases
Motivation for Client-Server Processing and Distributed Data
client-server approach supports the use of remote computing resources for performing complex business processes consisting of a variety of subtasks
client
program that makes requests to a server
server
performs requests and communicates results to manageable units
Clients and servers can be arranged across networked computers
complex work into more manageable units
advantages of client-server distributed processing
flexibility refers to ease of
maintaining a system
adapting a system
scalability refers to the ability to
add capacity in small units
remove capacity in small units
interoperability refers to the ability of 2 or more systems to
exchange software and data
use software and data
Distributed data
offers a number of advantages relate to
data control
communication costs
perfomance
can lead to lower
communication costs
improved performance
Client-Server Database Architectures
Two-Tier Architecture
PC client
contains the presentation code
contains the SQL statements for data access
can invoke stored procedures on the database server for
business logic
validation
DB server
processes the SQL statements
sends query resuls back to the PC Client
performs process management functions
advantages :check:
good approach for systems with stable requirements
good approach for moderate number of clients
simplest to implement due to the number of good commercial development encironments
disadvantages :forbidden:
software maintenance can be difficult because of
clients contain a mix of presentation
clients contain a mix of validation
clients contain a mix of business logic code
Tree-Tier Architecture
middleware usually consists of
transaction-processing monitor
message-oriented middlewae
message-oriented middleware
provides more flexibility in the kinds of messages supported
ways to improves performance
add an app server for specific kinds of processing
example: report writing
server software can be distributed between the DB server and PC clients
Multiple-Tier Architecture
app servers can be invokes from
PC clients
middleware
DB servers
additional server layers
provide a finer division of processing than
two-tier architecture
three-tier architecture
improve performance because
middleware servers can be deployed
application servers can be deployed
Web Services Architecture
generalize multiple-tier architectures for electronic business commerce
using Internet standarts to achieve high interoperability
Web services
allow organizations to reduce the cost of electronic business
operate in the Internet
network of networks built with standard languages and protocols for high interoperability
use general Internat standards
use new standards for electronic business commerce
supports interaction between
service provider
owns the service and provides the computing platform offering the service
service requestor
application searches for a service and uses the service after it is discovered
service registry
is the repository where the service provider publishes
its service description
the service requestor searches for available services
Distributed Database Architecture
support global requests that use data stored at more than one autonomous site
site
is any locally controlled computer with a unique network address
often geographically distributed
Global requests
queries that combine data from more than
one site
transactions that update data at more than one site
can involve a collection of statements
accessing local data in
some statements
Local data is controlled by the site in which a user normally connects
remote data in other statements
involves a different site in which a user may not even have an account to access
are potentially useful for organizations operating in multiple locations
local data managers
provide complete features of a DBMS
distributed data manager
optimizes query execution across
coordinates concurrency control
sites
recovery across sites
controls access to remote data
can call internal components and access the internal state of local data managers
Schema Architectures
contains the definition of each fragment while the allocation schema contains the location of each fragment
fragment
can be defined as a
vertical subset
horizontal subset
mixed fragment
allocated to one site but sometimes to multiple sites
tightly integrated and loosely integrated architectures represent two extreme possibilities
Networks of tightly integrated distributed databases can be loosely integrated to share selective data in global requests
approaches can be combined
loosely integrated distributed DBMS acts as a gateway between tightly integrated distributed databases
Distributed Query Processing
is more complex than centralized query processing for several reasons
involves
both local (intrasite)
global (intersite) optimization
involves
data movement
site selection decisions
is also more complex because multiple optimization objectives exist
centralized environment
minimizing resource (input-output and processing) usage is consistent with minimizing response time
distributed environment
minimizing resources may conflict with minimizing response time because of parallel processing opportunities
makes the implementation of the principles more difficult
Parallel processing can reduce response time but increase the overall amount of resources consumed