CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1...

57

Transcript of CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1...

Page 6: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page1 page2 page3 page4

page1

page2

page3

page4

page1 page1

page3

page3

Page 7: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→ madvise

→ mlock

→ msync

Page 12: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

frame1

frame2

frame3

frame4

page1

page3

page1 page2 page3 page4

Page 13: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

frame1

frame2

frame3

frame4

page1

page3

page1 page2 page3 page4

Page 14: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→ page1 page2 page3 page4

frame1

frame2

frame3

frame4

page1

page3

page1

page3

Page 15: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→ page1 page2 page3 page4

frame1

frame2

frame3

frame4

page1

page3

page1

page3

Page 16: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→ page1 page2 page3 page4

frame1

frame2

frame3

frame4

page1

page3

page1

page3

page2

page2

Page 18: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page0

page0

page1

page2

page3

page4

page5

Q1

Page 19: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page0

page1

page0

page1

page2

page3

page4

page5

Q1

Page 20: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page0

page1

page0

page1

page2

page3

page4

page5

Q1

Page 21: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page1

page2

page0

page1

page2

page3

page4

page5

Q1

page3

Page 22: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page1

page2

page0

page1

page2

page3

page4

page5

Q1

page3

Page 23: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page0

page1

page2

page3

page4

page5Q1

page3

page4

page5

Page 24: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

index-page0

index-page0

index-page1

index-page2

index-page3

index-page4

index-page5

Q1index-page0

index-page4index-page1

index-page2 index-page5index-page3 index-page6

Page 25: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

index-page0

index-page1

index-page0

index-page1

index-page2

index-page3

index-page4

index-page5

Q1

index-page0

index-page4index-page1

index-page2 index-page5index-page3 index-page6

Page 26: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

index-page0

index-page1

index-page0

index-page1

index-page2

index-page3

index-page4

index-page5

Q1

index-page0

index-page4index-page1

index-page2 index-page5index-page3 index-page6

Page 29: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page0

page0

page1

page2

page3

page4

page5

SELECT SUM(val) FROM AQ1 Q1

Page 30: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page0

page1

page2

page0

page1

page2

page3

page4

page5

SELECT SUM(val) FROM AQ1

Q1

Page 31: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page1

page2

page0

page1

page2

page3

page4

page5

SELECT SUM(val) FROM AQ1

Q1page3

Page 32: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page1

page2

page0

page1

page2

page3

page4

page5

SELECT SUM(val) FROM AQ1

SELECT AVG(val) FROM AQ2

Q1page3

Q2

Page 33: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page1

page2

page0

page1

page2

page3

page4

page5

SELECT SUM(val) FROM AQ1

SELECT AVG(val) FROM AQ2

Q1page3 Q2

Page 34: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page0

page1

page2

page3

page4

page5

SELECT SUM(val) FROM AQ1

SELECT AVG(val) FROM AQ2

Q1

page3

Q2

page4

page5

Page 35: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page0

page1

page2

page3

page4

page5

SELECT SUM(val) FROM AQ1

SELECT AVG(val) FROM AQ2

page3

Q2

page4

page5

Page 36: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page0

page1

page2

page0

page1

page2

page3

page4

page5

SELECT SUM(val) FROM AQ1

SELECT AVG(val) FROM AQ2

Q2

Page 39: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page1

page3

page4 page2

ref=0

ref=0

ref=0

ref=0

Page 40: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page1

page3

page4 page2

ref=1

ref=0

ref=0

ref=0

Page 41: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page1

page3

page4 page2

ref=1

ref=0

ref=0

ref=0

Page 42: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page1

page3

page4 page2

ref=0

ref=0

ref=0

ref=0

Page 43: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page1

page3

page4 page2

ref=0

ref=0

ref=0

ref=0

X

Page 44: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page1

page3

page4 page2

ref=0

ref=0

ref=1

ref=1page5

Page 45: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page1

page3

page4 page2

ref=0

ref=0

ref=0

ref=0page5

Page 46: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

→→

page1

page3

page4 page2

ref=0

ref=0

ref=0

ref=0page5

X

Page 48: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page0

page0

page1

page2

page3

page4

page5

SELECT * FROM A WHERE id = 1Q1Q1

Page 49: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page0

page0

page1

page2

page3

page4

page5

SELECT * FROM A WHERE id = 1Q1

SELECT AVG(val) FROM AQ2Q2

Page 50: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page0

page1

page2

page0

page1

page2

page3

page4

page5

SELECT * FROM A WHERE id = 1Q1

SELECT AVG(val) FROM AQ2

Q2

Page 51: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page1

page2

page0

page1

page2

page3

page4

page5

SELECT * FROM A WHERE id = 1Q1

SELECT AVG(val) FROM AQ2

page3 Q2

SELECT * FROM A WHERE id = 1Q3

Q2

Page 52: CMU 15-445/645 Database Systems (Fall 2017) :: Buffer Pools · frame1 frame2 frame3 frame4 page1 page3 page1 page2 page3 page4

page1

page2

page0

page1

page2

page3

page4

page5

SELECT * FROM A WHERE id = 1Q1

SELECT AVG(val) FROM AQ2

page3 Q2

SELECT * FROM A WHERE id = 1Q3

Q2