# What Is Data Migration? Types, Process, and Risks

> Data migration moves data to a new system permanently. Learn the types, process, cutover strategy, validation, risks, and tools for business projects.

**URL:** https://www.ciptadusa.com/blog/migrasi-data-adalah  
**Type:** blog  
**Author:** PT Cipta Dua Saudara  
**Category:** Engineering  
**Published:** 2026-10-30  
**Cover:** https://www.ciptadusa.com/media/uploads/blog/2026-10/1793327214572-migrasi-data-adalah-20261030.webp  

## Article

Data migration is the process of permanently moving data from one system, format, or environment to another, for example from Excel spreadsheets to an ERP, from an old application to a new CRM, or from an office server to a cloud database. Microsoft Azure defines it as selecting, preparing, extracting, and transforming data, then permanently transferring it from one computer storage system to another ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)).

The key words are "permanently" and "transforming". Data migration is not a simple copy and paste. Data has to be cleaned, mapped to the structure of the new system, tested, and validated before the old system is switched off. This article covers what data migration means, how it differs from data conversion and replication, its types, the process, cutover strategies, validation, risks, tools, and a checklist to use before starting a migration project.

## What Data Migration Means

IBM describes data migration as transferring data from one storage system or computing environment to another, for reasons such as replacing servers or storage devices, or consolidating or decommissioning data centers ([source](https://www.ibm.com/think/topics/data-migration)). Azure uses a broader scope: moving information to another location, file format, environment, storage system, database, data center, or application all counts as data migration ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)).

For businesses, one form of data migration close to daily operations is moving to a new business application. Microsoft's Dynamics 365 implementation guide says a legacy system can be another business application or a collection of Excel spreadsheets. Migrated data can be master data such as customers, products, and vendors, or open transactions such as sales orders, purchase orders, stock on hand, and open balances ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)).

### Data Migration vs Data Conversion

The two terms are different, and Azure notes they can be confusing because data migration includes data conversion. Data migration means moving data from one place to another, while data conversion means changing data from one format to another. Conversion is one part of migration, not a synonym for it ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)).

| Aspect | Data migration | Data conversion |
| --- | --- | --- |
| Core activity | Moving data to a new location, system, or environment | Changing the data format so another system can read it |
| Data format | May stay the same | Is changed |
| Process | Planning, implementation, validation | Extract, transform, load (ETL) |
| Relationship | Can include data conversion | Part of data migration |

Table source: [Microsoft Azure](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration).

### Data Migration vs Data Replication

Google Cloud separates the two by their end goal. In a database migration, data is moved to the target database, client access is redirected to the target, and the source database is eventually deleted, sometimes after being kept for a while as a fallback. In replication, data is continuously transferred from source to target without deleting the source, and there is no defined completion time ([source](https://cloud.google.com/architecture/database-migration-concepts-principles-part-1)).

This distinction matters when planning. If your goal is to keep two applications in sync while both stay in use, what you need is closer to [system integration](/en/blog/integrasi-sistem-adalah) than to migration.

## When Does a Company Need Data Migration?

Azure lists several business scenarios that require data migration ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)):

- Upgrading or replacing legacy hardware or software to meet performance requirements.
- Reducing hosting costs in on-premises data centers by moving to the cloud.
- Centralizing data to enable interoperability or relocating it to a more secure data center.
- Backing up data to prepare for disaster recovery.

In practice, the trigger can be more concrete: the finance team moves from spreadsheets to an [ERP](/en/blog/erp-adalah), the sales team replaces manual contact lists with a [CRM](/en/blog/crm-adalah), HR moves employee records into an [HRIS](/en/blog/hris-adalah), or an old internal application is rewritten with a new [backend](/en/blog/backend-adalah). Each of these scenarios requires the old data to stay intact and usable in the new system from day one.

## Types of Data Migration

Azure groups data migration into five general categories. One project can include more than one type, for example moving from an on-premises server to the cloud while also changing database engines ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)).

| Type | Explanation | Example |
| --- | --- | --- |
| Storage migration | Moving data from one storage device to another | From hard disk to SSD, or to cloud storage |
| Database migration | Moving data to a different database engine or version, which may require conversion | Upgrading a database version, switching database vendors |
| Application migration | Moving data to a new computing environment because the application, vendor, or platform changes | Moving from an old accounting app to a new ERP |
| Cloud migration | Moving data or applications from an on-premises data center to the cloud, or between clouds | Office server to a managed database service |
| Business process migration | Moving data and applications to reorganize how the business runs | Combining systems after a merger or acquisition |

