database technology topic 7: data structures for …tddd37/fo/dbtechnology07-2017.pdf · allocating...
TRANSCRIPT
![Page 2: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/2.jpg)
2Database TechnologyTopic 7: Data Structures for Databases
Database System
![Page 3: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/3.jpg)
Storage Hierarchy
![Page 4: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/4.jpg)
4Database TechnologyTopic 7: Data Structures for Databases
Traditional Storage Hierarchy
CPU
• Cache memory• Main memory
• Disk• Tape
Primary storage(fast, small, expensive, volatile,accessible by CPU)
Secondary storage(slow, big, cheap, permanent, inaccessible by CPU)
![Page 5: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/5.jpg)
5Database TechnologyTopic 7: Data Structures for Databases
Magnetic Disk
![Page 6: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/6.jpg)
6Database TechnologyTopic 7: Data Structures for Databases
Properties of Using Magnetic Disks
● Formatting divides the hard-codedsector into equal-sized blocks– Block is the unit of data transfer
between disk and main memory– Typical block sizes: 512 – 8192 bytes
● Read/write from/to disk is a major bottleneck!
– CPU instruction: ca. 1 ns (10–9 secs)– Main memory access: ca. 10 ns (10–8 secs)– Disk access: ca. 1 ms (1M ns, 10–3 secs)
R/W time = seek time + rotational delay + block transfer (search track) (search block) time
12–60 ms
![Page 7: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/7.jpg)
Files and Records
![Page 8: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/8.jpg)
8Database TechnologyTopic 7: Data Structures for Databases
Terminology
● Data stored in files● File is a sequence of records● Records are allocated to file blocks● Record is a set of field values● For instance,
– File = relation– Record = row– Field = attribute value
![Page 9: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/9.jpg)
9Database TechnologyTopic 7: Data Structures for Databases
Blocking Factor
● Blocking factor (bfr) is the number of records per block
● Assume– r is the number of records in a file,– R is the size of a record, and– B is the block size in bytes,
then:
● Blocks needed to store the file:
● Space wasted per block = B – bfr * R
bfr=⌊ BR ⌋
b=⌈r
bfr⌉
![Page 10: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/10.jpg)
10Database TechnologyTopic 7: Data Structures for Databases
Spanned Records
… avoid wasting space
block i record 1 record 2 wasted
block i record 1 record 2 rec.3 p
block i+1 rec.3 record 4 record 5
block i+1 record 3 record 5 wasted
Unspanned
Spanned
![Page 11: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/11.jpg)
11Database TechnologyTopic 7: Data Structures for Databases
Allocating File Blocks on Disk
● Contiguous allocation: file blocks allocated consecutively (one after another)– Fast sequential access, but expanding is difficult
● Linked allocation: each file block contains a pointer to the next one– Expanding the file is easy, but reading is slower
● Linked clusters allocation: hybrid of the two above– i.e., linked clusters of consecutive blocks
● Indexed allocation: index blocks contain pointers to the actual file blocks
![Page 12: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/12.jpg)
File Organization
(Organizing Records in Files)
![Page 13: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/13.jpg)
13Database TechnologyTopic 7: Data Structures for Databases
Heap Files
● Records are added to the end of the file
● Adding a record is cheap
● Retrieving, removing, and updating a recordis expensive because it implies linear search– Average case: block accesses– Worst case: b block accesses
(recall, b is the number of blocks of the file)
● Record removal also implies waste of space– Periodic reorganization
⌈b2⌉
![Page 14: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/14.jpg)
14Database TechnologyTopic 7: Data Structures for Databases
Sorted Files
● Records ordered according to some field
● Ordered record retrieval is cheap (i.e., onthe ordering field, otherwise expensive)– All the records: access the blocks sequentially– Next record: probably in the same block– Random record: binary search; hence,
block accesses in the worst case
● Adding a record is expensive, but removingis less expensive (deletion markers andperiodic reorganization)
⌈ log2 b⌉
![Page 15: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/15.jpg)
15Database TechnologyTopic 7: Data Structures for Databases
Binary Search
![Page 16: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/16.jpg)
16Database TechnologyTopic 7: Data Structures for Databases
Internal Hashing
● Choose a field of the records to be the hash field● Applying hash function h to the value x of the hash
field returns the position of the record in the file– e.g., h( x ) = x mod r
(recall, r is the number of records in the file)
● Collision: different field values hash to same position
● Solutions to deal with collisions (collision resolution):– Check subsequent positions until one is empty– Use a second hash function– Put the record in an overflow area and link it
![Page 17: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/17.jpg)
17Database TechnologyTopic 7: Data Structures for Databases
External Hashing
● Hashing for disk files● Applying hash function to the value of the hash field
returns a bucket number (instead of a position)– Bucket: one or several contiguous disk blocks– Table converts bucket number into address of block
● Collisions are typically resolved via overflow area
● Cheapest random retrieval (when searching for equality)
● Ordered record retrieval is expensive
![Page 18: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/18.jpg)
Indexes
(Secondary Access Methods)
![Page 19: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/19.jpg)
19Database TechnologyTopic 7: Data Structures for Databases
Overview
● Seen so far: file organization– Analogous to organization of books into chapters,
sections, etc.– Determines primary method to access data in a file
● e.g., sequential search, binary search● Now: index structures
– Allow for secondary access methods– Analogous to the index of a book– Goal: speed up access under specific conditions– Outline:
1) Single-level ordered indexes (primary, secondary, and clustering indexes)
2) Multilevel indexes3) Dynamic multilevel indexes (B+-trees)
![Page 20: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/20.jpg)
Single-Level Ordered Indexes
![Page 21: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/21.jpg)
21Database TechnologyTopic 7: Data Structures for Databases
Primary Index
● Assumptions:– Data file is sorted– Ordering field F is a key
● Primary index: an additional sorted file whose records contain two fields:
V - one of the values of FP - pointer to a disk block of the data file
● One index record (V,P) per data block such thatthe first data record in the data block pointed toby P has V as the value of the ordering key F
![Page 22: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/22.jpg)
22Database TechnologyTopic 7: Data Structures for Databases
Primary Index (cont'd)
● Why is it faster to access a random record via abinary search in the index than in the data file?– Number of index records << number of data records– Index records smaller than data records (i.e., higher
blocking factor for the index file than for the data file)
● What is the cost of maintaining a primary index?(if the order of the data records changes)
![Page 23: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/23.jpg)
23Database TechnologyTopic 7: Data Structures for Databases
Clustering Index
● Assumptions:– Data file is sorted– Ordering field F is
not a key (hence,we cannot assumedistinct values)
● Clustering index: additional sorted file whose records contain two fields:
V - one of the values of FP - pointer to a disk block of the data file
● One index record (V,P) for each distinct value V ofthe ordering field F such that P points to the first data block in which V appears
![Page 24: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/24.jpg)
24Database TechnologyTopic 7: Data Structures for Databases
Clustering Index
● Efficiency gain?● Maintenance cost?
![Page 25: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/25.jpg)
25Database TechnologyTopic 7: Data Structures for Databases
Secondary Indexes on Key Field
● Index on a non-ordering key field F– Data file may be sorted or not
● Secondary index: additional sorted file whose records contain two fields:
V - one of the values of F P - pointer to a disk block of the data file
● One index recordper data record
![Page 26: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/26.jpg)
27Database TechnologyTopic 7: Data Structures for Databases
Secondary Indexes on Non-Key
● Index on a non-ordering non-key field
![Page 27: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/27.jpg)
28Database TechnologyTopic 7: Data Structures for Databases
Summary of Single-Level Indexes
Index field used for ordering the data file
Index field not used for ordering the data file
Index field is key Primary index Secondary index (key)
Index field is not key Clustering index Secondary index (non-key)
Type of index Number ofindex entries
Primary Number of blocks in data file
Clustering Number of distinctindex field values
Secondary(key)
Number of recordin data file
Secondary(non-key)
Number of recordsor number of distinct index field values
![Page 28: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/28.jpg)
Multilevel Indexes
![Page 29: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/29.jpg)
30Database TechnologyTopic 7: Data Structures for Databases
Multilevel Indexes
● Index on index (first level, second level, etc.)
● Works for primary, clustering, and secondaryindexes as long as the first-level index hasa distinct index value for every entry
● How many levels?– Until the last level fits
into a single disk block
● How many disk block accessesto retrieve a random record?– Number of index levels + 1
![Page 30: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/30.jpg)
33Database TechnologyTopic 7: Data Structures for Databases
Multilevel Indexes (cont'd)
● When using a (static) multilevel index, record insertion, deletion, and update may be expensive because all the index levels are sorted files
● Solutions:– Overflow area + periodic reorganization– Dynamic multilevel indexes that leave
some space in index blocks for newentries (e.g., B-trees and B+-trees)
![Page 31: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/31.jpg)
Dynamic Multilevel Indexes
(B-Trees and B+-Trees)
![Page 32: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/32.jpg)
35Database TechnologyTopic 7: Data Structures for Databases
Search Trees
● Used to guide the search for a record– Generalization of binary search
● Nodes of a search tree of order p look like:
– q ≤ p– Every Ki is a key value– Every Pi is a tree pointer to a subtree (or a null pointer)– Within each node: K1 < K2 < … < Kq–1 – For every value X in the subtree: Ki–1 < X < Ki
![Page 33: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/33.jpg)
36Database TechnologyTopic 7: Data Structures for Databases
B-Trees
● B-tree is a variant of a balanced search tree– Balanced: all leaf nodes are at the same
level (Why is this good?)
● Additional constraints:– In addition to a tree pointer Pi, each key value Ki
is associated with a data pointer Pri to the recordwith value Ki
– Each internal node must have at least treepointers (i.e., is at least half full)
⌈p2
⌉
![Page 34: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/34.jpg)
37Database TechnologyTopic 7: Data Structures for Databases
B+-Trees
● Variation of B-trees, most commonly used
● In contrast to a B-tree, in a B+tree the leaf nodesare different from the internal nodes; that is:– Internal nodes have key values and tree
pointers only (no data pointers)– Leaves have key values and data pointers– Usually, each leaf node additionally has a
pointer to the next leaf to allow for orderedaccess (much like a linked list)
● Every key value is present in one of the leaves● Of course, B+-trees are balanced
![Page 35: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/35.jpg)
38Database TechnologyTopic 7: Data Structures for Databases
Internal Nodes of a B+-Tree
● q ≤ p (where p is the order of the B+-tree)● Every Ki is a key value, every Pi is a tree pointer● Within each node: K1 < K2 < … < Kq–1 ● For every value X in the subtree: Ki–1 < X ≤ Ki ● Every internal node (except the root) has at least
tree pointers⌈p2
⌉
![Page 36: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/36.jpg)
39Database TechnologyTopic 7: Data Structures for Databases
Leaf Nodes of a B+-Tree
K1 Pr1 Ki Pr i Kq Prq P……
● q ≤ p (where p is the order for leaf nodes of the B+-tree)
● Every Ki is a key value
● Every Pri is a data pointer to the record with key value Ki
● P is a pointer to the next leaf node
● Within each node: K1 < K2 < … < Kq
● Every leaf node has at least key values⌈p2
⌉
![Page 37: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/37.jpg)
40Database TechnologyTopic 7: Data Structures for Databases
Retrieval of Records in a B+-Tree
● Very fast retrieval of a random record, at worst:– p is the order of the internal nodes– N is the number of leaf nodes
● How wouldthe retrievalproceed?
⌈ log⌈p2⌉N ⌉+1
![Page 38: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/38.jpg)
41Database TechnologyTopic 7: Data Structures for Databases
B+-Tree Insertion
![Page 39: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/39.jpg)
42Database TechnologyTopic 7: Data Structures for Databases
B+-Tree Insertion
![Page 40: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/40.jpg)
43Database TechnologyTopic 7: Data Structures for Databases
B+-Tree Insertion
![Page 41: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/41.jpg)
44Database TechnologyTopic 7: Data Structures for Databases
B+-Tree Insertion
![Page 42: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/42.jpg)
45Database TechnologyTopic 7: Data Structures for Databases
B+-Tree Insertion
![Page 43: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/43.jpg)
46Database TechnologyTopic 7: Data Structures for Databases
B+-Tree Insertion
![Page 44: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/44.jpg)
47Database TechnologyTopic 7: Data Structures for Databases
B+-Tree Insertion
![Page 45: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/45.jpg)
48Database TechnologyTopic 7: Data Structures for Databases
B+-Tree Insertion
![Page 46: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/46.jpg)
49Database TechnologyTopic 7: Data Structures for Databases
B+-Tree Insertion
![Page 47: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/47.jpg)
Summary
![Page 48: Database Technology Topic 7: Data Structures for …TDDD37/fo/DBTechnology07-2017.pdf · Allocating File Blocks on Disk Contiguous allocation: file blocks allocated ... insertion,](https://reader031.vdocuments.us/reader031/viewer/2022021818/5aa801607f8b9aca258b45a9/html5/thumbnails/48.jpg)
52Database TechnologyTopic 7: Data Structures for Databases
Summary
● Storage hierarchy– Accessing disk is major bottleneck
● Organizing records in files– Heap files, sorted files, hash files
● Indexes– Additional sorted files that provide
efficient secondary access methods● Primary, secondary, and clustering indexes● Multilevel indexes
– Retrieval requires reading fewer blocks● Dynamic multilevel indexes
– Leave some space in index blocks for new entries– B-tree and B+-tree