写点什么

Spanner Omni 正式可用:采用软件方案替代谷歌原子钟与文件系统

作者:Steef-Jan Wiggers
  • 2026-10-20
    北京
  • 本文字数:2115 字

    阅读完需:约 7 分钟

AI摘要

Spanner Omni 是 Spanner 首个可私有部署版本,通过抽象层替代 Colossus 与 TrueTime,实现跨异构环境运行。工程上采用本地文件系统+网络共享分片、软件时钟同步+误差容忍机制,性能接近托管版但无 SLA 承诺。

替换 Colossus 的抽象层支持自动分片再均衡,不依赖专用存储基础设施。

TrueTime 软件替代方案利用 Spanner 内置时间等待并行化,放宽误差边界仍保障一致性。

改造明确权衡:放弃强 SLA 换取部署灵活性,性能达标但非功能属性降级。

适合分布式数据库架构师、云迁移工程师、金融/政企核心系统DBA阅读。

谷歌正式发布 Spanner Omni,这是其分布式 SQL 数据库的可随处部署版本,可运行在客户自有数据中心、其他云环境,甚至笔记本电脑上。要让 Spanner 脱离谷歌的基础设施,需要替换它最依赖的两个组件:分布式文件系统 Colossus,以及基于原子钟和 GPS 构建的时钟服务 TrueTime,但随之发布的并不包括可用性 SLA。

谷歌对工程层面的改动描述得最为清楚。替代 Colossus 的是谷歌的 类 Colossus 抽象层,它将数据写入本地挂载的文件系统,并通过网络向其他节点共享,自动完成分片拆分和再均衡。谷歌直言其中的权衡:这个文件层并非 Colossus,但对大多数工作负载而言,足以作为替代,提供与托管服务相当的性能表现。

TrueTime 也采用了类似的改造方案。基于软件的替代方案可在各服务器之间提供有误差边界的时间同步,与原版使用原子钟和 GPS 的方式一致。谷歌解释了其可行性,关键在于 Spanner 本身的行为:数据库会将时间不确定性等待与其他任务并行处理,因此它可以接受比原版 TrueTime 更宽松的时间误差边界。正是这部分余量使得跨异构硬件的时间同步成为可能,同时又不会对可用性或性能造成限制。

Paxos 共识算法、自动分片与同步复制功能保持不变。谷歌内部基准测试显示,在单区域部署中可实现每秒数百万次查询、支撑 PB 级数据。

行业从业者的关注点集中在实际运维层面。Q2BSTUDIO 首席技术官 Carlos Pérez Martín 认为,这一变化主要不是设计层面的问题:

真正的转变在运维层面,而非架构层面:一旦相同的数据库引擎运行在你自己的机房机架内,故障就由你自己承担。

他列出了三点影响。需要根据本地延迟预算重新设计仲裁节点与见证节点拓扑;当整个数据中心成为故障单元时,应用感知到的是 P99 延迟,而非平均延迟。补丁、版本升级与回滚不再是云厂商的工单任务,变成需要客户自主负责的变更管理工作。将数据驻留放到私有数据中心,也意味着客户需要自行承担备份、密钥管理与审计相关工作。

他推荐的测试方案不只是对比功能差异:

与托管服务进行一场对等试点,以尾部延迟和运维负担而非功能对齐作为衡量标准,是评估取舍成本最经济的方式。

谷歌官方文档也印证了这一判断。由于 Spanner Omni 运行在客户管理的基础设施上,谷歌不提供可用性 SLA,而是提供参考架构,称借助这些架构可以实现相近的高可用能力。用来替代 SLA 的是一组部署拓扑结构:单服务器(升级会导致停机)、单区域(至少三台服务器)、多区域(至少三个区域、每个区域三台服务器),以及多集群(三个区域分布在两个或更多集群中)。

运维负担也落在了工具链上。日常维护、版本升级和基础设施监控都由客户自行负责,监控通过 Prometheus 告警和 Grafana 仪表盘进行,而非谷歌的 Cloud Monitoring,另有一个诊断命令可用于收集日志、追踪和线程堆栈信息。

评估产品时,另外两项边界限制也值得关注。依赖谷歌云的集成组件无法使用,包括 BigQuery、Knowledge Catalog 和 Gemini 企业版。谷歌承认该版本相比托管版本仍存在功能缺口,但没有说明具体缺哪些功能、何时补齐。文档列出支持的公有云为谷歌云和亚马逊云,同时支持本地部署与笔记本部署,未提及 Azure。

数据库能力完整保留。Spanner Omni 支持 GoogleSQL、PostgreSQL 和 Spanner Graph Language,融合关系、图、键值、向量模型,同时提供全文检索与列式引擎。通过 MCP Toolbox 来支持 MCP,智能体可以读取数据库 Schema,并将数据库作为跨部署环境的运行时记忆层。正式发布版本新增了 TLS 加密、认证与授权、审计日志、备份与恢复能力,以及工作节点——一种无状态计算层,可将后台任务从主服务器上卸载。

许可分为两个版本。开发版可免费用于非生产环境,默认许可 90 天,不含备份功能和工作节点;但不超过 4 vCPU 的单服务器部署不会过期,且包含备份与恢复功能。超出这个范围,使用超过 90 天,则需要填写各个表单申请延期。商业版为按 vCPU 计费的年度订阅,未公布价格。

谷歌披露的早期采用者部署模式也印证了这个运维逻辑。一家企业将托管 Spanner 作为主数据库,在其他地方以 Spanner Omni 作为冷热故障切换方案。另一家在多个环境间统一了数据库层。还有一家在现有硬件上对本地系统进行了现代化改造。谷歌还提到了一种场景:部分司法辖区内谷歌仅有单一数据中心,但存在数据主权合规要求,可借助该产品实现跨区域高可用。

Mercado Libre 曾构建了一个内部开发者网关,提供基于 Spanner 的 NewSQL 服务。在 4 月份预览版发布时,谷歌就从容灾角度给出评价。高级技术经理 Diego Oscar Narducci 表示,公司长期以来对内部威胁、勒索软件和云中断保持警惕,Spanner Omni 实现了跨云弹性,若用其他云服务商来实现复杂度会显著更高。

如果该案例具备代表性,那么选型对比就不是 Spanner Omni 和其他数据库之间的抉择,而是 Spanner Omni 与托管版 Spanner 之间的权衡——代价体现在长尾延迟和运维工作量上,而非功能差异。

还有一点值得注意,谷歌文档中的 Spanner Omni 概览最后更新于 9 月 28 日,即发布公告的前两天,页面上仍带有预览版标识,里面列出的部分限制现已解除,包括无 TLS 加密、无备份或恢复功能,以及部署 90 天后停止接受写入。

查看英文原文:https://www.infoq.com/news/2026/10/spanner-omni-deploy-anywhere-ga/