Azure Database for PostgreSQL 中的迁移服务是什么?

适用于: Azure Database for PostgreSQL 灵活服务器

Azure Database for PostgreSQL 中的迁移服务简化了将 PostgreSQL 数据库移动到 Azure 的过程。 迁移服务提供从各种 PostgreSQL 支持的源进行迁移的选项,包括从云服务迁移、从本地环境迁移或从 Azure 中的虚拟机迁移。 迁移服务旨在帮助你轻松、自信地将 PostgreSQL 数据库迁移到 Azure Database for PostgreSQL 灵活服务器。

使用迁移服务的一些优点包括:

  • 托管迁移服务
  • 支持架构和数据迁移
  • 没有复杂的设置
  • 使用 Azure 门户或 Azure CLI 的迁移体验简单易用
  • 数据库大小无限制

下图显示了可以使用 Azure Database for PostgreSQL 中的迁移服务迁移的 PostgreSQL 源。 所有受支持的环境都可无缝转换为 Azure Database for PostgreSQL。

示意图显示不同的 PostgreSQL 源。

下图描述了从 Azure Database for PostgreSQL 单一服务器迁移到 Azure Database for PostgreSQL 灵活服务器所涉及的详细步骤。 此图说明了成功转换到 Azure Database for PostgreSQL 灵活服务器所需的迁移工作流以及迁移的关键阶段。

示意图描绘了如何从单一服务器迁移到灵活服务器。

为何使用灵活服务器?

Azure Database for PostgreSQL 灵活服务器是 Azure 中的下一代托管 PostgreSQL 服务。 由 PostgreSQL 社区版提供支持的 Azure Database for PostgreSQL 提供灵活服务器部署。

Azure Database for PostgreSQL 灵活服务器可最大限度地灵活控制数据库并内置了成本优化功能。 针对同类产品的优势包括:

  • 性能卓越:Azure Database for PostgreSQL 灵活服务器在 Linux VM 上运行,这是最适合运行 PostgreSQL 引擎的 VM。

  • 节省成本:可以在按需服务器上停止和启动 Azure Database for PostgreSQL 灵活服务器,以降低总操作成本 (TCO)。 计算层计费会立即停止,以便在开发和测试期间以及针对限时可预测生产工作负载节省大量成本。

  • 支持新版本的 PostgreSQL:Azure Database for PostgreSQL 灵活服务器支持自版本 11 起的所有主要 PostgreSQL 版本。

  • 尽量降低延迟 – 可以将灵活服务器与应用程序服务器共置在同一可用性区域,以尽量降低延迟。

  • 连接池:Azure Database for PostgreSQL 灵活服务器通过 pgBouncer 插件提供内置连接池机制,以支持数千个开销较低的活动连接。

  • 服务器参数:Azure Database for PostgreSQL 灵活服务器提供一组丰富的服务器参数用于配置和优化。

  • 自定义维护时段 - 可以将灵活服务器的维护时段安排在一周的特定的日期和时间。

  • 高可用性:Azure Database for PostgreSQL 灵活服务器通过配置热备用服务器与主服务器同步,支持在同一可用性区域和跨可用性区域实现高可用性。

  • 安全:Azure Database for PostgreSQL 灵活服务器提供多层信息保护和加密来保护数据。

迁移到 Azure Database for PostgreSQL 灵活服务器

可以从以下选项中进行选择,以便从源 PostgreSQL 服务器迁移到灵活服务器:

脱机迁移:在脱机迁移中,连接到源实例的所有应用程序都会停止。 然后,数据库将复制到灵活服务器。

联机迁移:在联机迁移中,数据库复制到灵活服务器时,连接到源服务器的应用程序不会停止运行。 在创建初始数据库副本后,会通过复制确保灵活服务器与源实例保持同步。 然后执行直接转换,灵活服务器与源实例完全同步,从而尽可能减少停机时间。

下表介绍了脱机和联机选项:

选项 优点 注意事项 建议方案
脱机 - 容易执行,不太复杂。
- 失败的可能性少很多。
- 可以处理的数据库对象数没有限制。
- 应用程序停机时间。 - 最适合简单性和高成功率至关重要的场景。
- 非常适合可以将数据库脱机,但不会对业务运营产生重大影响的场景。
- 适合在计划维护时段内迁移数据库的场景。
联机 - 应用程序停机时间极少。
- 非常适合大型数据库和要求限制停机时间的客户。
- 联机迁移中使用的复制存在一些限制。 例如,所有表中都需要主键。
- 执行起来比脱机迁移更复杂。
- 由于迁移过程比较复杂,失败的可能性更高。
- 如果迁移长时间运行,则会影响源实例的存储和计算。 在迁移过程中需要密切监视影响。
- 最适合连续性至关重要且停机时间必须保持在绝对最低水平的企业。
- 建议在需要不中断正在进行的操作的情况下进行数据库迁移时使用。

下表列出了迁移服务支持的源:

PostgreSQL 源类型 脱机迁移 联机迁移
Azure Database for PostgreSQL - 单一服务器 支持 支持
Amazon RDS for PostgreSQL 支持 支持
本地 支持 支持
Azure 虚拟机 支持 支持
Amazon Aurora PostgreSQL 支持 支持
Google Cloud SQL for PostgreSQL 支持 支持

迁移设置的屏幕截图,显示了不同的源。

使用迁移服务与使用 Azure 数据库迁移服务(经典)相比的优势

以下列表描述了在 Azure Database for PostgreSQL 中使用迁移服务进行 PostgreSQL 迁移的主要优势:

  • 完全托管服务:Azure Database for PostgreSQL 中的迁移服务是完全托管服务。 由我们来处理迁移过程的复杂事项。
  • 全面迁移:支持架构和数据迁移。 将整个数据库环境完整准确地传输到 Azure。
  • 易于设置:该服务采用用户友好型设计,免除了复杂的设置过程,该过程可能会成为启动迁移项目的障碍。
  • 无数据大小约束:该服务能够处理任何大小的数据库,超出了 Azure 数据库迁移服务(经典版)的 1TB 数据迁移限制,因此适用于所有类型的数据库迁移。
  • 解决 Azure 数据库迁移服务(经典)限制:迁移服务解决了 Azure 数据库迁移服务(经典)中的许多问题和限制,以实现更可靠的迁移过程。
  • 接口选项:可以选择基于 Azure 门户的界面以获取直观的体验,也可以选择命令行接口 (Azure CLI) 以实现自动化和脚本编写。

开始使用

通过以下一种方法开始使用迁移服务:

获取详细信息

Azure Database for PostgreSQL 的迁移服务是托管解决方案。 它使用名为 pgcopydb 的二进制文件快速高效地将数据库从源 PostgreSQL 实例复制到 Azure。