Table source: [Microsoft Azure](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration).

### Homogeneous and Heterogeneous Migration

For database migration, Google Cloud uses two more terms. A homogeneous migration happens between databases of the same technology, for example MySQL to MySQL, or self-managed PostgreSQL to managed PostgreSQL in the cloud. A heterogeneous migration happens between different database technologies, for example from Oracle to Spanner ([source](https://cloud.google.com/architecture/database-migration-concepts-principles-part-1)).

IBM adds that the first step of a database migration is to convert the source schema if needed, because the data definition language (DDL) of the target database may not be compatible with the source ([source](https://www.ibm.com/think/topics/data-migration)).

### Source and Target Patterns

Google Cloud also notes that migration does not have to be one source to one target. There is consolidation (many sources into fewer targets), distribution (one source into many targets), and re-distribution (many sources into many targets) ([source](https://cloud.google.com/architecture/database-migration-concepts-principles-part-1)). Consolidation is relevant for companies whose data is spread across Excel files at each branch and who want to bring it into one system.

## What Data Gets Migrated?

Microsoft splits data in a business application implementation into two groups ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)):

- **Configuration data**, which sets up the system for specific needs, such as currencies, tax codes, and parameters.
- **Migration data**, which is moved from the legacy system, such as master data for customers, products, and vendors, plus open transactions such as orders, stock, and balances.

This split helps decide the order. Configuration data and master data must exist before transactions can be loaded. Microsoft's example: to create purchase orders, vendors and accounts must already be set up ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)).

One key decision at this stage is which historical data to bring along. Microsoft recommends migrating data that is relevant and useful for the new solution ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)). Old data that is only needed for archiving can be stored separately with read-only access.

## The Data Migration Process

Azure summarizes a data migration project in three broad phases: planning, implementation, and validation ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)). Microsoft's Dynamics 365 guide details the activities that should go into the project plan ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)). Combined, the steps look like this.

### 1. Discover and Assess the Data

Before defining scope, the organization needs to know what data it actually has: where it lives, how much there is, how varied it is, and what its quality is ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)). IBM recommends checking for issues such as redundancy or "dirty" data that should be fixed before migration ([source](https://www.ibm.com/think/topics/data-migration)).

### 2. Define the Strategy and Scope

Microsoft says a migration strategy covers source and target systems, entities and tables with their volumes, load mode (full push or incremental), frequency (one-time or recurring), ETL tools, sequence and dependencies, roles, and pre- and post-cutover activities ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)). Azure adds the decision on migration level: all at once, a little at a time, or somewhere in between ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)).

### 3. Clean and Map the Data

Each column in the old system is mapped to a field in the new system, including its transformation rules. Microsoft lists mapping and transforming fields and values between source and target as a required activity in the plan ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)).

Example mapping from a customer spreadsheet to a CRM (a CDS illustration, not real project data):

| Column in the old Excel file | Field in the new system | Transformation rule |
| --- | --- | --- |
| Store Name | company_name | Remove double spaces, standardize capitalization |
| Mobile No | phone | Convert the local 08 prefix to international +628 format |
| City | city_id | Match to the city master table, log unmatched rows |
| Status (Active/Inactive) | is_active | Convert to true/false |
| Sales Rep | owner_user_id | Match the rep's name to a user account in the new system |

### 4. Build the ETL Process and Run Test Migrations

ETL (extract, transform, load) is the process of pulling data from the source, transforming it for the target, and loading it into the target ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)). Microsoft recommends testing the migration at least once in system integration testing (SIT) and [user acceptance testing (UAT)](/en/blog/uat-adalah) environments, and warns that migration activities can be disruptive and should not coexist with other testing activities ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)).

Microsoft's go-live checklist also asks teams to test data migration several times before cutover, address data corruption or duplication, and make sure performance fits within the cutover window ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/prepare-go-live-checklist)).

### 5. Run the Cutover

Cutover is when the company switches from the old system to the new one. Microsoft describes it as a short window when neither the old nor the new system can be used, and recommends a cutover plan that includes the order and timing of each task, the owner and backup owner, instructions and tools, verification and sign-off steps, and a rollback plan in case something goes wrong ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/prepare-go-live-cutover-strategy)).

