Professional Documents
Culture Documents
DBMS Architecture
Sept. 6 2006
ChengXiang Zhai
Query Rewriter
Storage
CS511 Advanced Database Management Systems 3
A Design Dilemma
• To what extent should we reuse OS services?
• Reuse as much as we can
– Performance problem (inefficient)
– Lack of control (incorrect crash recovery)
• Physical contiguity:
– large DB files want clustering of blocks
– extent: larger granularity allocation unit
• sol1: managing raw disks by DBMS
• sol2: simulate by managing free spaces in DBMS
• Examples?
– how about sort-merge join??
• Examples?
• 1986-1994: POSTGRES
– among the first object-relational DB implementation
Illustra acauqired by Informix
– PostgreSQL (the SQL version)
– ? why?
• Extensible ADTs
• Programming-language constructs
• OODBMS:
– OO PL + database features (persistent objects)
– programming-based
• ADT constructs:
– types
– functions
• Binary operators
– “hints” to provide semantics
– extensible access methods
• extensible B+tree or user-defined index
• PostQuel procedures
– parameterized queries as functions
– e.g.: sal-lookup(name):
retrieve Emp.salary where Emp.name = name
• From “day 1”, high efficiency has been the primary challenge/concern in
designing and implementing a DBMS; reliability may be the second major
concern
– In contrast, “accuracy of answers” is at least as important as efficiency
for a Web search engine
– In the future, accuracy of answers will likely become more important