概念

本页面介绍与 BigQuery Reservations 相关的概念。

Reservations 概念。

管理项目

BigQuery Reservations 可帮助您安全地集中管理整个 Google Cloud 组织的 BigQuery 资源。通过选择单个 Google Cloud 项目作为您的管理项目,即可实现这一点。

要选择管理项目,请在该项目上启用 BigQuery Reservations API。

此项目创建并维护 BigQuery Reservations 资源的所有权,这也是这些资源的主要结算来源。然后,您可以使用分配将这些资源分享给组织中的所有其他项目。Google 建议您创建一个带有描述性名称的新项目。

对于使用管理项目所有的预留的任何项目,您无需为分析(即,运行查询)付费,但需要继续为存储单独付费。

承诺

容量承诺是指购买计算容量,并且具有一定的最短承诺使用期(例如,一个月)。BigQuery 中的计算容量以的形式衡量,槽是一组资源,包括动态数量的 CPU、RAM 和分布式内存。在承诺使用合约期限结束之前无法删除容量承诺。

通过承诺使用合约,可为您的组织采用固定价格。如需了解详情,请参阅 BigQuery 固定价格

行为

  • 最小承诺规模为 500 个槽,承诺能以 500 个槽为单位递增,没有上限。
  • 您可以拥有的承诺数量不受限制。
  • 容量承诺是区域性资源。在一个区域购买的承诺使用合约无法在任何其他区域使用,承诺使用合约也不能在区域之间移动。
  • 承诺使用合约无法升级。如需增加您的净承诺容量,您需要购买额外的合约。
  • 从承诺购买成功之时起,您需要按秒支付费用。
  • 您可以随时将承诺转换为有效期较长的承诺类型。如需了解详情,请参阅将承诺转换为有效期较长的承诺类型

属性

  • 槽计数(创建时指定):
    • 此承诺使用合约中的槽数。
  • 承诺使用合约方案(创建时指定):
    • 承诺使用合约的期限。
  • 状态(由系统生成;创建时不指定):
    • 待处理:请求的容量正在等待预配。
    • 活跃:请求的容量已预配,可立即使用。
  • 承诺结束时间(由系统基于承诺方案生成)。
  • 续订方案(仅适用于年度方案):
    • 指示年度方案在方案结束时间过去时转换为的承诺类型。

承诺方案

BigQuery 提供灵活、月度和年度承诺方案:

  • 灵活槽
    • 承诺生效后 60 秒内无法取消。
    • 60 秒后,您可以随时取消,并且只需要为承诺处于有效状态的秒数付费。
    • 例如:
      • 如果您在 10 月 5 日 6:00:00 购买了一份承诺,则系统将从那一刻起向您收费。
      • 在 10 月 5 日 6:01:00 之前,您无法将其取消。
      • 如果您在 10 月 5 日 6:01:01 取消承诺,则需要支付 61 秒(10 月 5 日 6:00:00 - 10 月 5 日 6:01:01)的费用。
    • 如果您不取消,则需要继续付费。
  • 月度承诺
    • 承诺使用合约生效后 30 天内无法取消。
    • 30 天后,您可以随时取消,您只需要为承诺使用合约处于活跃状态的秒数付费。
    • 例如:
      • 如果您在 10 月 5 日 6:00:00 购买了一份承诺,则系统将从那一刻起向您收费。
      • 在 11 月 4 日 6:00:00 之前,您无法将其取消。
      • 如果您在 11 月 5 日 7:10:10 取消合约,则需要支付 30 天外加 1 天 1 小时 10 分 10 秒的费用(10 月 5 日 6:00:00 - 11 月 5 日 7:10:10)。
    • 如果您不取消,则需要继续付费。
  • 年度承诺使用合约
    • 承诺生效后 365 天内无法取消。
    • 在承诺结束日期之前,您可以选择续订年度承诺,或者将其转换为月度承诺或灵活承诺。如需了解详情,请参阅续订承诺
    • 例如:
      • 如果您在 2019 年 10 月 5 日 6:00:00 购买了一份承诺使用合约,则系统将从那一刻起向您收费。
      • 在 2020 年 10 月 4 日 6:00:00 之前,您无法将其取消或续订(2020 年是闰年)。
      • 如果您在 2020 年 10 月 4 日 6:00:00 之前选择自动续订,那么在 2020 年 10 月 4 日 6:00:00,您的承诺将续订一年。
      • 如果您在 2020 年 10 月 4 日 6:00:00 之前选择续订灵活承诺,那么在 2020 年 10 月 4 日 6:00:00,您的承诺将转至灵活承诺且您需要按灵活槽费率付费,您可以随时将其取消。
      • 如果您在 2020 年 10 月 4 日 6:00:00 之前选择续订月度承诺,那么在 2020 年 10 月 4 日 6:00:00,您的承诺将转至月度承诺且您需要按月承诺费率付费,30 天内无法取消。
  • 试用槽

    • 承诺生效后 182 天内无法取消。
    • 182 天后,您的承诺将转换为灵活槽,您可以随时取消,并且只需要为承诺处于有效状态的秒数付费。系统将开始按灵活槽费率向您收费。
    • 例如:
      • 如果您在 10 月 5 日 6:00:00 购买了一份承诺,则系统将从那一刻起向您收费。
      • 在 2021 年 4 月 5 日 6:00:00 之前,您无法将其取消。
      • 在 2021 年 4 月 5 日 6:00:00,您的承诺将转换为灵活槽,系统将按灵活槽费率向您收费,并且可以随时取消。

