DataStax

Best Practices for Migrating from a Relational Data Platform to Apache Cassandra®

By Jeff Carpenter

Image: Pixabay

Knowing when it’s time to migrate

Any data modernization or migration to a new platform or database is going to involve work. Before starting on a migration project, you’ll want to understand how you’ll benefit and when it’s the right time to move the key workloads that run your enterprise from a relational database to a NoSQL Cassandra database.

  • You’re struggling to scale beyond a single database node, or paying high license costs for a fancy multi-node solution
  • Hot backups required by your disaster recovery plan waste resources and don’t guarantee high availability
  • You want to deploy applications in hybrid or multi-cloud architectures
  1. Adapting your application
  2. Planning your deployment
  3. Moving your data

Adapting your data model

It’s vital to understand that Cassandra data modeling is not the same as relational data modeling. While Cassandra uses familiar concepts like tables, rows, and columns, and the Cassandra Query Language (CQL) is quite similar to SQL, there are some important differences that you need to be aware of.

Adapting your application

The next step is updating your application code to write and read from the Cassandra tables you’ve designed. Whether you’re updating an existing monolith or creating entirely new microservices, there are DataStax Drivers available in the most popular languages that you can use to connect to your DataStax Enterprise or Cassandra clusters. The list of business logic assets gathered by the RDBMS-to-Apache Cassandra Accelerator also help developers plan what accompanying microservices are required to keep consistency, which until now was maintained by the RDBMS using the tightly coupled business logic.

Planning your deployment

Before you deploy your updated application, it’s important to plan out your Cassandra cluster. You’ll want to consider questions such as:

  • What kind of hardware and network is available within your platform?
  • How many data centers will the application be deployed to?

Moving your data

After doing the hard work to design Cassandra tables and write code to write and read from those tables, the time will come to deploy your updated application to production. In most cases you’ll have data to move from your legacy database. Tools such as the DataStax Bulk Loader are great for performing one-time data migrations, one of several cases described in Brian Hess’s blog series.

Let’s do this!

If you’re ready to take the plunge, we have plenty of help available, including DataStax Docs and our community site where you can get quick responses to your questions from our experts. Also make sure to check out our webinar library, which includes Migrating RDBMS Monoliths into a Transformational Data Architecture.

DataStax is the company behind the massively scalable, highly available, cloud-native NoSQL data platform built on Apache Cassandra®.