Differences between revisions 1 and 2
Revision 1 as of 2006-05-10 05:12:56
Size: 3886
Editor: RaminMoazeni
Revision 2 as of 2009-09-20 23:36:23
Size: 3886
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

Google Summer of Code 2006 : Proposal


Provide migration tool from MySQL to Derby


Ramin Moazeni



Project overview

The purpose of this project is to build and implement a tool that eases and automates the migration of a MySQL database to Derby. This migration tool will migrate or map objects such as tables, Indexes, Views, etc. from MySQL to Derby.


The database migration steps starts with analyzing the whole source system (current database management system software, data, schema, etc). The next step in database migration is to migrate the schema, followed by migrating the data and finally testing and validation of the whole migration on the target system.

Thorough analysis of the source database system is done using the data dictionary and Data Definition Language (DDL) sources. This step helps with understanding the source database and extracting its design specifications (domain semantics). Based on analysis, we can identify the volume of data to be converted, the current data structure as well as relationships.

Based on the information we gathered by analyzing the source database system, we can start transforming the schema of the source database system into the corresponding schema in the target database. Schema extraction can be done by analyzing a schema dump in DDL SQL followed by mapping of DDL SQL statements of the source system to the SQL implementation of the target system.

The data migration step, involves analyzing the data that needs to be migrated and determining the amount of data that needs to be migrated as well as conversions and mappings that needs to be done for data transformation.

Project plan

For this project, I will use the waterfall model as the software development model. Below, I will focus on different phases on this model for this project along with the outcome of each phase.

Phase 1: Requirements, and Design

In this phase, I will try to gather requirements from the customer (mentor) and come up with a requirement document. After finalizing the requirements, I will focus on designing

the migration tool based on the requirements gathered from the customer (mentor). The outcome of this phase would be two documents: Requirements document and System Design document.

Phase 2: Implementation

In this phase, I will complete the initial implementation of the system based on the Requirement document and System Design document. The deliverable on this phase would be a migration tool that is able to migrate from MySQL to Derby.

Phase 3: Testing (Validation)

In this phase, I will write a test plan for the migration tool based on the requirements document. The migration will be tested based on test cases described in the test plan document and the pass or fail results will be reported to the customer (mentor).

Phase 4: Integration

In this phase, the migration tool will be integrated as part of the Derby Database bundle and will be made available to external customers.


Estimated Completion Date



Requirement Document, System Design Document, Initial Prototype




Testing, Test Plan Development


Customer Feedback, Add/Delete/Refine functionality


Integration into Derby Database Bundle


Project Submission


I am a graduate student in the department of Computer Science at the University of Southern California (USC). I worked for Sun Microsystems for 2 years as a performance engineer and before that, I was an intern at NASA Ames Research Center where I assisted in developing code for structured grid applications.

RaminMoazeni/Derby/proposal (last edited 2009-09-20 23:36:23 by localhost)