Data migration - definition

In computing, the term "data migration" applies mostly to changing the format and place where the data is stored so it can be readable and accessible in another system. When is it necessary? Almost every time when organizations buy, change or upgrade their computer systems (ERP, CRM, financial systems, etc.) and when they change databases, solution vendors, and applications. However, it's not even a matter of any significant change. Sometimes the simplest upgrade (for instance of a database engine) is a reason to run data migration. Additionally, data migration in some cases is run on daily basis to find and eliminate mistakes that occurred during the day (it may be related to data synchronization).

Data migration in today's business is usually a response to changing conditions. When business processes within the organization change, it is required to adapt company systems to the new tasks. Sometimes also new applications have to be introduced to better address new needs. In such cases, data migration is the only way to make already gathered data understandable for the new systems.

Process and stages

Depending on the strategy, data migration consists of a few stages which - one by one - are required to migrate the data correctly. Even though some steps seem to be not really indispensable, omitting any of them significantly increases the risk of failing.
The first thing therefore which should be done is data assessment. It means verifying the data quality and importance and defining the scope of the migration. After that, data cleansing may be done, which leads to erasing all superfluous data elements, correct errors, clarify inconsistencies. Strictly everything what shouldn't be loaded into a "new" database.
Then all the data transformation rules (business and technical) need to be defined and implemented for the data areas which aren't 100% compatible.
Before the actual productional data migration load, it's a good practice to run a test migration (or a even a few migration waves), on a chosen area of data or the whole system. Let system testers and designated business data administrators validate the data and correct if necessary. Moreover, it's the last moment when errors can be found out without noticeable time and money wastes - it's always better to correct the data migration process than to make data fixes after migration.

If - the worst scenario - badly prepared migration damages data, thank to test migration you take the risk of losing only a part of data. A little part from the area which isn't the most important to you. Doesn't it sound better than losing all company data? Of course it does.
This will ensure everything is correct and ready to go. Knowing that everything is okay, it's necessary to freeze the source system or turn off hardware and start the data migration process. It will probably take quite a lot of time, extra hours, a working weekend/night shifts but it's unavoidable. Done? Great. But remember that the end of migration isn't also the end of the thing. The fact that you can't see a problem doesn't mean that the problems don't exist. It's a good practice to plan resources and time for a period of post-migration care.

Two approaches to data migration

Even though it seems simple on paper, data migration happens to be tough in practice. Thereupon, the two common approaches to data migration have been already distinguished.
Big bang migrations and trickle migration differ significantly, starting from their very first presumptions. The first and the most meaningful difference between the two is the time when each is executed. Big bang migration is the invasive form. It requires all systems downtime, all users disconnection and aligning all forces to migration so it could be completed as quickly as possible. This way, migration lasts the least possible, but requires a lot of devotion from the organization's side. Thereupon, big bang migrations are usually performed during holidays and weekends.
Trickle migrations are the contrast of big bang ones. They can be run almost constantly, because they don't require whole systems shutdown. Instead, there are only little parts of system closed for a short time so that the chosen data is migrated in parts. In trickle migrations, two systems - new and old ones - work together, simultaneously for some time - usually as long as it's needed to accomplish the migration. Trickle migrations last much longer than big bangs, but they don't paralyze the work of the company. They might also be executed continuously as a part of data sychronization process.