你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

什么是已启用 Azure Arc 的超大规模 PostgreSQL

注意

作为预览版功能,本文中介绍的技术受制于 Microsoft Azure 预览版补充使用条款

发行说明中提供了最近的更新。

什么是 Azure Arc、已启用 Azure Arc 的数据服务和已启用 Azure Arc 的超大规模 PostgreSQL?

Azure Arc 是 Azure 混合系列的支柱产品之一:Azure Arc、Azure Stack 和 Azure IoT。 Azure Arc 通过简化客户体验来帮助客户管理其混合部署的复杂性。 如果使用 Azure Stack,Microsoft 或其合作伙伴可以提供硬件和软件(设备)。 如果使用 Azure Arc,Microsoft 只能提供软件。 客户或其合作伙伴提供支持基础结构并运行解决方案。 Azure Stack 支持 Azure Arc。 使用 Azure Arc 可以在位于 Azure 数据中心外部的基础结构上运行 Azure 服务,并可根据需要与其他 Azure 托管服务集成。

已启用 Azure Arc 的数据服务是 Azure Arc 的一部分。它是可供客户用来管理其数据的一套产品和服务。 这些服务使客户能够:

  • 在任何物理基础结构上运行 Azure 数据服务
  • 通过在任何位置使用相同的云技术来优化运营
  • 无论应用程序或数据库托管在何处(在 Azure PaaS 或 Azure Arc 中),都可以使用相同的底层技术来优化应用程序开发
  • 在自己的数据中心使用云技术,同时满足法规要求(数据驻留和客户控制)。 换句话说,“即使你无法接入到云,云也能找上门来。”

已启用 Azure Arc 的数据服务带来的部分价值包括:

  • 始终最新
  • 弹性缩放
  • 自助式预配
  • 统一管理
  • 云计费
  • 支持连接到 Azure 和偶尔连接到 Azure 的方案。 (直接与间接连接模式)

已启用 Azure Arc 的超大规模 PostgreSQL 是已启用 Azure Arc 的数据服务中提供的数据库引擎之一。

Microsoft 在 Azure 中提供的 Postgres 解决方案的比较

Microsoft 通过两种方式在 Azure 中提供 Postgres 数据库服务:

  • 作为 Azure PaaS(平台即服务)中的托管服务
  • 作为使用 Azure Arc 的半托管服务,因为它由客户或其合作伙伴/供应商运营

在 Azure PaaS 中

Azure PaaS 中,Microsoft 为 PostgreSQL 提供托管服务形式的多种部署选项:

Azure Database for PostgreSQL 单一服务器和 Azure Database for PostgreSQL 灵活服务器。 这些服务是 Microsoft 管理的单节点/单实例 Postgres 规格。 Azure Database for PostgreSQL 灵活服务器是此服务的最新发展成果。

Azure Database for PostgreSQL

Azure Database for PostgreSQL 超大规模 (Citus)。 此服务是 Microsoft 管理的多节点/多实例 Postgres 规格。 它由 Postgres 的 Citus 扩展提供支持,该扩展将单节点 Postgres 转换为分布式数据库系统。 当你横向扩展此服务时,它会分发数据和查询,这使工作负载有可能达到前所未有的规模和性能级别。 应用程序会看到单个 Postgres 实例(也称为服务器组)。 不过,在幕后,此服务器组由多个协同工作的 Postgres 实例构成。 当你横向扩展此服务时,会增加服务器组中的 Postgres 实例数量,这有可能会提高工作负载的性能和可伸缩性。 你可以根据自己的需求和工作负载的特征,确定要向服务器组添加多少个 Postgres 实例。 有关更多见解,请观看以下视频:

Azure Database for PostgreSQL Hyperscale (Citus)

使用 Azure Arc

Microsoft 通过 Azure Arc 提供单个 Postgres 产品/服务:已启用 Azure Arc 的超大规模 PostgreSQL 。 借助 Azure Arc,我们通过提供一个具有以下功能的 Postgres 产品,简化了 PostgreSQL 的产品定义和客户体验,使其不如 Azure PaaS 那么复杂:

  • 部署单节点/单实例 Postgres,例如 Azure Database for PostgreSQL 单一服务器/灵活服务器;
  • 部署多节点/多实例 Postgres,例如 Azure Database for PostgreSQL 超大规模 (Citus);
  • 客户能够更灵活按需将其 Postgres 部署从 Postgres 单节点转变为多节点,反之亦然。 他们可以使用一个简单体验实现此目的,且无需进行数据迁移。

