Académique Documents
Professionnel Documents
Culture Documents
Yong Yao
CS632
April 17, 2001
Content
Introduction
Michael Stonebraker: Inclusion of New Types in
Relational Data Base Systems.
Michael Stonebraker, Greg Kemnitz: The Postgres
Next Generation Database Management System.
PREDATOR System Design Document: A detailed
description of internal design decisions and
implementation details.
Introduction
The relational model
Dominant mainstream approach
Work well on business data processing
But things have changed drastically,
nontraditional problems.
Taxonomy of DBMS Application
Yes
No
Use SQL
data Simple Complex
complexity
Simple data
Yes Relational
DBMS
No File
System
Use SQL
data Simple Complex
complexity
OODBMS
Use SQL
data Simple Complex
complexity
Features
Base type extension
Inheritance
Complex object
Inclusion of New Types in Relational
Database Systems
Michael Stonebraker
EECS Dept.
University of California, Berkeley
Example
Represent a set of boxes in the DBMS and a simple query- find
all the boxes that overlap the unit square(0,1,0,1).
RDBMS:
Create box(id=i4, x1=f8, x2=f8,y1=f8,y2=f8)
select *
from box
where ! (box.x2<=0 or box.x1>=1 or box,y2<=0 or
box.y1>=1)
select *
from box
where box.desc!!0,1,0,1
<= is required
Type: specific type, fixed, variable, fix-var, type1, type2
New set of operators (B-tree)
Michael Stonebraker
Greg Kemnitz
Three kinds of services for DBMS
Traditional data management
Simple data type
Object management
Complex data types, e.g. bitmaps, icons, text
Knowledge management
Store and enforce a collection of rules
Example- newspaper layout
store and manipulate text and graphics, Bill
customers for advertisement.
SALESMAN
Three kinds of classes
Real class: instances are stored in the database
Derived class :view
Version: store differential relative to its base class
Initially has all instances of the base class
Freely updated to diverge from the base class
Updates to the version do not affect the base class
Updates to the base class are reflected in the version
Supported by the rule system
Version Example
create version my-EMP from EMP
overpaid(EMP)
overpaid(SALESMAN)
Functions
Operators
Utilize index
Functions with one or two operands
{ALT, ALE, AE, AGT, AGE}
Allow new access methods
POSTQUEL functions
Any collection of commands in the POSTQUEL
Define function high-pay returns EMP as
Retrieve (EMP.all)
Where EMP.salary>50000
POSTQUEL
Set-oriented query language
Support nested queries
Transitive closure
Support for inheritance
Support for time travel
Allow a user to run historical query
retrieve (EMP.salary)
from EMP [T]
where EMP.name=Sam
Maintain two different physical collections of records
Vacuum cleaner: a daemon moves records
The Rules System
Requirements:
referential integrity
View management
Triggers
Integrity constraints
Protection
Version control
Design a general purpose rules system
Syntax of rules
ON event (TO) object WHERE on new EMP.salary where
POSTQUEL-qualification EMP.name=Fred
THEN DO [instead] then do replace
POSTQUEL-command(s) E (salary=new.salary)
from E in EMP
where E.name=Joe
PARVEEN SESHADRI
System overview
A client-server database system
Goal: Extensibility - adding the ability to
process new kinds of data
Basic components
Extensible table of Enhanced Abstract Data Type
(E-ADTs)
Extensible table of query processing
engines(QPEs)
Server Architecture
TEXT CLIENT
Ts RE
E -AD L AT
R
HE IO
OT N
EN
G IN
D S SC E
OR HE
C M
RE AS
T
DISK STORAGE
D
RECOVERY
E-A
GE
SHORE LIBRARY
THREAD SUPPORT
SOCKET SUPPORT
IMA
BUFFER XACTS
MGMT
BA
ES
SIC
IN
CONCURRENCY S
V
NG
ON
AD
AL
SI
RE
S
U
T
E
ES
PR
s
HE
EX
OT
REL
ATI
O NE
-AD
T
WEB CLIENT
UTILITY LAYER
Enhanced Data Types
Standard ADT
Specify the storage format for values
Specify methods that can be invoked on values
Specify how some methods can be matched using
indexes
Motivation: methods can be very expensive
Data.image.sharpen().clip()
Improvement
Data.image.sharpen().clip()
It is unnecessary for Sharpen to compress and write
Find more at :
The Case for Enhanced Abstract Data Types.
VLDB 1997
Thank You