130 likes | 150 Views
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
E N D
Chapter 3Data 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 • Operating System Services – buffer pool management, file system, scheduling, etc… • Database Management Functions – concurrency, persistence, performance, query, etc… • Objective • Examine applicability of OS services to the support of DBMS functions. • Find • 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 SystemTwo 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 SystemProblems 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 • Task switches are inevitable • Task switches are expensive • Critical Sections • 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.