谷歌正式发布Spanner Omni,这是其分布式SQL数据库的首个可私有部署版本,可运行在客户自有数据中心、其他云环境甚至笔记本电脑上,但随之发布的并不包括可用性SLA。要让Spanner脱离谷歌基础设施,需替换其最依赖的两个组件:分布式文件系统Colossus,以及基于原子钟和GPS构建的时钟服务TrueTime。
替代Colossus的是谷歌的类Colossus抽象层,它将数据写入本地挂载的文件系统,并通过网络向其他节点共享,自动完成分片拆分和再均衡,不依赖专用存储基础设施。谷歌直言其中的权衡:这个文件层并非Colossus,但对大多数工作负载足以作为替代,性能与托管服务相当。TrueTime的软件替代方案在各服务器之间提供有误差边界的时间同步,由于Spanner会将时间不确定性等待与其他任务并行处理,因此可以接受比原版更宽松的误差边界,使跨异构硬件的时间同步成为可能,同时不限制可用性或性能。
Paxos共识算法、自动分片与同步复制功能保持不变。谷歌内部基准测试显示,单区域部署可实现每秒数百万次查询、支撑PB级数据。数据库能力完整保留,支持GoogleSQL、PostgreSQL和Spanner Graph Language,融合关系、图、键值、向量模型,并提供全文检索与列式引擎。
由于运行在客户管理的基础设施上,谷歌不提供可用性SLA,而是提供参考架构,称借助这些架构可实现相近的高可用能力。替代SLA的是一组部署拓扑:单服务器(升级会导致停机)、单区域(至少三台服务器)、多区域(至少三个区域、每个区域三台服务器)以及多集群(三个区域分布在两个或更多集群中)。日常维护、版本升级和基础设施监控均由客户自行负责,监控通过Prometheus告警和Grafana仪表盘进行。
评估时还需注意边界限制:依赖谷歌云的集成组件无法使用,包括BigQuery、Knowledge Catalog和Gemini企业版;谷歌承认该版本相比托管版仍存在功能缺口,但未说明具体缺哪些功能、何时补齐。文档列出的支持公有云为谷歌云和亚马逊云,同时支持本地部署与笔记本部署,未提及Azure。Q2BSTUDIO首席技术官Carlos Pérez Martín认为,真正的转变在运维层面而非架构层面,建议与托管服务进行对等试点,以尾部延迟和运维负担而非功能对齐作为衡量标准。