Beruflich Dokumente
Kultur Dokumente
PARALLEL DBMSs
WHY DO WE NEED THEM?
More and More Data!
We have databases that hold a high amount of
data, in the order of 10
12
bytes:
10,000,000,000,000 bytes!
Faster and Faster Access!
We have data applications that need to process
data at very high speeds:
10,000s transactions per second!
SINGLE-PROCESSOR DBMS ARENT UP TO THE JOB!
Improves Response Time.
INTERQUERY PARALLELISM
It is possible to process a number of transactions in
parallel with each other.
Improves Throughput.
INTRAQUERY PARALLELISM
It is possible to process sub-tasks of a transaction in
parallel with each other.
PARALLEL DBMSs
BENEFITS OF A PARALLEL DBMS
Speed-Up.
As you multiply resources by a certain factor, the time taken
to execute a transaction should be reduced by the same factor:
10 seconds to scan a DB of 10,000 records using 1 CPU
1 second to scan a DB of 10,000 records using 10 CPUs
PARALLEL DBMSs
HOW TO MEASURE THE BENEFITS
Scale-up.
As you multiply resources the size of a task that can be executed
in a given time should be increased by the same factor.
1 second to scan a DB of 1,000 records using 1 CPU
1 second to scan a DB of 10,000 records using 10 CPUs
Sub-linear speed-up
Linear speed-up (ideal)
Number of CPUs
N
u
m
b
e
r
o
f
t
r
a
n
s
a
c
t
i
o
n
s
/
s
e
c
o
n
d
1000/Sec
5 CPUs
2000/Sec
10 CPUs 16 CPUs
1600/Sec
PARALLEL DBMSs
SPEED-UP
10 CPUs
2 GB Database
Number of CPUs, Database size
N
u
m
b
e
r
o
f
t
r
a
n
s
a
c
t
i
o
n
s
/
s
e
c
o
n
d
Linear scale-up (ideal)
Sub-linear scale-up
1000/Sec
5 CPUs
1 GB Database
900/Sec
PARALLEL DBMSs
SCALE-UP
MEMORY
CPU
CPU
CPU
CPU
CPU
CPU
Shared Memory Parallel Database Architecture
CPU
CPU
CPU
CPU
CPU
CPU
Shared Disk Parallel Database Architecture
M
M
M
M
M
M
Shared Nothing Parallel Database Architecture
CPU M
CPU M
CPU M
CPU
M
CPU
M
MAINFRAME DATABASE
SYSTEM
DUMB
DUMB
DUMB
S
P
E
C
I
A
L
I
S
E
D
N
E
T
W
O
R
K
C
O
N
N
E
C
T
I
O
N
TERMINALS
MAINFRAME COMPUTER
PRESENTATION LOGIC
BUSINESS LOGIC
DATA LOGIC
CLIENT/SERVER DATABASE
SYSTEM
CLIENT/SERVER DBMS
Manages user interface
Accepts user data
Processes application/business logic
Generates database requests (SQL)
Transmits database requests to server
Receives results from server
Formats results according to application logic
Present results to the user
CLIENT PROCESS
CLIENT/SERVER DBMS
Accepts database requests
Processes database requests
Performs integrity checks
Handles concurrent access
Optimises queries
Performs security checks
Enacts recovery routines
Transmits result of database request to client
SERVER PROCESS
Data Request
Data Response
CLIENT/SERVER
DBMS ARCHITECTURE
CLIENT
#1
CLIENT
#2
CLIENT
#3
PRESENTATION LOGIC
BUSINESS LOGIC
DATA LOGIC
(FAT CLIENT)
D/BASE
SERVER
D/BASE
SERVER
Data Request
Data Response
CLIENT/SERVER
DBMS ARCHITECTURE
CLIENT
#1
CLIENT
#2
CLIENT
#3
PRESENTATION LOGIC
BUSINESS LOGIC
DATA LOGIC
(THIN CLIENT)
LAN
CLIENT
CLIENT
LAN
CLIENT
CLIENT
CLIENT
CLIENT
LAN
CLIENT
CLIENT
LAN
CLIENT
Leyton
CLIENT
CLIENT
CLIENT
Stratford
D
B
M
S
Barking Leytonstone
DISTRIBUTED PROCESSING ARCHITECTURE
CLIENT
CLIENT
CLIENT
CLIENT