Distributed Databases and

makeshiftklipInternet and Web Development

Oct 31, 2013 (3 years and 7 months ago)

90 views

{

Distributed Databases

and

Client
-
Sever Architecture

Sean Wolfe

Jarred Hancock

Sonny Patel



A

database

that consists of two or
more

data

files

located at different sites on
a

computer

network.
Because the

database

is
distributed, different

users

can access

it without
interfering with one another. However,
the

DBMS

must periodically synchronize the
scattered databases to make sure that they all
have consistent data.



Ideally, the location of data is unknown to the
client.

Distributed Databases

Data Base

Distributed Database


Heterogeneous


Different sites run different DBMS



Homogeneous


Every site runs the same DBMS

Types of Distributed
Databases



Levels of transparency


Distribution replication


Reliability


Performance


Room for improvement


Advantages


Data Tracking


Processing


Transaction management


Data management


Security



Functions



Splitting centralized
databases into
portions





Horizontal
and/or vertical
partitioning




No redundant data

Fragmentation



Vertical Fragmentation


-

separating columns



Horizontal Fragmentation


-

separating rows

Fragmentation Cont.

Oracle
DDBS

E
-
Business Suite designed to support a

three
-
tier architecture.

The three
-
tier model is a software architecture and a software
design pattern.


Client


Application server


Database

server

Why use
DDBS
?

{

Client Server
Architecture

What is a Client Server
Architecture?


Client/Server computing involves two or more computers sharing
tasks related to a
complete application
. Ideally, each computer is
performing chores appropriate to its design and
stated function
. This
implies that computing resources and data storage resources are
located
where they
will do the most good in fulfilling the computing
task at hand
.
[1
]



Clients


single
-
user workstation, requests/uses services from server


Thin


Fat



Servers


multi
-
user with shared memory, computing, connectivity,
etc. Provides services to client


Client may become a Server; Server can become a Client


Clients know of servers, but the servers do not need to know of the
clients

Three Layers:



Presentation Layer (client)


Provides the user interface and interacts with the user


Used commonly within web browsers (uses HTTP protocol)


Handles input, output, navigation by accepting user command and displaying
needed information


Application processing Layer



Programs application logic


Application Functionality with security checks, identity verification,
etc


Interacts with one or more databases/data sources


Data Management layer


Handles/processes query and updates requests from application layer


Query results can be formatted to XML when transmitting between application
server and database server




Fat/Thin Clients

Thin Clients


Advantages


all
of the application processing and
data
management is carried out on the
server.


client
responsible for running the presentation
software
.


Greater data security


Centralized support(Easier to support end
users)


Less reliant on hardware


Faster deployment, repair, replacement


Disadvantages


places heavy load on server and network


Dependent on network and server


Server costs are higher

Fat/Thin Clients

Fat
Clients


Advantages


Server only responsible for data management


Software on client implements application logic and
interactions with system
user


Lighter load on server


Not completely dependent on server or network


Higher server Capacity


More Flexible


Fewer Server requirements


Disadvantages


More complex due to application updating


Less data security


Two Types of Server/Client
Architecture


Centralized (two tier)









Distributed
(three tier)







Why implement it?


Clean separation of function for services


Shared resources


Asymmetrical protocols


Transparency of location


Scalable to desired environment


Data Integrity


Functionality grouped/optimized through a
server


Databases


Image processing


Software



Pros


Efficient both economically and functionally


Transparency of location


Openness of different software and equipment


Concurrent Processing (lighter load on client)


Ability to continue through faults


User needs to know smaller number of UI


Code based on server can be reused on client machines


Resources shared easily


Multiple clients can use a single server


Create multiple sessions to a server


Cons


Greater complexity than centralized systems


Loss of functionality due to server fail


More effort required for system management


Traffic congestion on network


Google File System


a scalable distributed file
system for large distributed data
-
intensive
applications


Provides fault tolerance while running


Inexpensive commodity hardware


Delivers high performance to large number of
clients

Google’s Distributed
Database


The design has been driven by current and
anticipated observations of application
workloads.


Led to reexamine traditional choices and explore
radically different design points

Google’s Distributed
Database (cont’d)


Resulted in:


meeting storage needs


Deployed within Google as storage platform


Used to generate and process data used by
services


Used for research and development efforts that
require large data sets


Largest cluster to date ( hundreds of terabytes)


Concurrently accessed by clients

Google’s File System

Google’s Design


Cloud
-
based hotel property management
system (PMS)


Distributed Database and Client
-
Server
Architecture are used


Used for managing check in and check outs


Automates some paperwork and calculations

ChoiceADVANTAGE



ChoiceADVANTAGE

(Cont’d)


[1] Elliott, R. & Powers, N., (
Intellex
)
, “
One
-
Tier, Two
-
Tier, Three
-
Tier,
A Server: Using Technology to
SolveBusiness

Problems”,
http://
www.pacificelectric.com/PacificElec/Product/whtpap04.htm

Cited Works