AlloyDB Omni 在标准 PostgreSQL 的基础上新增的功能

选择文档版本:

本页面将 AlloyDB Omni 与用户自行管理的环境中的标准社区版 PostgreSQL 进行比较,重点介绍两者在技术、运维和功能方面的差异,这些差异在您通过 Kubernetes 操作器部署的 AlloyDB Omni 中最为明显。如需了解详情,请参阅 AlloyDB Omni 概览

如果使用自行管理的数据库(可在本地、其他云端、开发者笔记本电脑或边缘位置进行部署),则意味着用户必须预配和管理底层基础架构,例如硬件、操作系统 (OS) 和网络。

AlloyDB Omni 是一种能够高效运维的高性能数据库,可以提供以下功能:

  • 集成式内核增强功能,例如用于执行分析的列式引擎和用于执行向量搜索的 Google 可扩容最近邻 (ScaNN) 索引。
  • Autopilot 功能,例如自动内存管理、自适应自动完全清理 (autovacuum) 和索引顾问,这些功能有助于简化数据库管理。
  • Google 提供的供应商支持,可帮助您更快地修复 bug。

标准 PostgreSQL 是一款功能强大的免费开源解决方案。AlloyDB Omni 可为要求严苛的工作负载提供商业支持,为其提供增强的性能、更低的运维开销、高级功能以及直接的供应商支持。考虑到 AlloyDB Omni 在标准 PostgreSQL 的基础上新增的这些功能,那么为其支付的许可费用也是确有所值的。

AlloyDB Omni 在 PostgreSQL 的基础上新增的功能的摘要

AlloyDB Omni 在 PostgreSQL 的基础上新增了以下功能:

  • 性能与可伸缩性:AlloyDB Omni 经过专门设计,与标准 PostgreSQL 相比,能够提供更高的事务性能、更快的分析速度(通过内置的列式引擎实现)以及更好的可伸缩性(通过提供更多 CPU 和内存资源实现)。
  • 高级向量搜索:与标准 pgvector 及分层可导航小世界 (HNSW) 算法相比,AlloyDB Omni 使用 Google 的 ScaNN 索引来执行可扩容的向量搜索,速度更快、更节省内存。
  • 自动管理 (Autopilot):AlloyDB Omni 提供自适应完全清理 (vacuum)、自动内存管理和索引顾问等功能,可自动执行复杂的调优。这些功能可减轻运维负担并提高数据库稳定性。
  • bug 修复和补丁发布速度更快:Google 通过商业支持直接为 AlloyDB Omni 提供补丁和安全修复,发布速度可能比 PostgreSQL 社区发布流程更快。
  • 集成式功能:与标准 PostgreSQL 相比,AlloyDB Omni 内置了混合事务处理和分析处理 (HTAP)、高级向量搜索及高可用性 (HA) 功能,减少了对外部工具或复杂配置的需求。
  • 费用和许可:标准 PostgreSQL 是一款免费的开源软件。AlloyDB Omni 是一款商业软件,您可以免费部署它来用于开发和非商业用途。不过,您需要获得许可才能在生产环境中运行 AlloyDB Omni。尽管存在软件成本,但 AlloyDB Omni 所提供的高效功能仍具有不俗的总拥有成本 (TCO) 优势。

数据库功能对比

下表列出了 AlloyDB Omni 与 PostgreSQL 之间的功能差异:

功能 标准 PostgreSQL AlloyDB Omni AlloyDB Omni 的优势
核心兼容性 PostgreSQL 兼容性的基准标准。

全面兼容 PostgreSQL 15 和 PostgreSQL 16。

与标准 PostgreSQL 及客户端工具完全兼容。

现有应用的运行方式不变。

AlloyDB Omni 经过专门设计,能够取代标准 PostgreSQL 使用,此外还提供了一些额外的功能及性能方面的增强。
性能:在线事务处理 (OLTP)

其性能取决于硬件、操作系统调优、PostgreSQL 配置和工作负载的具体情况。

在标准配置中,对于可调整 CPU 核心数量的场景,通常随着 vCPU 数量的增多,回报比反而会下降。

与在类似硬件上运行的标准 PostgreSQL 相比,事务处理速度方面的性能最多可提升一倍。

经过专门设计,可随着资源的增加更有效地进行扩容。

AlloyDB Omni 使用内核增强功能并提供优化的资源利用率,能够在现代硬件上实现更高的吞吐量、更低的延迟时间及更高效的扩缩能力。这有助于提高数据库性能及性价比。

借助 AlloyDB Omni,您可以将计算需求(尤其是 vCPU 和内存需求)最多减少 50%。

分析:混合事务和分析处理 (HTAP)

依赖于标准的基于行的数据,没有内置的列式存储。

分析查询通常需要手动优化(例如建立索引和进行分区),或者需要借助于扩展程序。

全表扫描速度可能较慢,并且可能会影响 OLTP 性能。

包含自动管理的内置列式引擎。

运行分析查询的速度是标准 PostgreSQL 的 100 倍。加快了扫描、联接和聚合速度,并且对事务型工作负载的影响极小。

能够配置额外的专用快速存储空间来缓存列式数据。

AlloyDB Omni 提供强大的集成式 HTAP 功能,可减少对独立分析系统或混合工作负载的复杂调优需求。
向量搜索:AI/机器学习

需要您安装和管理 pgvector 扩展程序,通常使用 HNSW 索引。

性能和内存用量取决于数据大小及调优方式。

您可以使用 AlloyDB AI 构建应用,AlloyDB AI 提供了经过优化且兼容 pgvector 的向量搜索。

除了增强型 pgvector 之外,AlloyDB Omni 还支持 Google 的 ScaNN 索引技术。

