>>
Storage Management
• Storage Management
• Storage Technology
• Views of Data in Query Evaluation
• Storage Management
• Cost Models
COMP9315 21T1 ♢ Storage Management ♢ [0/10]
∧ >>
❖ Storage Management
Lowest levels of DBMS related to storage management:

COMP9315 21T1 ♢ Storage Management ♢ [1/10]
<< ∧ >>
❖ Storage Technology
Persistent storage is
• large, cheap, relatively slow, accessed in blocks
• used for long-term storage of data
Computational storage is
• small, expensive, fast, accessed by byte/word
• used for all analysis of data
Access cost HDD:RAM ≅ 100000:1, e.g.
• 10ms to read block containing two tuples
• 1µs to compare fields in two tuples
COMP9315 21T1 ♢ Storage Management ♢ [2/10]
<< ∧ >>
❖ Storage Technology (cont)
Hard disk drives (HDD) are well-established, cheap, high-volume, …
• spinning magnetic medium
• access requires moving r/w head to position
• transfers blocks of data (e.g. 1KB)
Latency: move to track + spin to block = ~10ms (avg)
Volume: one HDD can store up to 20TB (typically 4TB/8TB/…)
Summary: very large, persistent, slow, block-based transfer
COMP9315 21T1 ♢ Storage Management ♢ [3/10]
<< ∧ >>
❖ Storage Technology (cont)
Solid state drives (SSD) are modern, high-volume devices …
• faster than HDDs, no latency
• can read single items
• update requires block erase then write
• over time, writes “wear out” blocks
• require controllers that spread write load
Volume: one SSD can store up to 8TB (typically 1TB/2TB/…)
Summary: large, persistent, fast, (partly) block-based transfer
COMP9315 21T1 ♢ Storage Management ♢ [4/10]
<< ∧ >>
❖ Storage Technology (cont)
Comparison of storage device properties:
RAM
HDD
SDD
Capacity
~ 32GB
~ 8TB
~ 2TB
Cost/byte
~ $10 / GB
~ $40 / TB
~ $200 / TB
Read latency
~ 1µs
~ 10ms
~ 50µs
Write latency
~ 1µs
~ 10ms
~ 900µs
Read unit
byte
block (e.g. 1KB)
byte
Writing
byte
write a block
write on empty block
COMP9315 21T1 ♢ Storage Management ♢ [5/10]
<< ∧ >>
❖ Storage Technology (cont)
Aims of storage management in DBMS:
• provide view of data as collection of pages/tuples
• map from database objects (e.g. tables) to disk files
• manage transfer of data to/from disk storage
• use buffers to minimise disk/memory transfers
• interpret loaded data as tuples/records
• basis for file structures used by access methods
COMP9315 21T1 ♢ Storage Management ♢ [6/10]
<< ∧ >>
❖ Views of Data in Query Evaluation

COMP9315 21T1 ♢ Storage Management ♢ [7/10]
<< ∧ >>
❖ Views of Data in Query Evaluation (cont)
Representing database objects during query execution:
• DB (handle on an authorised/opened database)
• Rel (handle on an opened relation)
• Page (memory buffer to hold contents of disk block)
• Tuple (memory holding data values from one tuple)
Addressing in DBMSs:
• PageID = FileID+Offset … identifies a block of data
◦ where Offset gives location of block within file
• TupleID = PageID+Index … identifies a single tuple
◦ where Index gives location of tuple within page
COMP9315 21T1 ♢ Storage Management ♢ [8/10]
<< ∧ >>
❖ Storage Management
Topics in storage management …
• Disks and Files
◦ performance issues and organisation of disk files
• Buffer Management
◦ using caching to improve DBMS system throughput
• Tuple/Page Management
◦ how tuples are represented within disk pages
• DB Object Management (Catalog)
◦ how tables/views/functions/types, etc. are represented
COMP9315 21T1 ♢ Storage Management ♢ [9/10]
<< ∧
❖ Cost Models
Throughout this course, we compare costs of DB operations
Important aspects in determining cost:
• data is always transferred to/from disk as whole blocks (pages)
• cost of manipulating tuples in memory is negligible
• overall cost determined primarily by #data-blocks read/written
Complicating factors in determining costs:
• not all page accesses require disk access (buffer pool)
• tuples typically have variable size (tuples/page ?)
More details later ...
COMP9315 21T1 ♢ Storage Management ♢ [10/10]
Produced: 17 Feb 2021