续订承诺

对于年度承诺,您可以在承诺结束日期之前选择承诺结束后如何处理承诺。您可以使用以下选项:

  • 再续订一年。
  • 拒绝续订。在承诺结束日期后,转换为月度承诺。您需要按月费率付费且可以随时取消。
  • 拒绝续订。在承诺结束日期后,转换为灵活承诺。您需要按灵活槽费率付费且可以随时取消。

如需详细了解如何选择续订选项,请参阅续订承诺

取消承诺

创建承诺后,在承诺结束时间之前您无法将其取消。

如果您不小心购买了承诺,或者配置承诺出错,请与 Google Cloud Billing 支持团队联系以获取帮助。

预留

借助预留,您可以跨工作负载、团队和部门拆分容量承诺。每个预留都是独立的 BigQuery 槽池,它具备一项额外优化,即空闲容量可在预留之间无缝共享。

首次购买槽后,系统会自动创建名为 default 的预留。default 预留没有什么特别之处;它只是为了方便您使用。用户可以创建更多预留供自己使用,并专门为这些预留分配槽。

您可以将项目、文件夹和组织分配给预留。从分配给预留的项目启动的作业将通过该预留运行。将多个项目分配给预留时,槽首先在项目之间均匀分布,然后在项目中的作业内分布。

预留。

空闲槽

在某一预留中运行的查询会自动使用其他预留中的空闲槽。空闲容量会立即根据需要抢占回父级预留。这不会导致任何使用空闲容量的查询发生中断。此操作会自动实时进行。

通过将 ignore_idle_slots 设置为 true,预留可以停用此功能,并且仅使用为其明确预配的槽。

未分配的槽

未分配的槽是指已被承诺使用但未分配给任何特定预留的槽。未分配的槽不会浪费,而是由您的项目和查询根据在预留之间共享槽中所述的规则均匀共享。

预留中的槽共享

BigQuery 调度器会强制先在一个预留中正在运行的查询所属的各项目之间均匀共享槽,然后再在给定项目的作业内进行共享。调度器提供最终公平性,因此,某些作业可能会在短期内获得不成比例的槽,但调度器最终会纠正此情况。调度器的目标是针对正在运行的任务,在过于严格的逐出规则(导致浪费槽时间)和过于宽松的逐出规则(导致包含长时间运行的任务的作业获得不成比例的槽时间)之间找到一个折中点。

如果某个重要作业经常受到该公平性政策的影响,那么请考虑创建带有保证槽数的额外预留(请参阅工作负载管理)。然后,该作业可分配给新预留,从而为其提供最少数量的槽。

在多个预留之间共享槽

共享未分配或空闲的槽的方式与在一个预留中共享槽的方式非常相似。槽会先在 ignore_idle_slots 设置为 false 的所有预留中正在运行的查询所属的所有项目中均匀共享,然后再在这些项目所含的查询中均匀共享。

空闲槽或未分配的槽仅会在同一管理项目中创建的预留之间共享。如果您使用的是不同的管理项目创建预留,则这些管理项目中的预留之间没有空闲槽共享。

分配

分配用于将项目、文件夹和组织分配给预留。分配给预留的项目使用该预留来处理作业。

可为两种作业类型进行分配:

  • 作业类型为 QUERY 的分配决定了查询的预留分配,包括 SQL、DDL、DML 和 BigQuery 机器学习查询。
  • 作业类型为 PIPELINE 的分配指示批量加载和提取作业应使用预留。

预留分配可以在项目、文件夹或组织级层进行。文件夹或组织级层的分配决定了该文件夹或组织中的所有项目均使用特定预留。最低级别的分配会替换较高级别的分配,因此,特定项目可替换默认的组织分配。

预留分配包含以下元素:

  • 获分配者:可使用预留中分配的容量运行查询的预留用户。这可以是项目、文件夹或组织。
  • 作业类型:该分配用于的作业类型。

后续步骤