Download Distributed Database Management Systems © 1994 M. Tamer Özsu

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Relational model wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Database wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Object-relational impedance mismatch wikipedia , lookup

Concurrency control wikipedia , lookup

Transcript
Outline







Introduction
Background
Distributed DBMS Architecture
Distributed Database Design
Semantic Data Control
Distributed Query Processing
Distributed Transaction Management
 Data server approach
 Parallel architectures
 Parallel DBMS techniques
 Parallel execution models




Parallel Database Systems
Distributed Object DBMS
Database Interoperability
Concluding Remarks
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.1
The Database Problem

Large volume of data  use disk and large
main memory

I/O bottleneck (or memory access bottleneck)
 Speed(disk) << speed(RAM) << speed(microprocessor)

Predictions
 (Micro-) processor speed growth : 50 % per year
 DRAM capacity growth : 4 every three years
 Disk throughput : 2 in the last ten years

Conclusion : the I/O bottleneck worsens
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.2
The Solution

Increase the I/O bandwidth
 Data partitioning
 Parallel data access

Origins (1980's): database machines
 Hardware-oriented  bad cost-performance  failure
 Notable exception : ICL's CAFS Intelligent Search Processor

1990's: same solution but using standard hardware
components integrated in a multiprocessor
 Software-oriented
 Standard essential to exploit continuing technology
improvements
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.3
Multiprocessor Objectives


High-performance with better cost-performance
than mainframe or vector supercomputer
Use many nodes, each with good costperformance, communicating through network
 Good cost via high-volume components
 Good performance via bandwidth

Trends
 Microprocessor and memory (DRAM): off-the-shelf
 Network (multiprocessor edge): custom

The real chalenge is to parallelize applications to
run with good load balancing
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.4
Data Server Architecture
Client
client interface
Application
server
query parsing
data server interface
communication channel
Data application server interface
database functions
server
database
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.5
Objectives of Data Servers
Avoid the shortcomings of the traditional DBMS
approach
 Centralization of data and application management
 General-purpose OS (not DB-oriented)
By separating the functions between
 Application server (or host computer)
 Data server (or database computer or back-end computer)
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.6
Data Server Approach: Assessment

Advantages
 Integrated data control by the server (black box)
 Increased performance by dedicated system
 Can better exploit parallelism
 Fits well in distributed environments

Potential problems
 Communication overhead between application and data
server

High-level interface
 High cost with mainframe servers
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.7
Parallel Data Processing

Three ways of exploiting high-performance
multiprocessor systems:
 Automatically detect parallelism in sequential programs
(e.g., Fortran, OPS5)
 Augment an existing language with parallel constructs
(e.g., C*, Fortran90)
 Offer a new language in which parallelism can be
expressed or automatically inferred

Critique
 Hard to develop parallelizing compilers, limited resulting
speed-up
 Enables the programmer to express parallel computations
but too low-level
 Can combine the advantages of both (1) and (2)
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.8
Data-based Parallelism
 Inter-operation
 p operations of the same query in parallel
op.3
op.2
op.1
 Intra-operation
 the same operation in parallel on different data partitions
op.
R
Distributed DBMS

op.
op.
op.
op.
R1
R2
R2
R4
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.9
Parallel DBMS

Loose definition: a DBMS implemented on a
tighly coupled multiprocessor

Alternative extremes
 Straighforward porting of relational DBMS (the software
vendor edge)
 New hardware/software combination (the computer
manufacturer edge)

Naturally extends to distributed databases
with one server per site
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.10
Parallel DBMS - Objectives

Much better cost / performance than
mainframe solution

High-performance through parallelism
 High throughput with inter-query parallelism
 Low response time with intra-operation parallelism

High availability and reliability by exploiting
data replication

Extensibility with the ideal goals
 Linear speed-up
 Linear scale-up
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.11
Linear Speed-up
Linear increase in performance for a constant DB
size and proportional increase of the system
components (processor, memory, disk)
ideal
new perf.
old perf.
components
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.12
Linear Scale-up
Sustained performance for a linear increase of
database size and proportional increase of the
system components.
new perf.
old perf.
ideal
components + database size
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.13
Barriers to Parallelism

Startup
 The time needed to start a parallel operation may
dominate the actual computation time

Interference
 When accessing shared resources, each new process slows
down the others (hot spot problem)

Skew
 The response time of a set of parallel processes is the time
of the slowest one

Parallel data management techniques intend
to overcome these barriers
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.14
Parallel DBMS –
Functional Architecture
User
task n
User
task 1
Session Mgr
RM
task 1
DM
task 11
Distributed DBMS
DM
task 12
Request Mgr
RM
task n
DM
Data Mgr task n2
© 1998 M. Tamer Özsu & Patrick Valduriez
DM
task n1
Page 13.15
Parallel DBMS Functions

Session manager
 Host interface
 Transaction monitoring for OLTP

Request manager
 Compilation and optimization
 Data directory management
 Semantic data control
 Execution control

Data manager
 Execution of DB operations
 Transaction management support
 Data management
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.16
Parallel System Architectures

Multiprocessor architecture alternatives
 Shared memory (shared everything)
 Shared disk
 Shared nothing (message-passing)

Hybrid architectures
 Hierarchical (cluster)
 Non-Uniform Memory Architecture (NUMA)
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.17
Shared-Memory Architecture
P1
Pn
interconnect
Global Memory
D
Examples: DBMS on symmetric multiprocessors
(Sequent, Encore, Sun, etc.)
 Simplicity, load balancing, fast communication
 Network cost, low extensibility
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.18
Shared-Disk Architecture
P1
Pn
M1
Mn
interconnect
D
Examples : DEC's VAXcluster, IBM's IMS/VS Data Sharing
 network
cost, extensibility, migration from uniprocessor
 complexity, potential performance problem for copy
coherency
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.19
Shared-Nothing Architecture
interconnect
P1
Pn
D1
M1
Dn
Mn
Examples : Teradata (NCR), NonStopSQL (TandemCompaq), Gamma (U. of Wisconsin), Bubba
(MCC)
 Extensibility, availability
 Complexity, difficult load balancing
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.20
Hierarchical Architecture
P1
Pn
P1
Pn
interconnect
Global Memory
Global Memory
D


interconnect
D
Combines good load balancing of SM with
extensibility of SN
Alternatives
 Limited number of large nodes, e.g., 4 x 16 processor
nodes
 High number of small nodes, e.g., 16 x 4 processor nodes,
has much better cost-performance (can be a cluster of
workstations)
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.21
Shared-Memory vs.
Distributed Memory

Mixes two different aspects : addressing and
memory
 Addressing
Single address space : Sequent, Encore, KSR
 Multiple address spaces : Intel, Ncube
 Physical memory
 Central : Sequent, Encore
 Distributed : Intel, Ncube, KSR


NUMA : single address space on distributed
physical memory
 Eases application portability
 Extensibility
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.22
NUMA Architectures

Cache Coherent NUMA (CC-NUMA)
 statically divide the main memory among the nodes

Cache Only Memory Architecture (COMA)
 convert the per-node memory into a large cache of the
shared address space
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.23
COMA Architecture
Disk
Disk
Disk
P1
P2
Pn
Cache
Memory
Cache
Memory
…
Cache
Memory
Hardware shared virtual memory
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.24
Parallel DBMS Techniques

Data placement
 Physical placement of the DB onto multiple nodes
 Static vs. Dynamic

Parallel data processing
 Select is easy
 Join (and all other non-select operations) is more difficult

Parallel query optimization
 Choice of the best parallel execution plans
 Automatic parallelization of the queries and load balancing

Transaction management
 Similar to distributed transaction management
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.25
Data Partitioning

Each relation is divided in n partitions
(subrelations), where n is a function of
relation size and access frequency

Implementation
 Round-robin
Maps i-th element to node i mod n
 Simple but only exact-match queries

 B-tree index

Supports range queries but large index
 Hash function

Distributed DBMS
Only exact-match queries but small index
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.26
Partitioning Schemes
•••
•••
•••
•••
•••
Round-Robin
Hashing
•••
a-g
h-m
•••
u-z
Interval
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.27
Replicated Data Partitioning

High-availability requires data replication
 simple solution is mirrored disks
hurts load balancing when one node fails
 more elaborate solutions achieve load balancing
 interleaved partitioning (Teradata)
 chained partitioning (Gamma)

Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.28
Interleaved Partitioning
Node
Primary copy
1
2
3
4
R1
R2
R3
R4
r 1.1
r 1.2
r 1.3
r 2.1
r 2.2
Backup copy
r 2.3
r 3.2
Distributed DBMS
r 3.2
© 1998 M. Tamer Özsu & Patrick Valduriez
r 3.1
Page 13.29
Chained Partitioning
Node
1
2
3
4
Primary copy
R1
R2
R3
R4
Backup copy
r4
r1
r2
r3
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.30
Placement Directory

Performs two functions
 F1 (relname, placement attval) = lognode-id
 F2 (lognode-id) = phynode-id

In either case, the data structure for f1 and f2
should be available when needed at each node
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.31
Join Processing

Three basic algorithms for intra-operator
parallelism
 Parallel nested loop join: no special assumption
 Parallel associative join: one relation is declustered on join
attribute and equi-join
 Parallel hash join: equi-join

They also apply to other complex operators
such as duplicate elimination, union,
intersection, etc. with minor adaptation
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.32
Parallel Nested Loop Join
node 1
node 2
R1:
R2:
send
partition
 S2
 S1
node 3
node 4
R S

i=1,n(R  Si)
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.33
Parallel Associative Join
node 1
node 2
R1:
R2:
 S2
 S1
node 3
node 4
R  S  i=1,n(Ri 
Si)
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.34
Parallel Hash Join
node
R1:
node
R2:
node
S1:
node
S2:

node 1

node 2
R S

i=1,P(Ri  Si)
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.35
Parallel Query Optimization
The objective is to select the "best" parallel
execution plan for a query using the following
components
Search space
 Models alternative execution plans as operator trees
 Left-deep vs. Right-deep vs. Bushy trees
Search strategy
 Dynamic programming for small search space
 Randomized for large search space
Cost model (abstraction of execution system)
 Physical schema info. (partitioning, indexes, etc.)
 Statistics and cost functions
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.36
Execution Plans as Operators Trees
Result
Result
j3
j6
Left-deep
Right-deep
j5
R3
R3
j1
R1
R4
R4
j2
j4
R1
R2
R2
Result
Result
j9
Zig-zag
j12
R4
R3
j7
R1
Distributed DBMS
j11
j10
R1
Bushy
j8
R2 R3
R4
R2
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.37
Equivalent Hash-Join Trees
with Different Scheduling
Build3
Probe3
Build3
Build3
Probe3
Temp2
Temp2
R4
Build2
R4
Probe2
Build2
Probe2
Temp1
Temp1
R3
Build1
R1
Distributed DBMS
R3
Probe1
Build1
R2
R1
© 1998 M. Tamer Özsu & Patrick Valduriez
Probe1
R2
Page 13.38
Load Balancing

Problems arise for intra-operator parallelism
with skewed data distributions
 attribute data skew (AVS)
 tuple placement skew (TPS)
 selectivity skew (SS)
 redistribution skew (RS)
 join product skew (JPS)

Solutions
 sophisticated parallel algorithms that deal with skew
 dynamic processor allocation (at execution time)
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.39
Data Skew Example
JPS
AVS/TPS
JPS
Res1
Res2
Join1
Join2
S1
S2
RS/SS
AVS/TPS
Scan1
RS/SS
AVS/TPS
Scan2
R2
Distributed DBMS
AVS/TPS
R1
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.40
Some Parallel DBMSs

Prototypes
 EDS and DBS3 (ESPRIT)
 Gamma (U. of Wisconsin)
 Bubba (MCC, Austin, Texas)
 XPRS (U. of Berkeley)
 GRACE (U. of Tokyo)

Products
 Teradata (NCR)
 NonStopSQL (Tandem-Compac)
 DB2 (IBM), Oracle, Informix, Ingres, Navigator
(Sybase) ...
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.41
Open Research Problems







Hybrid architectures
OS support:using micro-kernels
Benchmarks to stress speedup and scaleup under
mixed workloads
Data placement to deal with skewed data
distributions and data replication
Parallel data languages to specify independent
and pipelined parallelism
Parallel query optimization to deal with mix of
precompiled queries and complex ad-hoc queries
Support of higher functionality such as rules and
objects
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 13.42