database access methods - northeastern university › csg389 › ssl › csg389-lecture3.pdfdatabase...

47
NEU csg389 Information Storage Technologies, Fall 2006 Database Access Methods Lecture 3 September 26, 2006

Upload: others

Post on 03-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

NEU csg389 Information Storage Technologies, Fall 2006

Database Access Methods

Lecture 3September 26, 2006

Page 2: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

2NEU csg389 Fall 2006, Jiri Schindler

Plan for today

• Questions from last time• Relational Database Management Systems

• Basic concepts and architecture

• Relations• storage

• Data-layout• On-disk• In-memory

• PAX paper discussion

Page 3: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

3NEU csg389 Fall 2006, Jiri Schindler

376

435

524

203

452

301

AgeRID

R3

87916

25345

76584

15633

43222

12371

SSNRID

R1

Dan6

Leon5

Suzan4

Jim3

John2

Jane1

NameRID

R2

Tables (Relations)

Table Scan: (Q1)SELECT SSN FROM R1

Join + Table Scan (Q2):SELECT R3.AGE, R2.NAME WHERE R3.RID = R2.RID

Payload for Q1

Page 4: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

4NEU csg389 Fall 2006, Jiri Schindler

12371PAGE HEADER

4322 1563 76583 42

John Jim Suzan

Jane1PAGE HEADER

3 42

30

45 20 52

1PAGE HEADER

3 4

2

376

435

524

203

452

301

AgeRID

R387916

25345

76584

15633

43222

12371

SSNRID

R1

Dan6

Leon5

Suzan4

Jim3

John2

Jane1

NameRID

R2

Tables (Relations) and Files

8KB

8KB

8KB

Each table can be a filepage size = file system block size

Page 5: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

5NEU csg389 Fall 2006, Jiri Schindler

Overview of a DBMS Architecture

optimizes I/Os after access patterns aredetermined by the optimizer prefetching for sequential access caching pages in buffers

Storage Manager

Request for Data (Query) chooses query plan with the lowest cost

sequential vs. random access decoupled from info about execution state

OPTIMIZER

Optimizer

EXECUTION

STORAGEManager

I/O requests

PAGEbuffers

query plan

Storage Device linear address space of logical blocks

but access time is non-linear…

. . .O LBNmax

Page 6: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

6NEU csg389 Fall 2006, Jiri Schindler

Anatomy of a Query

T1 A C T2 B A

relationsjoin predicate

predicates

• Operations• “filter” out data using SARGABLE predicate• Join the two data streams on the join predicate

– Nested-loop join– Sort-merge join

• Index of T1.A• Can access a subset of data using index rather than scan T1

SARGABLE predicate

Index on A

SELECT T1.A,T2.B FROM T1,T2 WHERE T1.A = T2.A AND T1.A<4

Page 7: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

7NEU csg389 Fall 2006, Jiri Schindler

“Operation” Costs

• Determinte the efficiency of access to data• TBLScan

– sequential access• IDXScan

– non-clustered access via index is inefficient• Sort

• Use “efficiency” to annotate query tree• consider I/O cost as well as efficiency of access• alleviates sensitivity to selectivity factor F

Page 8: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

8NEU csg389 Fall 2006, Jiri Schindler

Cost Estimators• Relational Statistics

• NCARD(T)– cardinality of relation (“number of rows in a table”)

• TCARD(T)– number of pages with T’s data (“datafile layout”)

• P(T) = TCARD(T) / non-empty pages a segment– “sparse”/”dense” allocation

• Index Statistics• ICARD(I)

– number of distinct keys• NINDX(I)

– number of pages in index I

Page 9: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

9NEU csg389 Fall 2006, Jiri Schindler

Cost Formulae• Figure out cost for each relation

• COST = PAGE FETCHES + w * CALLS– determined by the amount of available memory

• Index scan• COST = F(preds)*(NINDX(I) + TCARD)+ …

