Chapter 4 - Storage Final

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 22

Classification of Physical Storage Media

• Speed with which data can be accessed


• Cost per unit of data
• Reliability
– Data loss on power failure or system crash
– Physical failure of the storage device
• Can differentiate storage into:
– Volatile storage: loses contents when power is
switched off
– Non-volatile storage:
• Contents persist even when power is switched off
• Includes secondary and tertiary storage as well as battery-
backed up main-memory.
Physical Storage Media
• Cache
• Main memory
• Flash memory
• Magnetic-disk
• Optical storage
• Tape storage
Storage Hierarchy
• Primary storage: Fastest media but volatile
(cache, main memory).
• Secondary storage: next level in hierarchy, non-
volatile, moderately fast access time
– also called on-line storage
– E.g. flash memory, magnetic disks
• Tertiary storage: lowest level in hierarchy, non-
volatile, slow access time
– also called off-line storage
– E.g. magnetic tape, optical storage
Magnetic Hard Disk Mechanism

NOTE: Diagram is schematic and simplifies the structure of actual


disk drives
Performance Measures of Disks
• Access time – the time it takes from when a read or write request is
issued to when data transfer begins. Consists of:
– Seek time – time it takes to reposition the arm over the correct
track.
• Average seek time is 1/2 the worst case seek time.
• 4 to 10 milliseconds on typical disks
– Rotational latency – time it takes for the sector to be accessed to
appear under the head.
• Average latency is 1/2 of the worst case latency.
• 4 to 11 milliseconds on typical disks (5400 to 15000 r.p.m.)
• Data-transfer rate – the rate at which data can be retrieved from or
stored to the disk.
– 25 to 100 MB per second max rate, lower for inner tracks
• E.g. SATA: 150 MB/sec, SATA-II 3Gb (300 MB/sec)
• Ultra 320 SCSI: 320 MB/s, SAS (3 to 6 Gb/sec)
• Fiber Channel (FC2Gb or 4Gb): 256 to 512 MB/s
• Mean time to failure (MTTF) – the average time
the disk is expected to run continuously without
any failure.
– Typically 3 to 5 years
– Probability of failure of new disks is quite low,
corresponding to a
“theoretical MTTF” of 500,000 to 1,200,000 hours
for a new disk
• E.g., an MTTF of 1,200,000 hours for a new disk means
that given 1000 relatively new disks, on an average one
will fail every 1200 hours
– MTTF decreases as disk ages
Optimization of Disk-Block Access
• Block – a contiguous sequence of sectors from a single track
– data is transferred between disk and main memory in blocks
– sizes range from 512 bytes to several kilobytes
• Smaller blocks: more transfers from disk
• Larger blocks: more space wasted due to partially filled blocks
• Typical block sizes today range from 4 to 16 kilobytes
• Disk-arm-scheduling algorithms order pending accesses to
tracks so that disk arm movement is minimized
– elevator algorithm
• File organization – optimize block access time
by organizing the blocks to correspond to how
data will be accessed
– E.g. Store related information on the same or nearby
cylinders
– Files may get fragmented over time
– Some systems have utilities to defragment the file
system, in order to speed up file access
• Nonvolatile write buffers speed up disk writes by writing blocks to a non-
volatile RAM buffer immediately
– Non-volatile RAM: battery backed up RAM or flash memory
• Even if power fails, the data is safe and will be written to disk when
power returns
– Controller then writes to disk whenever the disk has no other requests or
request has been pending for some time
– Database operations that require data to be safely stored before
continuing can continue without waiting for data to be written to disk
– Writes can be reordered to minimize disk arm movement
• Log disk – a disk devoted to writing a sequential log of block updates
– Used exactly like nonvolatile RAM
• Write to log disk is very fast since no seeks are required
• No need for special hardware (NV-RAM)
• File systems typically reorder writes to disk to improve performance
– Journaling file systems write data in safe order to NV-RAM or log disk
– Reordering without journaling: risk of corruption of file system data
Flash Storage
• NOR flash vs NAND flash
• NAND flash
RAID: Redundant Arrays of Independent Disks
o Disk organization techniques that manage a large
numbers of disks, providing a view of a single disk
–The chance that some disk out of a set of N disks will
fail is much higher than the chance that a specific
single disk will fail.
E.g., a system with 100 disks, each with MTTF of
100,000 hours (approx. 11 years), will have a system
MTTF of 1000 hours (approx. 41 days)
oSoftware RAID/Hardware RAID
File Organization, Record
Organization and Storage Access
File Organization
• The database is stored as a collection of files.
Each file is a sequence of records. A record is a
sequence of fields.
• One approach:
–Assume record size is fixed
–Each file has records of one particular type only
–Different files are used for different relations
Fixed-Length Records
• Simple approach:
– Store record i starting from byte n (i – 1), where n is
the size of each record.
– Record access is simple but records may cross blocks
• Deletion of record i:
alternatives:
– move records i + 1, . . ., n to i, . . . , n – 1
– move record n to i
– do not move records, but link all free records on a
free list
Deleting record 3 and compacting
Deleting record 3 and moving last record
Free Lists
• Store the address of the first deleted record in
the file header
• Use this first record to store the address of the
second deleted record, and so on
Organization of Records in Files
• Heap – a record can be placed anywhere in the file
where there is space
• Sequential – store records in sequential order, based on
the value of the search key of each record
• Hashing – a hash function computed on some attribute
of each record; the result specifies in which block of the
file the record should be placed
• Records of each relation may be stored in a separate file.
In a multitable clustering file organization records of
several different relations can be stored in the same file
– Motivation: store related records on the same block to
minimize I/O
Multitable Clustering File Organization
Store several relations in one file using a multitable clustering file
organization

department

instructor

multitable clustering
of department and
instructor
• Good for queries involving department
instructor, and for queries involving one single
department and its instructors
• Bad for queries involving only department
• Results in variable size records
• Can add pointer chains to link records of a
particular relation
Data Dictionary Storage
The Data dictionary (also called system catalog) stores metadata;
that is, data about data, such as

• Information about relations


– names of relations
– names, types and lengths of attributes of each relation
– names and definitions of views
– integrity constraints
• User and accounting information, including passwords
• Statistical and descriptive data
– number of tuples in each relation
• Physical file organization information
– How relation is stored (sequential/hash/…)
– Physical location of relation
• Information about indices
Relational Representation of System Metadata
• Relational
representati
on on disk

• Specialized
data
structures
designed for
efficient
access,in
memory
Storage Access
• A database file is partitioned into fixed-length storage
units called blocks
• Blocks are units of both storage allocation and data
transfer
• Database system seeks to minimize the number of block
transfers between the disk and memory. We can reduce
the number of disk accesses by keeping as many blocks
as possible in main memorys
• Buffer – portion of main memory available to store
copies of disk blocks.
• Buffer manager – subsystem responsible for allocating
buffer space in main memory.

You might also like