SELECT * FROM rentals WHERE customer_id = 2372
AND return_date < NOW() AND returned = false;
SELECT * FROM rentals* WHERE customer_id = 2372
AND return_date < NOW() AND returned = false;
Accessing the database
Slide 28
Slide 28 text
Dropping a schema
movies
rentals
customers customers*
rentals*
Slide 29
Slide 29 text
movies
rentals
customers customers*
rentals*
Dropping a schema
Slide 30
Slide 30 text
movies
customers*
rentals*
Dropping a schema
Slide 31
Slide 31 text
movies
customers*
rentals*
Schema: 80bfa11
Dropping a schema
Slide 32
Slide 32 text
Early evaluation
Slide 33
Slide 33 text
#1 Blocking DDL statements
Avoids using blocking DDL
statements, since all affected
tables are recreated from
scratch.
Slide 34
Slide 34 text
#2 Mixed-State
Tables from other database
schemas are hidden from the
web service.
Supported Operations
SUPPORTED
ADD COLUMN
ALTER COLUMN
DROP COLUMN
CREATE TABLE
COPY TABLE
RENAME TABLE
DROP TABLE
ADD FOREIGN KEY
DROP FOREIGN KEY
NOT YET SUPPORTED
CREATE INDEX
DROP INDEX
ADD CHECK CONSTRAINT
DROP CHECK CONSTRAINT
DECOMPOSE TABLE *
JOIN TABLE *
MERGE TABLE *
PARTITION TABLE *
* Update Rewriting and Integrity Constraint Maintenance
in a Schema Evolution Support System: PRISM++, C. A. Curino et al. (2010)
Slide 39
Slide 39 text
I/O Limitations
Copying data is limited by disk
I/O. We could actively throttle
this based on some metric.
Slide 40
Slide 40 text
Novelty
• Support complex schema
changes on multiple tables.
• Maintain referential integrity.
• Multiple database schemas
can be used in parallel.