– selectivity factor F is not easy to get always right• clustered vs. non-clustered,

• Relation scan• COST = TCARD/P + …

• Combine costs for all relations• Couter = Couter + N * Cinner

Page 10: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

10NEU csg389 Fall 2006, Jiri Schindler

Anatomy of a Query cont’d

SELECT T1.A,T2.B FROM T1,T2 WHERE T1.A = T2.A AND T1.A<4

N1C1

N1C3

N2C2

T1Index T1.A Scan T1,SARGABLE

T2

Scan T2

Scan T2 Scan T2 Index T1.A Scan T1,SARGABLE

C1 + N1 C4 C3 + N1 C4 C2 + N1C1 C2 + N1C3

CsortT2 + Cmerge CsortT1&T2 + Cmerge CsortT2 + Cmerge CsortT1&T2 + Cmerge

Nested-loop join:

T1Index T1.A

N1C1

Scan T1,SARGABLEN1C3

Scan T2 Scan T2

T2

Index T1.A

Scan T2

Scan T1,SARGABLE

N2C2

Merge-sort join:

Page 11: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

11NEU csg389 Fall 2006, Jiri Schindler

SQL intermed. representation

Current Database Systems

optimizes I/O only after an accesspattern determined by the optimizer prefetching for sequential access caching pages in buffers

Storage Manager

Query

PARSER translates SQL into intermediate formParser

minimizes total number of I/Os fixed cost for fetching a page cost estimators with statistics

hands off query plan to execution unit

OPTIMIZEROptimizer

EXECUTION

STORAGEManager

Σ

I/O requests

PAGEbuffers

!

!

query plan

Page 12: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

12NEU csg389 Fall 2006, Jiri Schindler

PAX Paper Discussion

Page 13: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

13NEU csg389 Fall 2006, Jiri Schindler

Scanning a Single Table

buffer/prefetch size

• Example – selection query

Access in current DB systems

I/Ospages

Page 14: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

14NEU csg389 Fall 2006, Jiri Schindler

Scanning Two Tables

• Example – join query

Access in current DB systems• minimize total # of I/Os for a given buffer size

Buffers size

1-3:

4-6:

7-9:

Page 15: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

15NEU csg389 Fall 2006, Jiri Schindler

Overview of a DBMS Architecture

optimizes I/Os after access patterns aredetermined by the optimizer prefetching for sequential access caching pages in buffers

Storage Manager

Request for Data (Query) chooses query plan with the lowest cost

sequential vs. random access decoupled from info about execution state

OPTIMIZER

Optimizer

EXECUTION

STORAGEManager

I/O requests

PAGEbuffers

query plan

Storage Device linear address space of logical blocks

but access time is non-linear…

. . .O LBNmax

Page 16: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

16NEU csg389 Fall 2006, Jiri Schindler

Anatomy of a 264 KB I/O

AccessTrack 1

Seek

Rot.Latency

time

NormalAccess

AccessTrack 2

HSwitch

2.2 ms

2.4 ms

3.0 ms

0.8 ms

3.0 ms

Page 17: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

17NEU csg389 Fall 2006, Jiri Schindler

buffer/prefetch size

Inefficient with competing traffic

Access in a typical DBMS

LBN address space

1

SRLHS

2

3

1

3

2

comp

Execution of a Table Scan Operator

time

w/o

traf

fic

com

petin

gtra

ffic

Seq. Scan Execution

comp

321

Page 18: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

18NEU csg389 Fall 2006, Jiri Schindler

The Fates Project Overview

• Exploit unique characteristics at each level• L2/main memory• storage device

• Request only the data needed by a query• Clean encapsulation of functionality

Efficient query execution at all levels ofa database system memory hierarchy

Page 19: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

19NEU csg389 Fall 2006, Jiri Schindler

Inefficient Use of Storage Resources

• Lots of effort spent in DBMS to improve I/O• query optimization techniques• manual performance-tuning by DBAs

