User:Icmo/Schema Evolution Testbed

Introduction

edit

Information systems are highly subjected to continuous change. This change could be a change in data, schema, applications or queries. These changes are arising due to changing needs, added functionalities, new security and privacy issues and their solutions, compliance to new regulations upcoming every day. Database constructs are added removed and updated every second leading to immense impact on variety of applications and data stores. Even the small number of changes, can invalidate the legacy queries, data entry forms and the applications can crash. Adapting to the change is a costly process because it requires changes in logical and physical organization of data. It is even more time consuming and expensive to change applications, queries, views in order to adapt to the change. With the emergence of web information systems, the problem of evolution is becoming even more severe and complex. Another factor adding to this complexity is the open source software development which is usually a combined effort of many organizations or groups or people. Hence managing evolution in this kind of diverse environment is challenging.

Open source software development has also added to the magnitude of changes or evolution. Evolution adds complexity and the impact of any evolution could be very strong on Information Systems. If we talk about Schema Evolution, it is still in its younger days. Tools such as | PRISM[1][2], |PRIMA, | HMM (Curino et al. 2008) have been recently proposed to assist in graceful schema evolution. As part of the effort this page contains useful information, useful links to some tools and histories of datasets that have been used to test the efficiency of those tools.Tools such as Schema Evolution Toolsuit and SQL2SMO Translator have been tested. These tools help in generating input data for the Schema Evolution tools such a s PRISM in the form of Evolution Database or Schema Modification Operators (SMOs).PRISM has been tested with ICMOs and SMOs to evaluate its efficiency in assisting in the Graceful Schema Evolution.

With the goal of developing a benchmark for Schema Evolution, this page provides some detailed information on various schema evolution tools used to compile different versions that a dataset has undergone and the analysis of these schemas to generate the SQL statements leading to those evolutions. Also includes the set of corresponding SMOs and ICMOs used by PRISM for automatic query generation for the datasets at hand.

Tools

edit

PRISM

edit
PRISM (Panta Rhei Information & Schema Manager) has been designed and developed to bridge the gap between theoretical results and their practical usability, by harvesting recent theoretical advances on schema mapping and query rewriting. PRISM represents the most advanced system supporting relational schema evolution available to date. The system automates a very large portion of the query adaptation work, thus, providing an invaluable operational tool to support DB Administrators (DBAs) in their everyday activities. PRISM addresses the two main challenges of Schema Evolution: predictability of the evolution process and logical independence of the evolution process. It provides a language of Schema Modification Operators (SMO) to express complex changes and allow DBA to evaluate the effect of such changes and also provide optimized translation of old queries to work on the new schema and automatic data migration.[3]

ArchIS

edit
ArchIS supports efficient temporal queries on the archived history of (fixed schema) databases [4].

PRIMA

edit
PRIMA (Panta Rhei Information Management & Archival) introduces the transparent support for complex temporal queries over archives with evolving schema. Both PRISM and PRIMA exploit an intuitive operational language of Schema Modification Operators (SMOs) to explicitly capture the semantics of the schema evolution.
The HMM (Historical Metadata Manager) tool assists in archiving and querying rich metadata histories

Schema Evolution Toolsuite(SET)

edit
The Schema Evolution Toolsuite (SET), a tool developed by Fabrizio Moroni, is a framework to easily automate the benchmarking process. It collects statistical information on schema evolution of a dataset.The data about the evolution of a schema is stored in the form of meta-data i.e. Information Schema is used to store this data in a MYSQL database.

[|Read More About SET]

SQL2SMO Translator

edit
The SQL2SMO translator tool is developed by Fabrizio Moroni and it translates the given patch of SQL statements into corresponding Schema Modification Operators(SMOs) using some pattern matching techniques. It identifies five types of patterns viz. Join Pattern Type1, Join Pattern Type2, Merge Pattern, Partition Pattern, and Decompose Pattern.

[|Read More about SQL2SMO]

Test Datasets

edit

References

edit
  1. ^ "Graceful database schema evolution: the prism workbench", Carlo A. Curino, Hyun J. Moon, Carlo Zaniolo
  2. ^ "The PRISM Workbench: Database Schema Evolution Without Tears", Carlo A. Curino, Hyun J. Moon, MyungWon Ham, Carlo Zaniolo,"
  3. ^ Hyun J. Moon, Carlo A. Curino, Alin Deutsch, Chien-Yi Hou, and Carlo Zaniolo. "Managing and querying transaction-time databases under schema evolution". VLDB, 2008.
  4. ^ C. Curino, H. J. Moon, and C. Zaniolo. “Managing the history of metadata in support for db archiving and schema evolution”. ECDM, 2008.
edit