Live Migration with Fall Forward Adds Power to YugabyteDB Voyager 1.5

Michael Haag

An array of database innovations were rolled out at the Distributed SQL Summit, chief among them being YugabyteDB Voyager 1.5. This release includes powerful new live migration from Oracle with optional fall-forward capabilities. But there was also a sneak peek into our plans for an advanced database portfolio assessment tool.

Dig deeper into the details below or watch a brief 5-minute demo showcasing Voyager’s new features.

Poster Image

Live, Non-Disruptive Migration from Oracle

YugabyteDB Voyager aims to simplify and speed up your app and data migrations while reducing risks. This means you can leave behind the cost and complexity of legacy databases. I’ve yet to meet someone who loves doing a migration, so our mission is to make them a lot less painful.

YugabyteDB Voyager 1.5 delivers live, non-disruptive migration from Oracle with optional fall-forward capabilities to further reduce risk during data migrations. As a result, you can easily migrate your critical applications away from the complexity and cost of Oracle databases, without impacting app availability or performance.

Live Migration Workflow

The new live migration feature migrates data behind the scenes while your application continues to be serviced by your source (original) database.

Once all of the data, including recent changes, is reflected in the target YugabyteDB database, you can seamlessly cutover your application to point to the new database.

There are two export data steps in YugabyteDB Voyager 1.5.

  1. Export a full snapshot of your data from the source database to YugabyteDB. Once done, it can start to continuously capture changes occurring on the source to an event queue on the disk.
  2. Use the import data command, which will first import the snapshot data and then continuously apply the exported change events to the target database. When the migration process reaches a steady state, you can cutover to the new database using the “yb-voyager cutover initiate” command. When the cutover is complete, you are ready to point your application to the newly populated YugabyteDB database.
YugabyteDB Voyager 1.5 Live Migration Architecture
Fig 1: YugabyteDB Voyager 1.5 Live Migration Architecture

Live migration is available as a technology preview for Oracle databases, both standalone Oracle Container Databases and RDS Oracle. Please review the live migration documentation for more information on this technical preview release.

Migration with Fall-Forward

It’s crucial to have a backup strategy in place when performing an important data migration, just in case the new database does not work as expected. A fall-forward approach involves creating a third database (the fall-forward database) that is a replica of your original source database.

YugabyteDB Voyager Fall-Forward Setup
Fig 2: YugabyteDB Voyager Fall-Forward Setup

Before cutover, YugabyteDB Voyager replicates the snapshot plus all changes from the source database to the fall-forward database. At cutover, the user application will stop writing to the source database and start writing to the target YugabyteDB database. Once the cutover process is complete, YugabyteDB Voyager ensures the fall-forward database is synchronized with changes from the target YugabyteDB database.

YugabyteDB Cutover Process for Fall-Forward
Fig 3: YugabyteDB Cutover Process for Fall-Forward

Finally, if you need to switch to the fall-forward database (because the application is not behaving properly on the new target database), you can do so using the `fall-forward switchover` command.

A key advantage of a fall-forward approach is that it allows for end-to-end system testing. This is especially important in heterogeneous migration scenarios, where source and target databases are using different engines.

Please review the live migration with fall-forward documentation for more information.

Additional Voyager 1.5 Enhancements

YugabyteDB Voyager 1.5 also introduces several additional noteworthy updates based on user requests:

  • New Customizations: Added support to override the pg_dump arguments used internally by yb-voyager export data and export schema commands. The arguments are present in a file at /etc/yb-voyager/pg_dump-args.ini. Any additions or modifications to this file will be honored by yb-voyager
  • Enhanced Security: Added support for providing passwords to all yb-voyager commands, including export data and import data commands, using env variables SOURCE_DB_PASSWORD/TARGET_DB_PASSWORD. The change eliminates any risk of a password being leaked via the ps command output.

Sneak Peak at Portfolio Assessment Plans

Along with the release of YugabyteDB Voyager 1.5, our demo also includes a sneak peak at a portfolio assessment capability we’re working on for delivery soon. This planned capability aims to solve another common migration pain point—that large portfolio of applications and databases still running on legacy systems. For large enterprises that number can easily reach thousands (if not tens of thousands) of apps and databases.

While some applications may be fine where they are, the reality is that many (if not most) could benefit from moving to a cloud native database that is scalable, resilient, and saves money.

Our customers regularly ask for help in making their migration tasks easier by providing a tool that can:

  • Discover and analyze fleets of database servers and intelligently identify the level of migration complexity—providing tailored advice on what is required for each migration
  • Develop a way to target the easiest migrations first to demonstrate some quick, pain-free successes
  • Provide simple workflows that guide them through the migration of their fleet to YugabyteDB with minimal effort
  • Quickly build a POC and begin testing the critical functionality of their applications by automatically inventorying and analyzing their existing database.
  • Validate migration and report findings to quickly obtain stakeholder support

We took this feedback at hand and shared a sneak preview of another new feature planned for YugabyteDB Voyager.

With our powerful new migration assessment feature, Voyager will be able to scan available apps and databases and offer a detailed assessment, providing insight into which applications, data, and schema are ready to migrate.

YugabyteDB Voyager Portfolio Assessment Utility
Fig 3: YugabyteDB Voyager Portfolio Assessment Utility

As seen in Figure 3, after scanning your databases, the new tool provides guidance on the level of complexity of each database migration. This provides a clear understanding of the level of effort and work required, so you can quickly determine your migration priorities. The tool then highlights built-in workflows to assist in performing the necessary steps to analyze and adjust (where necessary) the schema, before moving on to migrate the data.

Stay tuned for more information as we’re excited to continue to make migrations easier!

Learn More

And remember, YugabyteDB Voyager remains 100% open source and free. Learn more via the Voyager GitHub page and YugabyteDB Voyager Docs pages.

Michael Haag

Related Posts

Explore Distributed SQL and YugabyteDB in Depth

Discover the future of data management.
Learn at Yugabyte University
Learn More
Browse Yugabyte Docs
Read More
Distributed SQL for Dummies
Read for Free