fbpx logo-new mail facebook Dribble Social Icon Linkedin Social Icon Twitter Social Icon Github Social Icon Instagram Social Icon Arrow_element diagonal-decor rectangle-decor search arrow circle-flat
Development

Planning a Successful Data Migration

Camille Schenkel Vice President of Client Services

Database migration. Platform upgrade. Cloud migration. Undertaking any of these projects means having to plan a data migration. It can be a complex and time-consuming process, but with careful planning and attention to detail, it is possible to achieve a successful migration.

There are a number of different technical considerations when undertaking a migration that are project-specific. Moving data from one database type to another such as SQL to NoSQL will clearly have implications but even a relational database migration from a row to columnar database also has implications for the data. Project-specific details will impact conversion scripts and SQL objects. It is important to understand how these changes will impact the end users and data consumer applications and to plan accordingly. In this blog post, we will explore some key tips for data migration that are more focused on universal planning concerns, including how to identify and manage stakeholders and strategies for dealing with different types of data.

Understand Who is Using the Data

Identifying stakeholders is a crucial step in the data migration process. Stakeholders are individuals or groups who have an interest in the data migration project and may need to weigh in on decisions related to the data. Some common stakeholders in a data migration project include product owners, data managers, and customer service teams. It’s important to involve these stakeholders early in the process to ensure that everyone is aligned on the goals and objectives of the project. Typical stakeholders for a data migration project include not just technical stakeholders like DBA’s but business stakeholders who use the data daily. In addition to product owners, downstream stakeholders like customer service departments can be impacted by data quality issues.

It is also important to consider the needs of data consumer applications when planning a data migration. These are applications that rely on the data being migrated and may be impacted by changes to the data or the database. It is important to understand how these applications use the data and to identify any potential issues that may arise as a result of the migration such as data duplication and service outages.

Know Your Data

First, it is important to understand the different types of data that you may need to migrate. Structured data refers to data that is organized in a specific way, such as in a database or spreadsheet. This type of data is easy to work with and can be easily searched and analyzed. Unstructured data, on the other hand, is data that does not have a predetermined structure and can be more challenging to work with. Examples of unstructured data include emails, documents, and images.

When planning a data migration, it is also important to consider the type of database you are using. If you are using a relational database, such as MySQL or Oracle, you will need to consider the relationships between different pieces of data and how they are organized. If you are using a data blob, such as Amazon S3 or Azure Blob Storage, you will need to consider how the data is stored and accessed.

Changes to the source application data model can break the data contract between the data producer application and data consumer system and the migration will cause production issues during the switch.

The impact on the data model is another key consideration when planning a data migration. The data model is the structure and organization of the data. Source-to-target modeling is a technique that is often used in data migration projects to understand the relationships between the data in the source database and the target database. This can help identify any issues or inconsistencies that may arise during the migration process.

Setting Up Environments and Licensing

Before the migration starts, it’s also important to take into account the different types of environments that will be needed for the data migration. In addition to the eventual production environment, procuring a test environment for testing things like observing how converted SQL scripts impact the data will increase confidence in the success of the migration. The size and complexity of the project will impact the number of environments as well as the length of time the environments need to be provisioned. In certain cases, a test environment might be warranted in case of a rollback or data quality issues surface after the migration is complete. Provisioning a test environment and additional licenses, in addition to the new target environment, will have cost and support implications for the time that those environments will be needed.

In some cases, it may not be necessary to move all of the data to the new platform. Instead, you may want to consider archiving certain data that is no longer actively used or needed. There are a number of advantages to archiving data before migration, including cost, simplifying and optimizing the time it will take to actually completing the migration, even complying with the growing number of privacy regulations. In other words, less can be more when it comes to having data in a production environment. There are several factors to consider when deciding which data to archive, including PII regulations, business rules, and data integrity concerns. It is important to involve the appropriate stakeholders in this decision-making process to ensure that all relevant considerations are taken into account. Once the important decisions have been made, cloud providers like AWS have lower-cost storage products like AWS Glacier available.

Understand How and What to Test

There are multiple specific details to consider when planning and implementing a data migration that are specific to your migration such as whether or not this is a cloud-to-cloud migration versus on-prem to cloud, or a migration over time versus a “big bang” migration. Regardless of these differences, one thing you will need to consider is data testing. Any time data moves from one place to another there is a chance of corruption or data loss. Setting up a test plan that takes into account acceptance criteria, test environments and test data, triaging issues that will occur along the way, recruiting and managing test participants and exit criteria will be a critical step to ensuring a successful migration and getting sign-off from stakeholders.


Planning a platform migration or update? Contact us to let us know how we can help.

Let’s do something great together

We do our best work in close collaboration with our clients. Let’s find some time for you to chat with a member of our team.

Say Hi