– time consuming and expensive ($$$)

W1+

W2

Goa

l

W1

W2

run time

inefficiency

• Why is storage used inefficiently?• manual configuration is error-prone• too much abstracted away from DBMS W

1+W

2 Co

ncur

rent

• Make I/O execution efficient for concurrentworkloads competing for a storage device

• Eliminate manual I/O performance tuning

Goals

Page 20: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

20NEU csg389 Fall 2006, Jiri Schindler

(Broken) Assumptions

OPTIMIZER

EXECUTION

STORAGE Manager

configparameters

PAGEbuffers

2. Performance will be tuned• error-prone manual configuration

• data layout parametersEXTENTSIZE,STRIPED_CONTAINERS, …

• prefetching parametersPREFETCHSIZE, …

1. I/O costs preserved across abstraction layers• sequential access may not result in sequential I/O

• concurrent execution of different queries

No info about storage device performance

Page 21: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

21NEU csg389 Fall 2006, Jiri Schindler

Restoring Assumptions with Lachesis

1. I/O costs preserved across abstraction layers

2. Performance is correctly tuned

• explicit performance attributesallow automatic adjustment

• simplified management• no need for manual tuning

• nearly sequential efficiency even with competing I/O

OPTIMIZER

EXECUTION

STORAGE Manager

PAGEbuffers

configparameters

performance attributes

Storage device provides explicit hints

Page 22: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

22NEU csg389 Fall 2006, Jiri Schindler

Lachesis: Robust Storage Management• Storage provides a few hints to DBMS

• device-neutral expression• restores current system abstractions

• Proper division of labor• hints from below let DBMS issue efficient I/Os• storage device ensures efficient execution

• Eliminates error-prone manual tuning• automatic adaptation to device-specifics• robust response to dynamic workload changes

Page 23: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

23NEU csg389 Fall 2006, Jiri Schindler

Ensemble of Contiguous Blocks

• Encapsulates delays in sequential accesses

access delay boundaries

…O LBNmaxLBN

addressspace

ensemble

• Explicit contract between devices and DBMS• align I/Os to ensemble boundaries• match accesses to ensemble units

• Variable size across LBN address space

Device-independent expression of device-specifics

Page 24: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

24NEU csg389 Fall 2006, Jiri Schindler

One Table Comparison

Page 25: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

25NEU csg389 Fall 2006, Jiri Schindler

Two Tables Comparison

Page 26: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

26NEU csg389 Fall 2006, Jiri Schindler

Ideal World Disk Efficiency

time total

time transfer dataefficiency disk =

sustained data streaming

Page 27: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

27NEU csg389 Fall 2006, Jiri Schindler

Measured Disk Efficiency: Real World

sustained data streaming

random reads to disk’s first zone (264 KB per track)

Inefficient access w/o explicit information

Page 28: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

28NEU csg389 Fall 2006, Jiri Schindler

Measured Disk Efficiency: Ensembles

Ensemble-based access most efficient when I/O size matches track size

sustained data streaming

50%increase

random reads to disk’s first zone (264 KB per track)access aligned on ensemble (track) boundary

Page 29: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

29NEU csg389 Fall 2006, Jiri Schindler

Workload Description & Scenarios

• Compound workloads• decision support system queries (DSS)• on-line transaction processing (OLTP)

• Three scenarios for DBMS setup• dedicated DSS systems

– doubles the cost of hardware

• mostly DSS with occasional random traffic– 15% I/Os come from OLTP

• OLTP system with DSS running concurrently– live transaction system used for data mining

Page 30: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

30NEU csg389 Fall 2006, Jiri Schindler

IBM DB2 Trace Replay

• I/O traces from running TPC-H (DSS)• run single query to completion• capture block-level traces

• Replay• modify traces to simulate ensemble access

– preserves data access order• introduce competing traffic by small random I/O