Azure Arc-enabled PostgreSQL Hyperscale

如同其在 Azure PaaS 中的同类服务一样,在多节点/实例形式中,Postgres 由 Citus 扩展提供支持,该扩展可将单节点 Postgres 转换为分布式数据库系统。 当你横向扩展此服务时,它会分发数据和查询,这使工作负载有可能达到前所未有的规模和性能级别。 应用程序会看到单个 Postgres 实例(也称为服务器组)。 不过,在幕后,此服务器组由多个协同工作的 Postgres 实例构成。 当你横向扩展此服务时,会增加服务器组中的 Postgres 实例数量,这有可能会提高工作负载的性能和可伸缩性。 你可以根据自己的需求和工作负载的特征,确定要向服务器组添加多少个 Postgres 实例。 如果需要,可将服务器组中的 Postgres 实例数量减至 1。 Microsoft 通过 Azure Arc 提供的所有 Postgres 部署都支持超大规模。

通过已启用 Azure Arc 的数据服务提供的直接连接模式,可以从 Azure 门户部署已启用 Azure Arc 的超大规模 PostgreSQL。 如果使用间接连接模式,则会从托管已启用 Azure Arc 的超大规模 PostgreSQL 的基础结构部署该服务。

使用已启用 Azure Arc 的超大规模 PostgreSQL,可以:

  • 方便地管理 Postgres
    • 使用一条命令预配/取消预配 Postgres 实例
    • 采用任何规模:纵向扩展/缩减、横向扩展/缩减
  • 简化监视、故障转移、备份、修补/升级、访问控制等功能
  • 以前所未有的规模和性能生成 Postgres 应用
    • 跨多个 Postgres 实例横向扩展计算
    • 分发数据和查询
    • 运行 Citus 扩展
    • 将标准 PostgreSQL 转换为分布式数据库系统
  • 在任何基础结构上部署 Postgres
    • 本地、多云(AWS、GCP、Azure)、边缘
  • 与 Azure 集成(可选)
  • 为使用的资源付费(按用量计费)
  • 从 Microsoft 获取 Postgres 支持

其他注意事项:

  • 已启用 Azure Arc 的超大规模 PostgreSQL 不是新的数据库引擎,也不是现有数据库引擎的特定版本。 它是 Azure PaaS 中运行的同一个数据库引擎。 请记住,如果使用 Azure Arc,则即使你无法接入 Microsoft 云,Microsoft 云也能找上门来。 Azure Arc 的创新体现在 Microsoft 提供此数据库引擎的方式,以及 Microsoft 围绕此数据库引擎提供的体验。

  • 已启用 Azure Arc 的超大规模 PostgreSQL 也不是数据复制解决方案。 你的业务数据保留在你自己的 Arc 部署中。 它不会复制到 Azure 云, 除非你选择设置数据库引擎的相应功能,例如数据复制/只读副本。 在这种情况下,你的数据可能会复制到 Postgres 部署之外:这不是因为使用了 Azure Arc,而是因为你已选择设置相应的数据复制功能。

  • 无需为工作负载使用特定的驱动程序或提供程序即可针对已启用 Azure Arc 的超大规模 PostgreSQL 运行。 任何“Postgres 应用程序”都应该可以针对已启用 Azure Arc 的超大规模 PostgreSQL 运行。

  • 横向扩展和缩减操作不是自动的。 它们由用户控制。 用户可以编写这些操作的脚本并自动执行这些脚本。 并非所有工作负载都能从横向扩展中受益。请阅读“后续步骤”部分建议的有关此主题的更多详细信息。

若要详细了解这些功能,还可以参阅此“公开的数据”系列文章:

角色和责任:Azure 托管服务(平台即服务 (PaaS))与已启用 Azure Arc 的数据服务

Roles and responsibilities Azure PaaS vs. Azure Arc

后续步骤