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?