Toward Online Schema Evolution for Non-Stop Systems Amol Deshpande, University of Maryland Michael Hicks, University of Maryland.

Slides:



Advertisements
Similar presentations
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
Advertisements

XML DOCUMENTS AND DATABASES
Virtual training week 4 structured query language (SQL)
SQL Lecture 10 Inst: Haya Sammaneh. Example Instance of Students Relation  Cardinality = 3, degree = 5, all rows distinct.
CS848: Topics in Databases: Foundations of Query Optimization Review  SQL the programming language  Applications in information systems  SQL technology.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
Chapter Information Systems Database Management.
A Guide to SQL, Seventh Edition. Objectives Create a new table from an existing table Change data using the UPDATE command Add new data using the INSERT.
CMSC424: Database Design Instructor: Amol Deshpande
Database Systems More SQL Database Design -- More SQL1.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
Information systems and databases Database information systems Read the textbook: Chapter 2: Information systems and databases FOR MORE INFO...
1 Chapter 2 Database Environment. 2 Chapter 2 - Objectives u Purpose of three-level database architecture. u Contents of external, conceptual, and internal.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education 4-1.
Database Updates Made Easy In WebFocus Using SQL And HTML Painter Sept 2011 Lender Processing Services 1.
Migrating to EPiServer CMS 5 Johan Björnfot -
Chapter 6: Integrity Objective Key Constraints (Chapter 2) Cardinality Constraints (Chapter 2) Domain Constraints Referential Integrity Assertions Triggers.
Data Definition, Relational Manipulation and Data Control Using SQL.
Main challenges in XML/Relational mapping Juha Sallinen Hannes Tolvanen.
Introduction to DBMS and SQL Introduction to DBMS and SQL GUIDED BY : MR. YOGESH SAROJ (PGT-CS) MR. YOGESH SAROJ (PGT-CS) Presented By : JAYA XII –COM.
 Introduction Introduction  Purpose of Database SystemsPurpose of Database Systems  Levels of Abstraction Levels of Abstraction  Instances and Schemas.
LOGO 1 Lab_02: Basic SQL. 2 Outline  Database Tables  SQL Statements  Semicolon after SQL Statements?  SQL DML and DDL  SQL SELECT Statement  SQL.
CSE314 Database Systems More SQL: Complex Queries, Triggers, Views, and Schema Modification Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson.
Introduction to SQL Steve Perry
Sofia, Bulgaria | 9-10 October SQL Server 2005 High Availability for developers Vladimir Tchalkov Crossroad Ltd. Vladimir Tchalkov Crossroad Ltd.
Information Systems: Databases Define the role of general information systems Describe the elements of a database management system (DBMS) Describe the.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
SQL 101 for Web Developers 14 November What is a database and why have one? Tables, relationships, normalization SQL – What SQL is and isn’t – CRUD:
Chapter 2: SQL – The Basics Objectives: 1.The SQL execution environment 2.SELECT statement 3.SQL Developer & SQL*Plus.
By: Matt Batalon, MCITP  Another form of temporary storage that can be queried or joined against, much like a table variable, temp.
Experience from Mapping Existing Models to the Transfer Schema Robert Kukla.
DB Zip Expert Portable database backup and export/import Copyright © SoftTree Technologies, Inc.
Nikitas N. Karanikolas, Maria Nitsiou, Emmanuel J. Yannakoudakis and Christos Skourlas CUDL Language Semantics, Liven Up the FDB Data Model.
Intro – Part 2 Introduction to Database Management: Ch 1 & 2.
Sumanth M Ganesh B CPSC 620.  SQL Injection attacks allow a malicious individual to execute arbitrary SQL code on your server  The attack could involve.
Database structure and space Management. Database Structure An ORACLE database has both a physical and logical structure. By separating physical and logical.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 17 A First Course in Database Systems.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
© 2003 Computer Associates International, Inc. (CA). All trademarks, trade names, services marks and logos referenced herein belong to their respective.
DATA AND SCHEMA MODIFICATIONS CHAPTERS 4,5 (6/E) CHAPTER 8 (5/E) 1.
IS6146 Databases for Management Information Systems Lecture 3: SQL III – The DDL Rob Gleasure robgleasure.com.
Chapter 3: Relational Databases
Constraints and Views Chap. 3-5 continued (7 th ed. 5-7)
Databases and SQL CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
11 Copyright © 2004, Oracle. All rights reserved. Performing a Migration Using Oracle Migration Workbench (Part II)
Fundamental of Database Systems
More SQL: Complex Queries, Triggers, Views, and Schema Modification
Rob Gleasure robgleasure.com
Rob Gleasure robgleasure.com
CS320 Web and Internet Programming SQL and MySQL
Chapter 2 Database Environment.
Tables and Triggers.
Chapter 12 Information Systems.
Information Systems Database Management
Chapter 2 Database Environment.
Chapter 2 Database Environment Pearson Education © 2009.
Database management concepts
The Relational Model Relational Data Model
Relational Databases The Relational Model.
Relational Databases The Relational Model.
Teaching slides Chapter 8.
Team Project, Part II NOMO Auto, Part II IST 210 Section 4
Database management concepts
CS3220 Web and Internet Programming SQL and MySQL
CS3220 Web and Internet Programming SQL and MySQL
Updating Databases With Open SQL
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Updating Databases With Open SQL
Presentation transcript:

Toward Online Schema Evolution for Non-Stop Systems Amol Deshpande, University of Maryland Michael Hicks, University of Maryland

Intelligent Design Schemas Evolve ! Changing business logic For improved performance …

Current Approach (??) Modify the application(s) to use new schema. Shut down the applications, and stop access to the database. Extract the DDL and authorizations for the table and dependent objects (views, indexes etc). Manually create the new table, re-create dependent objects, and populate the table. Drop the old table. Restart the application(s).

Problems with this approach Time-consuming (mostly) manual process Database unavailable during the process Application soft state (e.g. caches) is lost

What we would like Near-instantaneous online schema changes –Without stopping the access to the database for too long –Without killing the applications using the DB Even if the applications are affected by the change DB2 for z/OS V8 provides some support

Our Goal Provide both by combining: –Dynamic software updating Suite of techniques developed for dynamically updating running applications –Lazy data migration To affect immediate schema changes by delaying populating the new tables

Basic Approach Modify the application(s) to use new schema Create a dynamic patch using old and new copies of applications When all applications reach “safe point”’s: –Apply the patches to dynamically change the (running) applications –Change the schema, and create skeleton tables Convert the data to conform to new schema lazily –May need to use conversion functions for changes –E.g. changing char(15) to char(10)

Details Safe points: –Detected through static analysis –Based on putting constraints on changes that can be made to the schema at various points in applications Function f() performs an SQL query on the Street column of an Address table Can’t change Address to change/remove Street column while executing f() –An application typically has many safe points Static analysis also helps in detecting affected applications

Details Lazy data migration: –Empty skeleton tables are created initially –New tuples are directly inserted into the new tables –When a query is posed, sufficient data is accessed from the old table to populate the new table Use caching techniques to reason about contents of tables –“Drastic” option of converting the whole table anytime –Need to worry about: Integrity constraints ?

Questions, Comments…