Migrate data from one cluster to another

Hello,
a customer wants to migrate all the data from Cluster A to cluster B. The two clusters have a different topology. Cluster A is made up of 3 hosts (1 MA + 2 LEAF nodes), 6.8.9 MemSQL DB, Cluster B will be made up of 4 hosts (1MA + 3 LEAF nodes), 7.3 SingleStore DB. Both clusters have high availability on.
What are the options to migrate data from A to B? Keep in mind that a few tables have billions of records.

Thank you for any suggestion.

I assume you are okay with an offline migration.

I’d recommend backing up the database from 6.8 and restoring it on the other 7.3 cluster, during a downtime window. Then run a rebalance operation on the target cluster. Then open things up to your apps.

It’d be best to do a backup, restore it on the new cluster, rebalance, and test all our apps first, making sure the apps are ready. Then do a backup of 6.8 and restore to the new 7.3 cluster again, and cut over.

If for some reason you don’t want to do the backup/restore approach, if you are a paying customer, you can use SingleStore Replicate to move data from the old cluster to the new one. You can contact your account team to get the software.

If you want to migrate online, you’ll have to migrate the bulk of the data in batches, then use application logic to catch up the target to the source, and then cut over your apps to go against the new system.

Also, yet another approach would be to upgrade the 6.8 system in place, then add nodes to it and rebalance. But from the way you phrased your question it sounded like you didn’t want to do that.

Thanks for replying.
Backup and restore sounds the most feasible solution in my cause. Just a few questions.

  • Is it legit to backup from 6.8 and restore into 7.3 without any prerequisites? The clusters have different topologies and memsql versions are different.
  • How can I perform a rebalance? By running REBALANCE PARTITIONS ON db_name ?
  • I didn’t get why you suggest to backup and restore twice.

Thanks again!

.