Patterns for Data Migration

When an existing application is replaced by a new one, its data has to be transferred from the old world to the new. This process, known as data migration, faces several important requirements. Data migration must be accurate, otherwise valuable data would be lost. It must be able to handle legacy data of poor quality. It must be efficient and reliable, so as not to jeopardise the launch of the new application. This paper presents a collection of patterns for handling a data migration effort. The patterns focus on the design of the migration code as well as on process issues.