Before the real cutover, the plan is rehearsed in a test environment with the same data, tools, people, steps, and timing. Microsoft calls this a mock cutover or dress rehearsal ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/prepare-go-live-cutover-strategy)).

### 6. Validate and Retire the Old System

After the data is moved, the team audits it in its new configuration and confirms the transfer was accurate. Azure stresses that the legacy data configuration is retired only after the migration has been validated by technical and business stakeholders ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)).

## Cutover Strategy: Downtime or Near-Zero Downtime?

Google Cloud states that truly zero downtime is impossible during a migration, because there are moments when clients cannot process requests. What you can do is minimize that duration (near-zero downtime), for example by running test clients in read-only mode against the target database long before the switch, and keeping the amount of in-flight data as small as possible as the switchover approaches ([source](https://cloud.google.com/architecture/database-migration-concepts-principles-part-1)).

If the business can accept significant downtime, the approach is simpler. For homogeneous migrations, Google Cloud names export and import or backup and restore as suitable approaches, provided the downtime is long enough for the migration and follow-up testing ([source](https://cloud.google.com/architecture/database-migration-concepts-principles-part-1)). One example export tool is pg_dump for PostgreSQL, which makes consistent exports even while the database is in use ([source](https://www.postgresql.org/docs/current/app-pgdump.html)).

For systems that must keep running, change data capture (CDC) is used. AWS explains CDC as capturing ongoing changes on the source by reading the database logs through the engine's native API. A task can be full load plus CDC (migrate existing data, then follow the changes) or CDC only ([source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html)). AWS also states that AWS DMS does not offer SLAs for CDC replication latency ([source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)), so the sync lag still needs to be measured before choosing the switchover time.

IBM describes other options for highly critical workloads: transferring data incrementally with periodic testing while keeping source and target running in parallel, or running a large transfer outside production hours if the window allows ([source](https://www.ibm.com/think/topics/data-migration)). Microsoft recommends choosing a cutover time when the business is less busy and not during book closing or reporting ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/prepare-go-live-cutover-strategy)).

## How to Validate Migrated Data

Google Cloud defines a consistent migration with three conditions ([source](https://cloud.google.com/architecture/database-migration-concepts-principles-part-1)):

- **Complete**: all data specified for migration is actually migrated.
- **Duplicate free**: each piece of data is migrated once and only once.
- **Ordered**: changes in the source are applied to the target in the same order they occurred.

Migration tools can help. AWS DMS validation, for example, compares each row in the source with its corresponding row in the target, verifies they contain the same data, and reports mismatches. This uses extra resources on the source, the target, and the network ([source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html)).

Beyond technical comparison, business users need to confirm that the numbers they know still match. The CDS team uses these checks as an internal guide:

- Row counts per table in source and target.
- Totals for key values, such as receivables per customer or stock per warehouse.
- Random samples checked manually by the data owner in each department.
- A list of records rejected during loading, with the reasons.
- Test transactions in the target system using the migrated master data.

## Data Migration Risks and How to Reduce Them

IBM lists three main risks: data security during transfer, transfer times that are hard to predict, and costs higher than expected due to poor planning ([source](https://www.ibm.com/think/topics/data-migration)). Microsoft adds the risks of not reaching migration readiness: delayed go-live, inaccurate or corrupted data in the new solution, and reduced user confidence ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/prepare-go-live-checklist)).

Ways to reduce them follow the steps above:

- Measure data volume and quality early so time estimates hold.
- Encrypt data during transfer and limit who holds export files ([source](https://www.ibm.com/think/topics/data-migration)).
- Test the migration more than once and record how long it takes.
- Prepare a rollback plan and keep the old system read-only until validation is done.
- Agree on go/no-go criteria before cutover ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/prepare-go-live-cutover-strategy)).

### Migrating Personal Data Under Indonesia's PDP Law

If the migrated data includes personal data of customers or employees, the migration counts as personal data processing. Article 16(1) of [Law No. 27 of 2022 on Personal Data Protection](https://www.peraturan.go.id/id/uu-no-27-tahun-2022) states that processing includes acquisition and collection, processing and analysis, storage, correction and updating, transfer, and deletion or destruction. Article 16(2) sets out principles, including that processing must be accurate, complete, not misleading, up to date, and accountable. In practice, temporary export files, copies on team laptops, and old databases that are no longer used also need access rules and a deletion plan.

## Tools Used for Data Migration

Microsoft names several ETL options for moving data from a legacy system: data import/export wizards, Azure Data Factory or Azure Synapse Analytics, SQL Server Integration Services (SSIS), and non-Microsoft integration products ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)). For databases, there are services such as AWS Database Migration Service and built-in database tools such as pg_dump ([source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html), [source](https://www.postgresql.org/docs/current/app-pgdump.html)).

Azure compares three approaches ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)):

| Approach | Fits | Notes |
| --- | --- | --- |
| Self-scripted tools | Small, very specific projects | Fully customizable, but coding takes time and can be hard to scale |
| On-premises tools | Data and target systems in the same place and organization | Full control over storage devices |
| Cloud-based tools | Moving between different data systems or to the cloud | On-demand compute and storage |

In custom application projects, these approaches can be combined: built-in tools to move large tables, plus transformation scripts for business rules that generic tools cannot handle.

## Who Is Involved?

Microsoft calls data migration a team effort and gives three example roles ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration)):

| Role | Responsibility |
| --- | --- |
| Data migration analyst | Designs, plans, and manages the migration process, and documents requirements with subject matter experts |
| Data steward | Maintains data according to standards and provides data definitions and rules |
| Data migration architect/developer | Builds migration environments and packages, transforms and tests data, and validates its quality |

In a mid-sized company, one person can hold more than one role. What matters is having a business-side data owner with the authority to approve validation results.

## Checklist Before Starting a Data Migration

This CDS internal guide summarizes what should be agreed before the first record is moved:

- A complete list of data sources, including Excel files outside the main system.
- Data scope: master data, open transactions, and the cutoff for historical data.
- A field mapping document with transformation rules approved by the data owner.
- A test environment separate from production.
- A schedule for test migrations and mock cutovers.
- Validation criteria and go/no-go criteria.
- A rollback plan and how long the old system stays available read-only.
- Access and deletion rules for export files that contain personal data.

Data migration also affects the budget. Factor it in when estimating [application maintenance costs](/en/blog/biaya-maintenance-aplikasi) and planning project phases in the [SDLC](/en/blog/sdlc-adalah).

## Data Migration in CDS Projects

In CDS [custom software](/en/services/software) projects, data migration is part of the Ship stage together with QA, production deployment, and post-release monitoring. For complex legacy systems, CDS [IT consulting](/en/services/consulting) covers system and data flow audits plus target architecture design with a phased migration path.

For sales teams that want to move contact data into a CRM backend they control, CDS also develops [Zetta CRM](/en/incubating/zetta-crm), an open-source CRM backend for AI agents with a MySQL database and tools for contacts and data exports.

## Data Migration FAQ

### What is data migration in simple terms?

Data migration is moving data from an old system to a new one permanently, including cleaning it and adjusting its format so it can be used in the new system right away ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)).

### What are the types of data migration?

Azure groups them into storage migration, database migration, application migration, cloud migration, and business process migration ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)).

### What is the difference between data migration and database migration?

Database migration is one type of data migration that moves data to a different database engine or version. Data migration is broader and also covers files, applications, and storage ([source](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-data-migration)).

### What does the data migration process involve?

It involves discovering and assessing data, defining the strategy, cleaning and mapping data, building ETL and running test migrations, cutover, and validation before the old system is retired ([source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/data-management-configuration-data-migration), [source](https://learn.microsoft.com/en-us/dynamics365/guidance/implementation-guide/prepare-go-live-cutover-strategy)).

### Can data migration be done without downtime?

Truly zero downtime is not possible, but it can be minimized with near-zero downtime approaches such as CDC and testing the target before switchover ([source](https://cloud.google.com/architecture/database-migration-concepts-principles-part-1), [source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html)).

### How long does data migration take?

It depends on data volume, network speed, data quality, and the number of test runs. IBM notes that petabyte-scale transfers can take weeks even over relatively fast connections ([source](https://www.ibm.com/think/topics/data-migration)). For business application projects, the duration of test migrations becomes the basis for estimating the cutover window.

## Need Help Migrating Data to a New System?

If your company data is still spread across spreadsheets or old applications and is ready to move into an ERP, CRM, or custom application, the CDS team can help map the data, run test migrations, and plan the cutover. Start with [custom software development](/en/services/software), discuss the architecture through [IT consulting](/en/services/consulting), or see [CDS works](/en/works) first.


---

*Markdown version of https://www.ciptadusa.com/blog/migrasi-data-adalah — generated for AI agents and LLM crawlers.*