• TPC-H DB2 configuration• 10 GB TPC-H• performance manually tuned to given hardware

Page 31: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

31NEU csg389 Fall 2006, Jiri Schindler

DB2 Trace Replay simulating LachesisN

orm

aliz

ed T

ime

to o

rigin

al D

B2

run

• 22 TPC-H benchmark queries• 10GB dataset on one disk (data&index), another disk (logs)• 2GHz uniprocessor Pentium 4, 1GB of memory

13%

Improvement grows with increasing amount of traffictable scan simple join nested queries index access

Page 32: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

32NEU csg389 Fall 2006, Jiri Schindler

Lachesis Prototype based on Shore

• Few modifications are necessary• adjust data allocation

– match extent sizes to ensembles• match data access

– read and write in ensemble units

• Straightforward integration• meshes with existing algorithms and structures• changes to 400 lines of code out of 250,000

Page 33: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

33NEU csg389 Fall 2006, Jiri Schindler

Prototype Implementation Setup

• Lachesis prototype environment• 1GB dataset on a single disk (data&index)• 2GHz uniprocessor Pentium 4, 1GB memory

• Two workloads running concurrently• TPC-H benchmark queries (DSS)

– run single query to completion

• TPC-C benchmark transaction mix (OLTP)– one transaction at a time– vary delay between transactions

Page 34: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

34NEU csg389 Fall 2006, Jiri Schindler

Improving DSS Performance

TPC-H Query 12 Run Time

0

100

200

300

400

500

600

0 100 200 300 400 500

Competing OLTP Transactions Completed [1/min]

To

tal R

un

Tim

e [

s]

Basic Shore

Lachesis Shore1.5x speedup

I/O time comparison

Basi

c

582

384

Lach

esis

Page 35: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

35NEU csg389 Fall 2006, Jiri Schindler

Improving OLTP Performance

7% higher OLTPthroughput

TPC-H Query 12 Run Time

0

100

200

300

400

500

600

0 100 200 300 400 500

Competing OLTP Transactions Completed [1/min]

To

tal R

un

Tim

e [

s]

Basic Shore

Lachesis Shore

Page 36: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

36NEU csg389 Fall 2006, Jiri Schindler

Compound Workload Execution

I/O time comparison

OLT

P

inefficiency

Basi

c

582

DSS

384

Lach

esis

TPC-H Query 12 Run Time

0

100

200

300

400

500

600

0 100 200 300 400 500

Competing OLTP Transactions Completed [1/min]

To

tal R

un

Tim

e [

s]

Basic Shore

Lachesis Shore

Same efficiency as when workloads executed separately

Page 37: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

37NEU csg389 Fall 2006, Jiri Schindler

Clotho

The Fates Database Storage Project

Operators

Bufferpool Manager

LachesisStorage Manager

AtroposLV Manager

disk array

disk 0 disk 1

Bufferpool

data directly placedvia scatter/gather I/O

page hdr

Efficient execution at all levels of memory hierarchy

Atropos new data organization

• exploits unique disk features

Lachesis construction of efficient I/Os

• explicit hints

Clotho new in–memory page layout

• query-specific organization

Page 38: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

38NEU csg389 Fall 2006, Jiri Schindler

Summary

• Device-independent performance hints• encapsulate device-specific characteristics• restore assumptions about I/O costs

• Proper division of responsibilities• DBMS does not have to control everything• storage systems execute I/Os efficiently

• Simplified storage management• automatic performance tuning

• Robust performance of compound workloads

Page 39: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

39NEU csg389 Fall 2006, Jiri Schindler

NSM (N-ary Storage Model)

PAGE HEADER

4322 John 45

7658 Susan 52

37Dan8791

43Leon2534

52Susan7658

20Jim1563

45John4322

30Jane1237

AgeNameSSN

R

Records are stored sequentially Attributes of a record are stored together

A page in Database1237

30

Jane

8KB

Jim 20

