ppt - Spatial Database Group

Download Report

Transcript ppt - Spatial Database Group

Chapter 3
Data Storage and Access Methods
Title: Operating Systems Support for Database Management
Author: Michael Stonebraker
Pages: 217 – 223
Group 01: Esten Rye, DJ Oneil
Overview



Problem Definition
Motivation – Why is this Important?
Key concepts







Buffer Pool Management
The File System
Process Scheduling, Management, Inter-process
Communication
Consistency Control and Virtual Page File
Validation
Assumptions
Rewrite
Problem Statement

Given



Objective


Examine applicability of OS services to the support of DBMS
functions.
Find


Operating System Services – buffer pool management, file
system, scheduling, etc…
Database Management Functions – concurrency, persistence,
performance, query, etc…
Apparent disconnect between DBMS performance goals and OS
design and implementation.
Constraints

OS Services must as reliable as DBMS functions
Why is this Important?

Current Database Management Systems



Usually provide their own versions of OS services.
Make little use of those provided by the OS.
Current Operating Systems


Many services provided by the OS are too slow or
inappropriate.
Many OS designers are insensitive to DBMS needs.
Buffer Pool Management

Blocks with a locality of reference remain in
cache over repeated reads and writes.

Problems with OS-provided service



Performance Overhead
LRU Replacement performs marginally in a database
environment.
Does not guarantee the intentions list and commit flag
will be pushed to disk in the proper order.
The File System
Two Approaches

Character arrays of dynamically varying size.



File system provided by UNIX
DBMS can provide whatever abstraction it needs on
top of this.
Record management system inside the OS.


DBMS wants this approach.
Not always efficient when constructed on top of a
character array object.
The File System
Problems and Limitations

Character Array is not a useful object to a DBMS
 Tree Structured File Systems




UNIX implements 2 services using trees
DBMS adds a third tree to support keyed access
One tree with all 3 kinds of information is more
efficient.
OS designers should provide DBMS facilities as
lower level objects.
Scheduling, Process Management,
and Interprocess Communication

Performance



Critical Sections



Task switches are inevitable
Task switches are expensive
Buffer pool is a shared data segment.
De-Scheduling a lock-holding DB process causes
problems.
Server model


Multi-Tasking Server
First-Come-First-Serve Server
Consistency Control and
Paged Virtual Memory

Consistency Control




Buffer manager cannot be immune from knowledge of
transactions.
Buffer manager must maintain its own intentions list
OS functions are duplicated.
Paged Virtual Memory


Possibility of 2 page faults per I/O request
Same problems the buffer pool management has.
Validation

Content is mostly informational.

Based off previous papers and existing
implementations of current systems.

Examples are cited primarily from the UNIX OS
and the Ingres DBMS.

Issues could be biased and may not be common
or applicable to all OS and DBMS combinations.
Assumptions

Presents the topic as one that is applicable to
across a number of DBMS and OS

Author constrains his examples to UNIX and
Ingres.

Paper was written in 1981. Operating Systems
have advanced considerably since then. His
points may no longer be applicable.
Changes if Rewritten Today

Increase the diversity of OS and DBMS

Add industry perspective.
Are the problems Stonebraker presents really a
problem for DBMS designers?

Quantify claims by providing statistical analysis
of performance hits.
Questions?