配额和限制

本文档列出了适用于 Bigtable 的配额和系统限制。

  • 配额用于指定您可以使用的可计数共享资源的数量。配额由 Bigtable 等 Google Cloud 服务定义。
  • 系统限制是无法更改的固定值。

Google Cloud 使用配额来帮助确保公平性并减少资源使用和可用性的激增。配额用于限制您的 Google Cloud 项目可使用的 Google Cloud 资源的数量。配额适用于一系列资源类型,包括硬件、软件和网络组件。例如,配额可以限制对某项服务的 API 调用次数、您的项目并发使用的负载均衡器数量或者您可以创建的项目数量。配额可以防止服务过载,从而保护 Google Cloud 用户社区。配额还可帮助您管理自己的 Google Cloud 资源。

Cloud 配额系统执行以下操作:

  • 监控 Google Cloud 产品和服务的消耗情况
  • 限制这些资源的消耗量
  • 提供请求更改配额值的方法

在大多数情况下,当您尝试消耗的资源超出其配额允许的范围时,系统会阻止对资源的访问,并且您尝试执行的任务会失败。

配额通常在 Google Cloud 项目级层应用。您在一个项目中使用资源不会影响您在另一个项目中的可用配额。在 Google Cloud 项目中,配额在所有应用和 IP 地址间共享。

如需调整大多数配额,请使用 Google Cloud 控制台。如需了解详情,请参阅申请配额调整

Bigtable 资源也有系统限制。系统限制不能更改。

配额

本节介绍您在使用 Bigtable 时普遍适用的默认配额。

管理操作配额

以下配额会影响您在指定时间内可以执行的 Bigtable 管理操作次数(对管理 API 的调用次数)。

通常,除非另有说明,否则您不能申请增加管理操作配额。如果提供强有力的理由,则有时会允许例外情况。但是,您的应用对管理 API 进行的调用次数不应在使用量增加时增加。如果发生这种情况,通常表明您的应用代码正在对管理 API 进行不必要的调用,您应该更改应用,而不是申请增加管理操作配额。

每日配额会在美国太平洋时间零点重置。

名称 说明 默认配额
实例和集群
实例和集群读取请求 读取实例或集群的配置(例如,实例名称或集群中的节点数),或读取实例列表

每个项目每天 86.4 万次操作(平均每秒 10 次操作)

每位用户每分钟:1000 次操作

实例和集群写入请求 更改实例或集群的配置(例如,实例名称或集群中的节点数),或创建新实例

每个项目每天 500 次操作

每位用户每分钟:100 次操作

应用配置文件
应用配置文件读取请求 读取应用配置文件的配置

每个项目每分钟:5000 次操作

每位用户每分钟:1000 次操作

应用配置文件写入请求 更改应用配置文件的配置

每个项目每分钟:500 次操作

每位用户每分钟:100 次操作

Tables
表管理员读取请求 读取表的配置(例如,有关其列族的详细信息),或读取表的列表

每个项目每天 86.4 万次操作(平均每秒 10 次操作)

每位用户每分钟:1000 次操作

表管理员写入请求 更改表的配置(例如,列族的垃圾回收设置)

每个项目每天 5000 次操作

每位用户每分钟:100 次操作

DropRowRange 方法 在单次操作中从表中删除一系列行。

每个项目每天 5000 次操作

每位用户每分钟:100 次操作

备份
备份操作 创建、更新和删除备份。

每个项目每天 1000 次操作

每位用户每分钟:10 次操作1

备份检索请求 获取和列出备份。

每个项目每天 86.4 万次操作

RestoreTable 方法 将备份恢复到新表。

每个项目每天 5000 次操作

每位用户每分钟:100 次操作

Identity and Access Management
精细 ACL Get 请求 读取 Bigtable 实例的 IAM 政策信息,或测试实例的 IAM 权限。

每个项目每天 86.4 万次操作(平均每秒 10 次操作)

每位用户每分钟:1000 次操作

精细 ACL Set 请求 更改 Bigtable 实例的 IAM 政策。

每个项目每天 86.4 万次操作(平均每秒 10 次操作)

每位用户每分钟:1000 次操作

  1. 有资格增加配额限制。

节点配额

Google Cloud 项目包含 Bigtable 实例,这些实例是集群的容器。集群代表在单个可用区运行的实际 Bigtable 服务。集群包含节点,这些节点是让 Bigtable 能够管理数据的计算资源。

每个地区的每个项目中可以预配的默认节点数取决于区域。每个地区的每个项目中最多可以预配默认的 HDD 节点数和默认的 SSD 节点数。

默认节点配额如下:

区域 SSD HDD
asia-east1 100 100
europe-west1 200 200
us-central1 200 200
us-east1 50 50
us-east4 50 50
us-west1 100 100
所有其他 Bigtable 位置 30 30

如果您为集群启用自动扩缩功能,配置的最大节点数将计入此限制,即使集群未扩容到该数量的节点也是如此。如果您需要预配超出默认限制数量的节点,可以申请增加配额

配额和节点可用性

节点配额是您在每个项目中可为每个地区预配的最大节点数。配额不能保证您始终能够向集群添加节点。如果某个地区的节点已用尽,那么即使您的项目中有剩余配额,也可能无法向该地区的集群添加节点。

例如,如果您尝试向已具有 20 个节点的集群添加 10 个 SSD 节点,但该可用区已用完节点,那么即使该区域中的 SSD 节点的节点配额为 30,您也无法在添加这 10 个节点。

在这些情况下,我们尝试增加可用区的节点资源,然后在这些资源可用后批准您的请求,而无法保证耗时和完成情况。

