Lazy Type Changes in Object-oriented Database. Shan Ming Woo and Barbara Liskov MIT Lab. for Computer Science December 1999

Similar documents
Review: The ACID properties

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

Implementing Consistency -- Paxos. Some slides from Michael Freedman

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Python Programming: An Introduction to Computer Science

Avid Interplay Bundle

Multi-Threading. Hyper-, Multi-, and Simultaneous Thread Execution

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

TRANSACTION MANAGEMENT [CH 16]

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings

How do we evaluate algorithms?

The Magma Database file formats

WORKED EXAMPLE 7.1. Producing a Mass Mailing. We want to automate the process of producing mass mailings. A typical letter might look as follows:

Exercise Set: Implementing an Object-Oriented Design

Outline n Introduction n Background o Distributed DBMS Architecture

Examples and Applications of Binary Search

Weston Anniversary Fund

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Using the Keyboard. Using the Wireless Keyboard. > Using the Keyboard

Threads and Concurrency in Java: Part 1

Threads and Concurrency in Java: Part 1

Reliable Transmission. Spring 2018 CS 438 Staff - University of Illinois 1

CS200: Hash Tables. Prichard Ch CS200 - Hash Tables 1

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis

Topics. Instance object. Instance object. Fundamentals of OT. Object notation. How do objects collaborate? Pearson Education 2007 Appendix (RASD 3/e)

Data Structures Week #9. Sorting

A Very Simple Approach for 3-D to 2-D Mapping

Message Integrity and Hash Functions. TELE3119: Week4

Data diverse software fault tolerance techniques

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

DATA STRUCTURES. amortized analysis binomial heaps Fibonacci heaps union-find. Data structures. Appetizer. Appetizer

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. Projects

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Air Force Data Reference Architecture and Platform

Algorithm Design Techniques. Divide and conquer Problem

Architectural styles for software systems The client-server style

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

WYSE Academic Challenge Sectional Computer Science 2005 SOLUTION SET

quality/quantity peak time/ratio

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation

Lecture 28: Data Link Layer

CMSC Computer Architecture Lecture 3: ISA and Introduction to Microarchitecture. Prof. Yanjing Li University of Chicago

. Written in factored form it is easy to see that the roots are 2, 2, i,

Python Programming: An Introduction to Computer Science

Lecturers: Sanjam Garg and Prasad Raghavendra Feb 21, Midterm 1 Solutions

Computer Architecture ELEC3441

What does JFC stand for?

Programming with Shared Memory PART II. HPC Spring 2017 Prof. Robert van Engelen

% Sun Logo for. X3T10/95-229, Revision 0. April 18, 1998

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1

Appendix D. Controller Implementation

Session Initiated Protocol (SIP) and Message-based Load Balancing (MBLB)

Graphs. Minimum Spanning Trees. Slides by Rose Hoberman (CMU)

Goals of the Lecture UML Implementation Diagrams

6.854J / J Advanced Algorithms Fall 2008

Human-Computer Interaction IS4300

Cubic Polynomial Curves with a Shape Parameter

Lecture 2. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

MapReduce and Hadoop. Debapriyo Majumdar Data Mining Fall 2014 Indian Statistical Institute Kolkata. November 10, 2014

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

MR-2010I %MktBSize Macro 989. %MktBSize Macro

Service Oriented Enterprise Architecture and Service Oriented Enterprise

Recursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames

Chapter 2 Distributed Information Systems Architecture

Hash Tables. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015.

CIS 121. Introduction to Trees

CMSC Computer Architecture Lecture 11: More Caches. Prof. Yanjing Li University of Chicago

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem

Computer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria.

Outline. Applications of FFT in Communications. Fundamental FFT Algorithms. FFT Circuit Design Architectures. Conclusions

Chapter 5: Processor Design Advanced Topics. Microprogramming: Basic Idea

Master Informatics Eng. 2017/18. A.J.Proença. Memory Hierarchy. (most slides are borrowed) AJProença, Advanced Architectures, MiEI, UMinho, 2017/18 1

CSE 417: Algorithms and Computational Complexity

1 Enterprise Modeler

CMSC Computer Architecture Lecture 10: Caches. Prof. Yanjing Li University of Chicago

% Sun Logo for Frame. X3T10/95-229, Revision 2. September 28, 1995

Homework 1 Solutions MA 522 Fall 2017

