迁移工具

我们建议您根据源数据库和其他因素,使用以下工具来协助您完成 Spanner 迁移的各个阶段。有些工具仅支持特定的源数据库。对于迁移过程的某些步骤,没有可用的工具,因此您必须手动完成这些步骤。

  • Spanner 迁移工具 (SMT) 是一种开源工具,可执行评估、架构转换和数据迁移。如需了解如何设置 Spanner 迁移工具,请参阅设置 Spanner 迁移工具。

  • Datastream 是一种 Google Cloud服务,可让您从源数据库读取变更数据捕获 (CDC) 事件和批量数据,并将其写入指定的目标位置。

  • 批量数据迁移是一个 Dataflow 模板,可让您将大型 MySQL 数据集直接迁移到 Spanner。

  • 实时数据迁移使用 Datastream 和 Dataflow 迁移以下内容:

    • 源数据库中的现有数据。
    • 在迁移期间对源数据库进行的变更的数据流。
  • 数据验证工具 (DVT) 是一种由 Google 构建并受开源社区支持的标准化数据验证方法。您可以将 DVT 集成到现有Google Cloud 产品中。

  • 数据库迁移评估 (DMA) 可提供基本评估,用于将 MySQL 和 PostgreSQL 迁移到 Spanner。

适用于 MySQL 源数据库的迁移工具

如果您的源数据库是 MySQL,则您可以使用 MySQL 转储文件执行一些初始迁移阶段。您必须直接连接到正在运行的源 MySQL 数据库才能完成生产迁移。

下表根据迁移阶段以及您是使用转储文件还是直接连接源数据库来推荐迁移工具:

迁移阶段 转储文件 直接连接到源数据库
评估 将 SMT 与 mysqldump 搭配使用。 将 SMT 与 mysqldump 搭配使用。
架构转换 将 SMT 与 mysqldump 搭配使用。 使用 SMT 配置和转换架构。
示例数据加载 执行批量迁移。
数据迁移 不适用 执行批量迁移,然后执行尽可能减少停机时间的迁移。
数据验证 不适用 使用 DVT。
割接和后备配置 不适用 使用 SMT 进行反向复制。

适用于 PostgreSQL 源数据库的迁移工具

如果您的源数据库使用 PostgreSQL,则您可以使用 PostgreSQL 转储文件执行一些迁移阶段。 您必须直接连接到正在运行的源 PostgreSQL 数据库才能完成迁移。

下表根据迁移阶段以及您是使用转储文件还是从源数据库直接连接来推荐迁移工具:

迁移阶段 转储文件 直接连接到源数据库
评估 将 SMT 与 pg_dump 搭配使用。 使用 DMA。
架构转换 将 SMT 与 pg_dump 搭配使用。 使用 SMT 配置和转换架构。
示例数据加载 执行尽可能减少停机时间的迁移。
数据迁移 不适用 执行尽可能减少停机时间的迁移。
数据验证 不适用 使用 DVT。
割接和后备配置 不适用 不适用

适用于 Cassandra 源数据库的迁移工具

Spanner 提供了一个与 Cassandra 兼容的接口,该接口支持在从 Cassandra 迁移到 Spanner 时几��不更改应用代码。如需详细了解兼容性,请参阅 Cassandra 概览。

下表根据迁移阶段来推荐迁移工具:

迁移阶段 推荐的工具或过程
评估 不适用
架构转换 架构转换工具
数据迁移
数据验证

对于大规模数据库(多于 1000 万行):构建您自己的工具。如需了解详情,请参阅使用行匹配验证 Cassandra 的提示。

对于小规模数据库(少于 1000 万行),请参阅 GitHub 中的示例验证脚本。

故障切换配置 使用 GitHub 中的 Spanner 迁移工具 CLI (SMT) 进行反向复制。