Title: CS632 Parallel Database Systems
1CS632Parallel Database Systems
2Background
- Database machine
- not economical
- parallelism
- Software database machine
- off-the-shelf components
- economy of scale
3Software database architectures
- Shared memory
- processors on shared bus
- very fast, efficient communication
- not scaleable due to resource contention
- easy to program
4Software database architectures
- Shared memory
- Shared disk
- private memory
- massively parallel architecture
- Thinking machines, Intel, N-cube, VAXcluster
- failed losses at both ends of the spectrum
5Software database architectures
- Shared memory
- Shared disk
- Shared nothing
- highly scaleable
- processors with private memory and disks
- communication via interconnect
6Parallel computation metrics
- Scaleup
- add processors in proportion to problem size
- Speedup
- add processors to fixed size problem
7The Gamma Database Machine Project
- DeWitt, Ghandeharizadeh, Schneider, Bricker,
Hsiao, Rasmussen.
8History - DIRECT
- early database machine project
- showed parallelism useful for db apps
- flaws curtailed scalability
- shared memory
- central control of execution
9Gamma hardware (v1.0)
- 17 VAX 11/750 processors
- 2 MB RAM per node
- 80 Mb/s token ring
- 8 x 333 MB Fujitsu drives
- Unix
10Gamma hardware (v1.0) issues
- 2K DB pages due to token ring
- Unibus congestion (network faster?)
- corrected with a backplane card
- VAX obsolete
- 2MB with no virtual memory was tight
11Gamma hardware (v2.0)
- iPSC/2 Intel hypercube
- 32 x386 processors
- 8MB of memory
- 330MB Maxtor drive / node (45KB cache)
- 8 routing modules
- 2.8 Mb/s
- full duplex, serial, reliable
12Gamma software (v2.0)
- OS NOSE
- entire DB in one NX/2 process
- details renaming nodes
- 10 CPU used for copying
- excessive interrupts during I/O
13Data storage
- Horizontal partitioning
- round-robin
- hashed
- range partitioned
- should partition relations based on heat
14Components
- Catalog manager
- repository for db schema and meta-information
- Query manager
- one associated with each user
- Scheduler processes
- coordinates multi-site queries
- Operator processes
- executes single relational operator
15Components
16Query processing
- Ad-hoc and embedded query interfaces
- standard parsing, optimization, code gen.
- left deep trees only
- hash joins only
- at most two join operators active simul.
- split tables
- new relational operators
17Split table
- Directs operator output to appropriate node
18Query processing an example
19Query processing an example
20Algorithms selection
- start selection operator on each node
- semantic exclusion of nodes possible for hash and
range partitioning - throughput considerations
- transfer tuples in blocks
- one page read-ahead
21Algorithms join
- Partition into buckets, join buckets
- Implemented
- sort-merge, Grace, Simple, Hybrid
- equi-joins
- centralized hash join (discuss)
- parallel hash join (discuss)
22Algorithms aggregation
- compute partial results for each partition
- collect each group-by partition at single node,
using hash function
23Algorithms update
- standard techniques
- exception update to partitioning attribute may
cause tuple to move
24Concurrency control
- 2PL
- Granularity file and page
- Modes S, X, IS, IX, SIX
- local wait-for graphs
- centralized multi-site lock detector
25Logging and recovery
- Log sequence number, LSN
- LSN
- Processor i directs log records at log manager (i
mod M), where M log mgrs. - standard WAL protocol
- ARIES
26Node failure
- availability in spite of processor or disk fail
- mirrored disk (Tandem)
- interleaved declustering (Teradata)
- chained declustering
- (discuss)
- load redirection results in 1/n increase
27Node failure - declustering
28Node failure - load redirection
29Performance experiments
- Selection
- Relation size
- Speedup
- Scaleup
- Join
- (similar)
- Aggregate
- Update (no recovery)
30DiscussionThe Future of High Performance
Database Systems
31Current day benchmarks
- TPC-C Online Transaction Processing
- TPC-D Decision Support
- IBM DB2 v5.2 TPC-D, 1000GB, NT
32CS632Parallel Database Systems