Data migration methodology

Data migration, understood as a process of transferring data from one system to another, often newer one, seems simple. Nonetheless, it still requires quite a lot time to prepare as well as some time to finish with proper migration validation. That's why complete data migration may take noticeably longer than the time needed to extract, transform, and load data into new databases. Every methodology instruction given points out to consider the following steps in data migration:

Data migration methodology

1. Analysis of business impact

Every migration means a lot of inconveniences for company staff. People need to be prepared to have lost access to data they usually work on. Therefore, it's crucial to ensure that migration won't interrupt them too much. It's not easy and requires completing a list of processes and operations that have something in common with data to be migrated, and let users know early enough so that they won't be surprised with system's downtime.

2. Information gathering

Knowing what impact migration can have on business users, is the first step, but gathering the information about software and hardware migration aspects isn't less important. During this second stage, it is important to discover as much details as possible about future data migration complexity. What it means in practice is tracing the roots of data that has to be transferred, its locality and volume.
There are two different methods for it - manual and automatic.

3. Mapping, designing

Knowing where migration tools will take data from is one side of the question, while another one is to determine what place it is going to be stored at. What's worth to know is that there are two possibilities. One is that source and destination layouts don't change (one-to-one mapping layout) and one that source and destination layouts are different (relay out layout).

4. Plan of migration

The three first steps in data migration methodology apply to planning the process. And the planning stage has to be finished with a proper plan which includes all information like business and/or operational constraints to migration, data and its attributes, tools to be used during the process, and also best practices. Making a plan, even if seems superfluous in case of small migrations, is almost a must. It lets people responsible for migration keep an eye on the process and be sure that they don't omit any single but very important detail.

5. Provisioning

The real provisioning differs according to the layout of migration chosen a few steps earlier. In case of one-to-one migration layout, provisioning is nothing more than copying former structure of files, data volumes, and attributes so that the new environment could be ready for receiving the actual streams of data. In case of relay out migrations on the other hand, preparing a new environment might be much more difficult and require plenty of additional steps to accomplish before actually moving data. What's good about it is that many tasks can be done automatically.

6. Test migration

Badly prepared migration might be tragic in consequences to company data systems and company data itself. Thereupon to minimize the risk of such losses, followed with time and money wastes, it's always required to run a test migration before the real one can be started. It's the only certain method to check in practice if all the presumptions were correct and if the tools were chosen properly. Test migration should apply to a little but representative part of data.

7. Migration

In a word, it's all what data migration is about - moving data from its original source to a new destination. Here also are two possibilities: moving data out of the path and moving it in the data path.

8. Validation

Once all migration processes finish, it has to be checked if everything went in an ordered way. In some cases, even if the migration seems to finish in success, there are some errors hidden deeper so there is a need to identify them and erase as soon as possible so they couldn't interrupt in a future work of the database. Necessarily, there are a few points to check. These are the access to data, file permissions, structure of directories, and the work of applications.