可将向量查询速度提高到原来的 10 倍,同时减少内存占用(减少到原来的三分之一到四分之一)。

与 HNSW 相比,索引构建速度更快,尤其是对于包含数十亿向量的大规模场景。

AlloyDB Omni 提供增强型集成式向量功能,可使用 Google 的高级 ScaNN 索引,在 AI 应用中实现更优异的性能、可伸缩性和资源效率。
架构:存储和缓存

使用标准堆表和预写式日志记录 (WAL)。

依赖于操作系统页缓存和手动调优的 PostgreSQL 共享缓冲区。

使用 AlloyDB for PostgreSQL 的内核增强功能中的概念,并可在计算层进行本地调整。

提供智能多层缓存功能,包括可配置的超快二级缓存。

AlloyDB Omni 经过专门设计,改进了 I/O 效率和缓存系统,从而提高了性能。
Autopilot:管理和调优

需要投入大量手动工作量来对以下内容进行调优:

  • Postgresql.conf
  • 完全清理 (vacuum) 策略(对性能至关重要)
  • 内存分配
  • 索引管理

提供 Autopilot 功能来简化操作:

  • 自动内存管理,可消除内存不足 (OOM) 问题。
  • 自适应自动完全清理 (autovacuum),可自动优化完全清理 (vacuum) 频率和强度。
  • 索引顾问,可分析查询句式并建议有用的索引。

AlloyDB Omni 增加了以下功能:

  • 自动执行复杂的关键调优任务。
  • 减少运维开销。
  • 提升稳定性。
  • 提升数据库性能,同时可减少人工干预。
高可用性 (HA)

需要您手动配置流式复制(包括同步和异步)以及 Patroni 等外部监控工具。

设置和管理流程复杂。

提供集成式高可用性机制,尤其是在您使用 AlloyDB Omni Kubernetes 操作器的情况下,该操作器可管理备用实例、自动故障切换和修复。

备用实例可以选择性地提供读取服务。

与标准 PostgreSQL 所需的手动配置相比,AlloyDB Omni 可在使用操作器的 Kubernetes 环境中简化高可用性的部署和管理流程。
管理:安装

提供标准的操作系统软件包管理系统安装或源代码编译。

需要手动管理依赖项。

以 Docker 容器的形式交付。

捆绑依赖项。

可以独立运行,也可以在 Kubernetes 环境中使用 AlloyDB Omni 操作器运行。如需了解详情,请参阅可用的 AlloyDB Omni 下载及安装选项

AlloyDB Omni 容器化交付可简化设置并确保环境一致性。
管理:备份

需要手动设置以下内容:

  • 备份工具,例如 pg_dumppgBackRest
  • 时间点恢复 (PITR) 策略,例如 WAL 归档。

AlloyDB Omni 提供内置的持续备份和恢复工具,这些工具作为 AlloyDB Omni 操作器的一部分提供,可支持 PITR。

如果您没有安装该操作器,也可以使用 PostgreSQL 支持的备份工具。

AlloyDB Omni Kubernetes 操作器集成了备份功能,可简化数据保护流程。
管理:更新和 bug 修复

依赖于 PostgreSQL 社区发布时间表,来发布包含 bug 修复和安全补丁的次要版本。

如要在社区发布相应版本之后应用修复,则必须进行手动升级。

Google 会通过发布新的容器映像和操作器更新直接提供定期软件更新。这些更新包括 AlloyDB Omni 特定的安全补丁和 bug 修复。 AlloyDB Omni 用户直接从 Google 获取这些补丁和修复。
扩展程序

提供广泛的生态系统。

可以手动安装标准 PostgreSQL。

除了 google_*alloyDB* 等 AlloyDB Omni 增强扩展程序之外,还支持最常用的 PostgreSQL 扩展程序

取决于受支持的扩展程序:可参照支持的 AlloyDB Omni 扩展程序确认具体的扩展程序需求。
许可

使用开源 PostgreSQL 许可。

可免费下载并用于任何用途。

商业软件。

可以免费下载 AlloyDB Omni,并将其用于开发和测试等非商业用途。

不过,需要购买 vCPU 订阅才能在生产环境中运行 AlloyDB Omni

标准 PostgreSQL 软件可供免费使用。

AlloyDB Omni 需要按 vCPU 购买许可之后才能在生产环境中使用。

AlloyDB Omni 提供灵活企业折扣。

AlloyDB Omni 可与 AlloyDB for PostgreSQL 搭配使用,实现可移植性。

费用

为了在 PostgreSQL 中让工具实现自动化操作,需要投入基础设施费用和额外的人力。

没有软件许可费。

不过,如果选择第三方支持服务,则需要支付相应费用。

您可以免费部署和使用 AlloyDB Omni,但仅限用于非生产用途。需要购买按月订阅才能在生产环境中运行 AlloyDB Omni

提供支持团队。

AlloyDB Omni 尽力通过提供高效的自动化工具来实现更高的性价比,且可能降低总拥有成本。

尽管 AlloyDB Omni 有软件费用,不过相比标准 PostgreSQL,由于它能够提供自动化工具和更高的性价比,因此可以降低计算和运维成本。
支持

提供社区支持,例如论坛和相关列表。

可通过第三方供应商提供商业支持。

问题解决流程取决于社区优先级和发布周期。

AlloyDB Omni 提供 Google Cloud Customer Care 支持服务。 与 PostgreSQL 社区流程相比,可能具有更快的问题解决速度。

对于没有 AlloyDB Omni 订阅的非生产用途,可以通过 Google Cloud 社区论坛获取一定支持。

AlloyDB Omni 可为 Google Cloud 平台提供可能更快的 Google Cloud Customer Care 支持。

后续步骤