Spanner Data Boost 是一项全代管式无服务器服务,可为受支持的 Spanner 工作负载提供独立的计算资源。Data Boost 使您可以执行分析查询和数据导出,且对预配的 Spanner 实例上的现有工作负载几乎没有影响。该服务由 Google 在区域一级管理的 Spanner 集群组成。对于请求 Data Boost 的符合条件的查询,Spanner 会以透明的方式将工作负载路由到这些服务器。符合条件的查询是指查询执行计划中的第一个运算符为分布式联合的查询。您无需更改这些查询即可使用 Data Boost。
在以下情况下,Data Boost 的影响最大,因为您希望避免因资源争用而对现有事务系统产生负面影响:
- 涉及处理大量数据的临时或不常执行的查询。一个典型示例是从 BigQuery 到 Spanner 的联合查询。
- 报告或数据导出作业。例如,用于将 Spanner 数据导出到 Cloud Storage 的 Dataflow 作业。
下图展示了 Data Boost 如何与 Spanner 实例协调以提供独立的计算资源。
优势
Data Boost 具有以下优势:
- 提供工作负载隔离。您可以对最新数据运行受支持的查询,而对现有事务型工作负载的影响几乎为零,无论查询复杂性或处理的数据量如何。
- 提供不低于原来延迟时间的延迟时间。
- 避免仅为了支持偶尔的分析查询而过度预配 Spanner 实例。
- 提供高度可伸缩性,并支持更高的查询并行度,可随着突发负载弹性扩缩。
- 提供全面的指标,让管理员能够找出费用最高的查询,并确定要优化的费用组成部分。然后,管理员可以通过监控查询在下次执行时的无服务器处理单元用量来验证优化的影响。
- 无需额外的运维开销。无需管理额外的服务,无需规划或预配容量,无需等待伸缩,也无需进行维护。
权限
运行请求数据提升功能的查询或导出操作的任何主账号都必须拥有 spanner.databases.useDataBoost
Identity and Access Management (IAM) 权限。我们建议您使用 Cloud Spanner Database Reader With DataBoost
(roles/spanner.databaseReaderWithDataBoost
) IAM 角色。
结算和配额
您只需为在 Data Boost 上运行的查询实际使用的处理单元付费。管理员可以设置用量限制,以免超出费用预算。