CS 245 Database System Principles - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

CS 245 Database System Principles

Description:

Example b=4 bits, i =2, 2 keys/bucket. 00 01 10 11. 0101. 0000. m = 01 (max used block) ... Example: BAD CASE. Very full. Very empty Need to move. m here... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 28
Provided by: ZoltanG2
Category:

less

Transcript and Presenter's Notes

Title: CS 245 Database System Principles


1
CPSC-608 Database Systems
Fall 2009
Instructor Jianer Chen Office HRBB 309B Phone
845-4259 Email chen_at_cs.tamu.edu
Notes 9
2
Linear hashing
  • Another dynamic hashing scheme

3
Example b4 bits, i 2, 2 keys/bucket
Future growth buckets
0101
0000
1111
1010
  • 00 01 10 11

m 01 (max used block)
4
Example b4 bits, i 2, 2 keys/bucket
Future growth buckets
0101
0000
1111
1010
  • 00 01 10 11

m 01 (max used block)
4
5
Example b4 bits, i 2, 2 keys/bucket
Future growth buckets
0101
0000
  • 00 01 10 11

m 01 (max used block)
6
Example b4 bits, i 2, 2 keys/bucket
Future growth buckets
0101
0000
1111
1010
  • 00 01 10 11

m 01 (max used block)
6
7
Example b4 bits, i 2, 2 keys/bucket
  • insert 0101

0101
  • can have overflow chains!

Future growth buckets
0101
0000
1111
1010
  • 00 01 10 11

m 01 (max used block)
8
Note
  • In textbook, n is used instead of m
  • nm1

n10
Future growth buckets
0101
0000
1111
1010
00 01 10 11
m 01 (max used block)
9
Example b4 bits, i 2, 2 keys/bucket
Future growth buckets
0101
0000
1111
1010
  • 00 01 10 11

m 01 (max used block)
10
10
Example b4 bits, i 2, 2 keys/bucket
Future growth buckets
0101
0000
1010
1111
1010
  • 00 01 10 11

m 01 (max used block)
10
11
Example b4 bits, i 2, 2 keys/bucket
Future growth buckets
0101
0000
1010
1111
1010
  • 00 01 10 11

m 01 (max used block)
10
12
Example b4 bits, i 2, 2 keys/bucket
Future growth buckets
0101
0000
1010
1111
1010
  • 00 01 10 11

m 01 (max used block)
10
11
13
Example b4 bits, i 2, 2 keys/bucket
Future growth buckets
0101
0000
1010
1111
0101
1111
1010
  • 00 01 10 11

m 01 (max used block)
10
11
14
Example Continued How to grow beyond this?
i 2
1111
1010
0101
0000
0101
  • 00 01 10 11

. . .
m 11 (max used block)
15
Example Continued How to grow beyond this?
i 2
1111
1010
0101
0000
0101
  • 00 01 10 11

0
0
0
0
100 101 110 111
m 11 (max used block)
16
Example Continued How to grow beyond this?
i 2
1111
1010
0101
0000
0101
100
  • 00 01 10 11

0
0
0
0
. . .
100 101 110 111
m 11 (max used block)
100
17
Example Continued How to grow beyond this?
i 2
3
1111
1010
0101
0000
0101
100
  • 00 01 10 11

0
0
0
0
. . .
100 101 110 111
m 11 (max used block)
100
17
18
Example Continued How to grow beyond this?
i 2
3
0101
1111
1010
0101
0000
0101
0101
101
100
  • 00 01 10 11

0
0
0
0
. . .
100 101 110 111
m 11 (max used block)
100
101
19
? When do we expand file?
  • Keep track of used slots
  • total of slots

U
  • If U gt threshold then increase m
  • (and maybe i )

20
Linear Hashing
Summary
  • Can handle growing files
  • - with less wasted space
  • - with no full reorganizations
  • No indirection like extensible hashing



21
Example BAD CASE
  • Very full
  • Very empty Need to move
  • m here
  • Would waste
  • space

22
Summary
  • Hashing
  • - How it works
  • - Dynamic hashing
  • - Extensible
  • - Linear

23
Next
  • Indexing vs. hashing
  • Index definition in SQL
  • Multiple key access

24
Indexing vs. Hashing
  • Hashing good for probes given key
  • e.g., SELECT
  • FROM R
  • WHERE R.A 5

25
Indexing vs. Hashing
  • INDEXING (including B-trees) good for
  • range searches
  • e.g., SELECT
  • FROM R
  • WHERE R.A gt 5

26
Index definition in SQL
  • Create index name on rel (attr)
  • Drop INDEX name

27
  • CANNOT SPECIFY TYPE OF INDEX
  • (e.g. B-tree, hashing, )
  • OR PARAMETERS
  • (e.g. load factor, size of hash, )
  • at least not in SQL

Note
Write a Comment
User Comments (0)
About PowerShow.com