您预配的节点始终可用。

Data Boost 配额

以下服务器处理单元 (SPU) 配额适用于每个项目在每个区域中的配额。

区域 SPU
asia-east1 100000
europe-west1 200000
us-central1 200000
us-east1 100000
us-east4 100000
us-west1 100000
所有其他 Bigtable 位置 30000

如需详细了解 Data Boost,请参阅 Data Boost 概览

查看配额信息

如需查看您的 Google Cloud 项目在每个可用区已有的固态硬盘和 HDD 节点数,请使用 Google Cloud 控制台。在左侧导航窗格中,将光标指向 IAM 和管理,点击配额,然后在服务下拉菜单中选择 Bigtable Admin API 服务。

此时会出现一个包含若干行的页面,显示由服务、节点类型和位置构成的各个组合的相应配额。查找子标题为固态硬盘节点数(每个可用区)HDD 节点数(每个可用区)的行。上限列显示的是指定节点类型和位置可以拥有的最大节点数,当前使用量列显示的是当前存在的节点数。这两个数字之差是您无需申请更多配额即可添加的节点数量。

请求增加节点配额

为了确保有足够的时间来处理您的申请,请始终提前规划并提前几天请求额外资源,以备不时之需。无法保证授予增加节点配额的请求。如需了解详情,请参阅处理配额

对于要申请增加节点配额的实例所属的项目,您必须至少具有 Editor 级别的权限

申请增加节点配额无需付费。只有当您使用了更多的资源时,费用才会增加。

  1. 转到配额页面。

    转到“配额”页面

  2. 配额页面中,选择要更改的配额。
  3. 点击页面顶部的修改配额按钮。
  4. 在右侧窗格中,输入您的姓名、电子邮件地址和电话号码,然后点击下一步
  5. 输入申请的新配额限制,然后点击下一步
  6. 提交您的申请。

限制

本节介绍您在使用 Bigtable 时需遵循的限制。限制内置于服务中,无法更改。

每个实例的应用配置文件数

每个实例可以拥有的应用配置文件数上限为 2000。

已获授权的视图

  • 每个 Bigtable 实例的授权视图数:最多 10,000 个
  • 每个授权视图的列限定符前缀数量:10

备份

  • 可创建的标准备份数量上限:每个集群每个表 150 个
  • 可创建的热备份数量上限:每个集群每个表 10 个
  • 备份的最短保留期限:初始创建时间后 6 小时
  • 备份的最长保留期限:初始创建日期后 90 天

Data Boost

Data Boost 应用配置文件每秒发送的读取请求不得超过 1,000 个。

表中的数据大小

建议的限制

恰当地设计架构,使数据大小保持在下面建议的限制范围内。

  • 每个表的列族数量:100
  • 单个列限定符:16 KB
  • 表单元格中的单个值:10 MB
  • 一行中的所有值:100 MB

硬性限制

此外,您还必须确保数据符合以下硬性限制:

  • 单个行键:4 KB
  • 表单元格中的单个值:100 MB
  • 一行中的所有值:256 MB

这些大小限制以二进制千字节 (KB) 和二进制兆字节 (MB) 来计量。1 KB 为 210 个字节,1 MB 为 220 个字节。这些计量单位也称为千比字节 (KiB)兆比字节 (MiB)

操作限制

将多项更改批量发送到 Bigtable 时,需要遵循以下限制:

  • 一个条件变更(称为 CheckAndMutate)批次可以包含的真变更最多为 10 万项,并且可以包含的假变更最多为 10 万项。

  • 在其他所有类型变更的批次中,每个批次可以包含的更改不能超过 10 万项。

每个实例的区域数量

一个 Bigtable 实例最多可以在 8 个提供 Bigtable 的区域中具有集群。您可以在一个区域内的每个可用区中创建一个集群。如需查看可用区的列表,请参阅 Bigtable 位置

行过滤条件

行过滤条件大小不能超过 20 KB。如果您收到错误消息,则应重新设计过滤条件或缩短其长度。

每个节点的存储空间

如果集群没有足够的节点,则根据该集群当前的工作负载和所存储的数据量,Bigtable 将没有足够的 CPU 资源来管理与其关联的所有数据片。Bigtable 也将无法在后台执行基本的维护任务。因此,该集群可能无法处理传入请求,而延迟也会增加。 如需了解详情,请参阅存储空间用量和性能之间的权衡

为防止出现这些问题,请根据以下限制来监控集群的存储空间利用率,以确保它们有足够的节点来支持集群中的数据量:

  • SSD 集群:每个节点 5 TB
  • HDD 集群:每个节点 16 TB

这些值以二进制太字节 (TB) 来计量,1 TB 等于 240 个字节。这种计量单位也称为太比字节 (TiB)

最佳做法是,向集群中添加足够多的节点,以确保您使用的存储空间仅达到这些限制的 70%,这样有助于应对存储空间用量激增的情况。例如,如果要在使用 SSD 存储空间的集群中存储 50 TB 的数据,则应该至少配置 15 个节点,以存放最多 75 TB 的数据。如果您不打算向集群添加大量数据,则可以超出此建议值,使存储的数据量达到存储空间量的上限 (100%)。

每个实例的表数

Bigtable 支持每个实例最多使用 1000 个表。

ID 长度限制

以下是 Bigtable 支持的 ID 长度(字符数)下限和上限。

  • 应用配置文件:1-50
  • 备份:1-50
  • 集群:6-30
  • 列族:1-64
  • 实例:6-33
  • 表:1-50
  • 已获授权的视图:1-50

使用政策

使用此服务必须遵守服务条款以及 Google 的隐私权政策