YugabyteDB Voyager

YugabyteDB Voyager

Migrate your database with YugabyteDB Voyager.

YugabyteDB Voyager is a powerful open-source data migration engine that accelerates cloud native adoption by removing barriers to moving applications to the public or private cloud. It helps you migrate databases to YugabyteDB quickly and securely.

YugabyteDB Voyager manages the entire lifecycle of a database migration, including cluster preparation for data import, schema-migration, and data-migration, using the yb-voyager command line utility.

Voyager Architecture

Features

  • Free and completely open source.
  • Supports widely used databases for migration and doesn't require changes to the source databases in most cases.
  • Supports all YugabyteDB products (YugabyteDB stable versions 2.14.5.0 and later, and preview versions 2.17.0.0 and later) as the target database.
  • Provides a unified CLI experience for all different source databases.
  • Auto-tuneable based on workloads, by analyzing the target cluster capacity; runs parallel jobs by default.
  • Monitor the import status, and expected time for data export and import to complete using progress bars.
  • In case of failures, data import can be resumed.
  • Parallelism of data across tables.
  • Supports direct data import from CSV files.
  • Live migration - Coming soon. For more details, refer to the GitHub issue and for any questions, contact Yugabyte Support.

Source databases

YugabyteDB Voyager supports migrating schema and data from your existing RDBMS, as described in the following table:

Source database type Supported versions and flavors
PostgreSQL PostgreSQL 9.x - 11.x
Amazon Aurora PostgreSQL
Amazon RDS for PostgreSQL
Cloud SQL for PostgreSQL
Azure Database for PostgreSQL
MySQL MySQL 8.x
MariaDB
Amazon Aurora MySQL
Amazon RDS for MySQL
Cloud SQL for MySQL
Oracle Oracle 11g - 19c
Amazon RDS for Oracle

Target database

You can migrate data to any one of the three YugabyteDB products (YugabyteDB Voyager supports YugabyteDB stable versions 2.14.5.0 and later, and preview versions 2.17.0.0 and later.). To create a cluster:

Migration workflow

A typical migration workflow using yb-voyager consists of the following steps:

  • Install yb-voyager.
  • Prepare the source database.
  • Prepare the target database.
  • Convert the source database schema to PostgreSQL format using the yb-voyager export schema command.
  • Generate a Schema Analysis Report using the yb-voyager analyze-schema command. The report suggests changes to the PostgreSQL schema to make it appropriate for YugabyteDB.
  • Manually change the exported schema as suggested in the Schema Analysis Report.
  • Dump the source database in the local files on the machine where yb-voyager is installed, using the yb-voyager export data command.
  • Import the schema to the target YugabyteDB database using the yb-voyager import schema command.
  • Import the data to the target YugabyteDB database using the yb-voyager import data command.
  • Import indexes and triggers to the target YugabyteDB database using the yb-voyager import schema command with an additional --post-import-data flag.

Migration workflow