1563

Page 40: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

40NEU csg389 Fall 2006, Jiri Schindler

NSM Details

1237RH1PAGE HEADER

30Jane RH2 4322 John

45 RH3 Jim 20

•••

RH4

7658 Susan 52

1563

Page 41: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

41NEU csg389 Fall 2006, Jiri Schindler

NSM Behavior

DISK

PAGE HEADER

7658 Susan 52

1237 Jane

Jim 20

4322 John 4530 1563

CPU CACHEMAIN MEMORY

Query asks for attribute “age” (column-major access)

PAGE HEADER

7658 Susan 52

1237 Jane

Jim 20

4322 John 4530 1563

4322 Jo30

hn 45 1563

7658Jim 20

Susan 52

Block 1

Block 2

Block 3Block 4

Optimized for row-major access Bad at column-major access

Waste I/O bandwidth (fixed page layout) Low spatial locality at CPU cache

Page 42: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

42NEU csg389 Fall 2006, Jiri Schindler

DSM (Decomposition Storage Model)

37Dan8791

43Leon2534

52Susan7658

20Jim1563

45John4322

30Jane1237

AgeNameSSN

Partition original table into n 1-attribute sub-tables

Page 43: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

43NEU csg389 Fall 2006, Jiri Schindler

12371PAGE HEADER

4322 1563 76583 42

John Jim Suzan

Jane1PAGE HEADER

3 42

30

45 20 52

1PAGE HEADER

3 4

2

376

435

524

203

452

301

AgeRID

R387916

25345

76584

15633

43222

12371

SSNRID

R1

Dan6

Leon5

Suzan4

Jim3

John2

Jane1

NameRID

R2

Each sub-table stored separately in normal NSM pages

DSM (Decomposition Storage Model)

8KB

8KB

8KB

Page 44: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

44NEU csg389 Fall 2006, Jiri Schindler

DSM Behavior

John Jim Suzan

Jane1PAGE HEADER

3 4

2

DISK

301PAGE HEADER 2 45

20 523 4 5 43

12371PAGE HEADER

4322 1563 76583 42

MAIN MEMORY

301PAGE HEADER 2 45

20 523 4 5 43CPU CACHE

block 1301 2 45

block 220 523 4 5

Optimized for column-major access Bad at row-major access

Reconstructing full record induce random access

Query asks for attribute “age” (column-major access)Query asks for all attributes (row-major access)

John Jim Suzan

Jane1PAGE HEADER

3 4

2

12371PAGE HEADER

4322 1563 76583 42

Costly

Page 45: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

45NEU csg389 Fall 2006, Jiri Schindler

PAX (Partition Attributes Across)

PAGE HEADER

4322 John 45

7658 Susan 52

1237

30

Jane

8KB

Jim 20

1563

NSM PAGE PAX PAGE

Partition data within a page

1563

PAGE HEADER 1237 4322

7658

Jane John Jim Susan

30 45 2052

minipage

Page 46: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

46NEU csg389 Fall 2006, Jiri Schindler

PAX Behavior

1563PAGE HEADER 1237 4322

7658

Jane John Jim Susan

30 45 2052

DISK

1563PAGE HEADER 1237 4322

7658

Jane John Jim Susan

30 45 2052

MAIN MEMORY CPU CACHE

block 152 45 2030

Optimized at CPU cache-memory level Suboptimal I/O performance for column-major access

Irrelevant data wastes I/O bandwidth (fixed page layout)

cheap

Query asks for attribute “age” (column-major access)Query asks for all attributes (row-major access)

Page 47: Database Access Methods - Northeastern University › csg389 › ssl › csg389-Lecture3.pdfDatabase Access Methods Lecture 3 September 26, 2006 NEU csg389 Fall 2006, Jiri Schindler

47NEU csg389 Fall 2006, Jiri Schindler

What’s next…

• Lecture: 9/26• Database structures• DB Workloads