CORD Test Project in Okinawa Open Laboratory

BAAN IVc/BaanERP. Conversion Guide Oracle7 to Oracle8

Overview. Chapter 18 Vectors and Arrays. Reminder. vector. Bjarne Stroustrup

Cache-Optimal Methods for Bit-Reversals

CS211 Fall 2003 Prelim 2 Solutions and Grading Guide

Solution printed. Do not start the test until instructed to do so! CS 2604 Data Structures Midterm Spring, Instructions:

Linked Lists 11/16/18. Preliminaries. Java References. Objects and references. Self references. Linking self-referential nodes

Evaluation of Distributed and Replicated HLR for Location Management in PCS Network

Minimum Spanning Trees

Switching Hardware. Spring 2018 CS 438 Staff, University of Illinois 1

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

n Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk

Data Structures and Algorithms. Analysis of Algorithms

Transcription:

Lazy Type Chages i Object-orieted Database Sha Mig Woo ad Barbara Liskov MIT Lab. for Computer Sciece December 1999

Backgroud wbehavior of OODB apps compose of behavior of persistet obj wbehavior of objects govered their types wtype chageseeded to update OODB apps whow to execute type chage?

Requiremets w A type chage may affect er types oth w A upgradecosists of a set ed of re type chages w Upgrades are ordered w Executio of a upgrade have to b atomic w.r.t. app trasacti os to prevet type errors

Na ve Executio w Step 1: shut dow the database w Step 2: trasform objects w Step 3: restart the database w Drawback: database availability fers su w Not suitable for large-scal e databases ad missio-critical databases w Solutio: lazy type chages

Lazy Type Chages w Objects trasformed y, lazil i.e. just before use w Database availability t affected o w Workload of a upgrade: 1. Spread effectively ver time o 2. Distributed amog fairly apps w Suitable for all databases cludigi large-scale ad missio-cri tical oes

Theory w Type chage: C T =<T, T, f T > Pre-type Post-type w Upgrade: U=<, {C}> i Trasform fuctio Serial # Set of type chages

Theory (cot.) w Trasform fuctios: Act o oe object at a time Preserve object idetiti es, i.e. object refereces survive chages type Should ot modify ay data w Upgrades have to complete, be i.e. should ot affect her ot types

Implemetatio Desig (1) w Based o Thor [ECOOP99] Distributed cliet/server OODBMS Optimistic cocurrecy cotrol Servers store objects, validate trasactios Cliets cache objects, operate o cached objects o behalf of apps Object idetity partly locatio depedet Objects i cliet cache idexed by a residet object table (ROT) Each ROT etry stores a dispatch vector poiter ad a field poiter for object Poiters i empty a etry are ull Poiters i fulletry a are up-to-date

Implemetatio Desig (2) w Sigle Server Upgrades stored at the server ad pushed to cliets Objects trasformed by cliets before used by apps Objects trasformatios are regarded as modificatios Ivariat: All full ROT etries represet up-to date objects. At receipt of ew upgrade, cliet w aborts ruig trasactio if it used affected objects to guaratee atomicity w scas ROT ad emptie s affected etries to preserve ivariat

Implemetatio Desig (3) w Sigle server cotiued Special cliet cooperate with garbage collector to trasform rarely used objects Upgrades complete i order: whe all objects affected by the oldest upgrade has bee trasformed, it is discarded Problem: objects chage sizes across trasformatios Size decreases--- overwrite origial obje Size icreases---fid space o the same serve page: w If succeed, update page offset table w Otherwise, write to aother page ad replace origia l object with surrogate Referece through surrogate is shortcut whe the referrig obje is modified

Implemetatio Desig (4) w Multiple servers A master server stores the master copy of all upgrades Upgrades pushed from master server to other servers Each server seds upgrades to its cliets ad each cliet processes upgrades as i the sigle server implemetatio Problem: eed to maitai cosistecy whe a cliet talks to multiple servers---a upgrade may arrive at oe server before aother Cliet acts as relay to restore cosistecy: ea commit request is tagge with serial umber of ewest upgrade at clie

Coclusio w Lazy type chages preserve database availability ad ca be tly efficie implemeted--- essetial for large-scale missio-critical databases Future work w Project focused rsistet o pe objects: how avoid recompilig icatios? appl Uiversal applicatio framework? w How to exted o-database to eviromet