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.
- 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 220.127.116.11 and later, and preview versions 18.104.22.168 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.
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
Amazon Aurora MySQL
Amazon RDS for MySQL
Cloud SQL for MySQL
|Oracle||Oracle 11g - 19c
Amazon RDS for Oracle
You can migrate data to any one of the three YugabyteDB products (YugabyteDB Voyager supports YugabyteDB stable versions 22.214.171.124 and later, and preview versions 126.96.36.199 and later.). To create a cluster:
- Create a local YugabyteDB cluster using the Quick start.
- Deploy a YugabyteDB Anywhere universe; refer to Create YugabyteDB universe deployments.
- Deploy a cluster in YugabyteDB Managed.
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 schemacommand.
- Generate a Schema Analysis Report using the
yb-voyager analyze-schemacommand. 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 datacommand.
- Import the schema to the target YugabyteDB database using the
yb-voyager import schemacommand.
- Import the data to the target YugabyteDB database using the
yb-voyager import datacommand.
- Import indexes and triggers to the target YugabyteDB database using the
yb-voyager import schemacommand with an additional