Data migration is the process of transferring data between data storage systems, data formats or computer systems. A data migration project is done for numerous reasons, which include replacing or upgrading servers or storage equipment, moving data to third-party cloud providers, website consolidation, infrastructure maintenance, application or database migration, software upgrades, company mergers or data center relocation.
Creating a data migration plan
A data migration project can be a challenge because administrators must maintain data integrity, time the project so there is minimal impact to the business and keep an eye on costs. Any problem that occurs during the migration will affect the business, so a data migration plan is key to ensuring minimal disruption and downtime to the active business processes.
Factors to consider during a data migration project include how long the migration will take; the amount of downtime required; and the risk to the business due to technical compatibility issues, data corruption, application performance issues, and missed data or data loss.
There are three broad categories of data movers.
- Host-based software is best for application-specific migrations, such as platform upgrades, database replication and file copying.
- Array-based software is primarily used to migrate data between like systems.
The following best practices should be used to protect data during a migration.
- Understand what data you are migrating, where it lives, what form it's in and the form it will take at its new destination.
- Extract, transform and deduplicate data before moving it.
- Implement data migration policies so data is moved in an orderly manner.
- Test and validate the migrated data to ensure it is accurate.
- Audit and document the entire data migration process.
Types of data migrations and their challenges
The data migration process is performed on three levels.
Storage migration is justified through technology refreshes, and the process is used as an optimal time to do data validation and reduction by identifying obsolete or corrupt data. The process involves moving blocks of storage and files from one storage system to another, whether it is on disk, tape or the cloud. There are numerous storage migration products and tools that help smooth the process. Storage migration also offers the chance to remediate any orphaned storage or inefficiencies.
Database migration is done when there is a need to change database vendors, upgrade the database software or move a database to the cloud. In this type of migration, the underlying data can change, which can affect the application layer when there is a change in protocol or data language. Data migrations in databases deal with modifying the data without changing the schema. Some key tasks include assessing the database size to determine how much storage is needed, testing applications and guaranteeing data confidentiality. Compatibility problems can occur during the migration process, so it is important to test the process first.
Application migration can occur when switching to another vendor application or platform. This process has its own inherent layers of complexity because applications interact with other applications, and each one has its own data model. Applications are not designed to be portable. Management tools, operating systems and virtual machine configurations can all differ from those in the environment where the application was developed or deployed. Successful application migration may require the use of middleware products to bridge technology gaps.
Cloud migration is a major technology trend, as the cloud provides on-demand flexibility, scalability and reduction of Capex for on-premises infrastructures. Public cloud providers offer a variety of services for storage, database and application migrations.
Data migration vs. data integration
Data migration is not to be confused with data integration. Data migration involves moving or copying data from one system to another, or one environment to another, while data integration deals with the flow of data among various applications and systems. Administrators performing data integration should be familiar with extract, transform and load technologies.