Stay organized with collections
Save and categorize content based on your preferences.
We recommend using the following tools to assist you in various stages of your
migration, depending on your source database and other factors. Some tools only
support certain source databases. For some steps of the migration process, no
tool is available, so you must complete those steps manually.
Datastream is a Google Cloud
service that lets you read change data capture (CDC) events and bulk data from
a source database and write to a specified destination.
Bulk data migration
is a Dataflow template that lets you migrate large MySQL
data sets directly to Spanner.
Stream of changes that are made to your source database during the migration.
Data Validation Tool (DVT)
is a standardized data validation method built by Google and supported by
the open source community. You can integrate DVT into existing
Google Cloud products.
If your source database is MySQL, then you can perform some of the initial
migration stages using MySQL dump files. You must directly connect
to your running source MySQL database to complete a production migration.
The following table recommends migration tools based on the migration stage and
whether you're using a dump file or directly connecting your source
database:
If your source database uses PostgreSQL, then you can perform some of
the migration stages using a PostgreSQL dump file.
You must directly connect
to your running source PostgreSQL database to complete the migration.
The following table recommends migration tools based on the migration stage and
whether you're working with a dump file or directly connecting from your source
database:
Spanner offers a Cassandra-compatible interface that
supports near-zero application code changes when migrating from
Cassandra to Spanner. For more information about
compatibility details, see the Cassandra overview.
The following table recommends migration tools based on the migration stage:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[],null,["# Migration tools\n\nWe recommend using the following tools to assist you in various stages of your\nmigration, depending on your source database and other factors. Some tools only\nsupport certain source databases. For some steps of the migration process, no\ntool is available, so you must complete those steps manually.\n\n- [Spanner migration tool (SMT)](https://github.com/GoogleCloudPlatform/spanner-migration-tool)\n is an open-source tool that performs assessments, schema conversion,\n and data migrations. For information on setting up the\n Spanner migration tool, see\n [Set up Spanner migration tool](/spanner/docs/migration-tools-setup).\n\n- [Datastream](/datastream/docs/overview) is a Google Cloud\n service that lets you read change data capture (CDC) events and bulk data from\n a source database and write to a specified destination.\n\n- [Bulk data migration](/dataflow/docs/guides/templates/provided/sourcedb-to-spanner)\n is a Dataflow template that lets you migrate large MySQL\n data sets directly to Spanner.\n\n- [Live data migration](https://googlecloudplatform.github.io/spanner-migration-tool/minimal)\n uses Datastream and Dataflow to migrate:\n\n - Existing data in your source database.\n - Stream of changes that are made to your source database during the migration.\n- [Data Validation Tool (DVT)](https://github.com/GoogleCloudPlatform/professional-services-data-validator)\n is a standardized data validation method built by Google and supported by\n the open source community. You can integrate DVT into existing\n Google Cloud products.\n\n- [Database Migration Assessment (DMA)](https://googlecloudplatform.github.io/database-assessment/)\n offers a basic assessment to migrate MySQL and PostgreSQL to\n Spanner.\n\n### Migration tools for MySQL source databases\n\nIf your source database is MySQL, then you can perform some of the initial\nmigration stages using MySQL dump files. You must directly connect\nto your running source MySQL database to complete a production migration.\n| **Note:** If your source database is not a MySQL or PostgreSQL and you have a sample dump file in a CSV, Avro, or Parquet file format, you can [load the file to BigQuery](/bigquery/docs/loading-data-cloud-storage-csv) and [copy to Spanner using reverse ETL](/bigquery/docs/export-to-spanner). For all other migration stages, you need to evaluate custom solutions.\n\nThe following table recommends migration tools based on the migration stage and\nwhether you're using a dump file or directly connecting your source\ndatabase:\n\n### Migration tools for PostgreSQL source databases\n\nIf your source database uses PostgreSQL, then you can perform some of\nthe migration stages using a PostgreSQL dump file.\nYou must directly connect\nto your running source PostgreSQL database to complete the migration.\n\nThe following table recommends migration tools based on the migration stage and\nwhether you're working with a dump file or directly connecting from your source\ndatabase:\n\n### Migration tools for a Cassandra-source databases\n\n|\n| **Preview\n| --- Cassandra**\n|\n|\n| This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nSpanner offers a Cassandra-compatible interface that\nsupports near-zero application code changes when migrating from\nCassandra to Spanner. For more information about\ncompatibility details, see the [Cassandra overview](/spanner/docs/non-relational/spanner-for-cassandra-users).\n\nThe following table recommends migration tools based on the migration stage:"]]