配额和限制
本文档列出了适用于 Bigtable 的配额和系统限制。
- 配额具有默认值,但您通常可以申请 调整。
- 系统限制是无法更改的固定值。
Google Cloud 使用配额来帮助确保公平性并减少资源使用和可用性的激增。配额用于限制您的 Google Cloud 项目可使用多少Google Cloud 资源。配额适用于一系列资源类型,包括硬件、软件和网络组件。例如,配额可以限制对某项服务的 API 调用次数、您的项目并发使用的负载均衡器数量或者您可以创建的项目数量。配额可以防止服务过载,从而保护Google Cloud 用户社区。配额还可以帮助您管理自己的 Google Cloud 资源。
Cloud 配额系统执行以下操作:
在大多数情况下,当您尝试消耗的资源超出其配额允许的范围时,系统会阻止对资源的访问,并且您尝试执行的任务会失败。
配额通常在 Google Cloud 项目级别应用。您在一个项目中使用资源不会影响您在另一个项目中的可用配额。在 Google Cloud 项目中,配额在所有应用和 IP 地址间共享。
如需了解详情,请参阅 Cloud 配额概览。
如需调整大多数配额,请使用 Google Cloud 控制台。如需了解详情,请参阅 申请配额调整。
Bigtable 资源也有系统限制。 系统限制不能更改。
配额
本节介绍您在使用 Bigtable 时普遍适用的默认配额。
管理操作配额
以下配额会影响您在指定时间内可以执行的 Bigtable 管理操作次数(对 Admin API 的调用次数)。
通常,除非另有说明,否则您不能申请增加管理操作配额。如果提供强有力的理由,则有时会允许例外情况。但是,您的应用对管理 API 进行的调用次数不应在使用量增加时增加。如果发生这种情况,通常表明您的应用代码正在对管理 API 进行不必要的调用,您应该更改应用,而不是申请增加管理操作配额。
每日配额会在美国太平洋时间零点重置。
| 名称 | 说明 | 默认配额 |
|---|---|---|
| 实例和集群 | ||
| 实例和集群读取请求 | 读取实例或集群的配置(例如,实例名称或集群中的节点数),或读取实例列表 |
每个项目每天 86.4 万次操作(平均每秒 10 次操作) 每位用户每分钟:1000 次操作 |
| 实例和集群写入请求 | 更改实例或集群的配置(例如,实例名称或集群中的节点数),或创建新实例 |
每个项目每天 500 次操作 每位用户每分钟:100 次操作 |
| 应用配置文件 | ||
| 应用配置文件读取请求 | 读取应用配置文件的配置 |
每个项目每分钟:5000 次操作 每位用户每分钟:1000 次操作 |
| 应用配置文件写入请求 | 更改应用配置文件的配置 |
每个项目每分钟:500 次操作 每位用户每分钟:100 次操作 |
| 表 | ||
| 表管理读取请求 | 读取表的配置(例如,有关其 列族的详细信息),或读取表的列表 |
每个项目每天 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 次操作 |
|
||
节点配额
项目包含 Bigtable 实例,这些实例是集群的容器。 Google Cloud 集群代表在单个可用区运行的实际 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 | 10 万 |
| europe-west1 | 20 万 |
| us-central1 | 20 万 |
| us-east1 | 10 万 |
| us-east4 | 10 万 |
| us-west1 | 10 万 |
| 所有其他 Bigtable 位置 | 3 万 |
如需详细了解 Data Boost,请参阅 Data Boost 概览。
查看配额信息
如需查看您的 Google Cloud 项目在每个可用区已有的固态硬盘和 HDD 节点数,请使用 Google Cloud console。在左侧导航窗格中,将光标指向 IAM 和管理,点击 配额,然后在 服务 下拉菜单中 选择 Bigtable Admin API 服务。
此时会出现一个包含若干行的页面,显示由服务、节点类型和位置构成的各个组合的相应配额。查找子标题为固态硬盘节点数(每个可用区) 或 HDD 节点数(每个可用区) 的行。上限 列显示的是指定节点类型和位置可以拥有的最大节点数,当前使用量 列显示的是存在的节点数。这两个数字之差是您无需申请更多配额即可添加的节点数量。
请求增加节点配额
为了确保有足够的时间来处理您的申请,请始终提前规划并提前几天请求额外资源,以备不时之需。无法保证授予增加节点配额的请求。如需了解详情,请参阅处理配额。
对于要申请增加节点配额的实例所属的项目,您必须至少具有 Editor 级别的权限。
申请增加节点配额无需付费。只有当您使用了更多的资源时,费用才会增加。
- 转到配额页面。
- 在配额页面中,选择要更改的配额。
- 点击页面顶部的修改配额按钮。
- 在右侧窗格中,输入您的姓名、电子邮件地址和电话号码,然后点击下一步。
- 输入申请的新配额限制,然后点击下一步。
- 提交您的申请。
限制
本节介绍您在使用 Bigtable 时需遵循的限制。限制内置于服务中,无法更改。
每个实例的应用配置文件数限制
每个实例可以拥有的应用配置文件数上限为 2000。
授权视图限制
- 每个 Bigtable 实例的授权视图数:最多 10,000 个
- 每个授权视图的列限定符前缀数:10 个
备份限制
- 可创建的标准备份数量上限:每个集群每个表 150 个
- 可创建的热备份数量上限:每个集群每个表 10 个
- 备份的最短保留期限:初始创建时间后 6 小时
- 备份的最长保留期限:90 天(自初始创建日期起算)
变更数据流限制
表的变更数据流的最长保留期限为 7 天。
Data Boost 限制
每个集群每秒收到的 Data Boost 读取请求不能超过 1000 个。
表中的数据大小限制
建议的限制
请恰当地设计架构,使 数据大小保持在如下的建议限制范围内。
- 每个表的列族数量 :100
- 单个列限定符:16 KB
- 表单元格中的单个值:10 MB
- 一行中的所有值 :100 MB
硬性限制
此外,您必须确保数据符合以下硬性限制:
- 单个行键 :4 KB
- 表单元格中的单个值 :100 MB
- 一行中的所有值 :256 MB
- 单个变更 :200 MB
这些大小限制以二进制千字节 (KB) 和二进制兆字节 (MB) 来计量。1 KB 为 210 个字节,1 MB 为 220 个字节。这些计量单位 也称为 千比字节 (KiB) 和 兆比字节 (MiB)。
ID 长度限制
以下是 Bigtable 支持的 ID 长度(字符数)下限和上限。
- 应用配置文件:1-50
- 授权视图:1-50
- 备份:1-50
- 集群:6-40
- 列族:1-64
- 实例:6-33
- 表:1-50
- 视图:1-128
内存中层限制
以下限制适用于内存中层:
- 伸缩:内存中层支持横向伸缩(通过 自动伸缩)和纵向伸缩。每个企业 Plus 版节点都包含 4 万个内存中 QPS 的基本容量。启用内存中层后,节点可以纵向扩缩,以 4 万个 QPS 为增量支持更高的容量,每个节点最多支持 12 万个内存中 QPS。如需了解详情,请参阅 了解性能。
- 行大小:内存中层不处理大于 1 MiB(每个 行键)的行。
每个实例的逻辑视图数限制
Bigtable 支持每个实例最多使用 1000 个逻辑视图。
操作限制
将多项更改批量发送到 Bigtable 时,需要遵循以下限制:
一个条件变更(称为
CheckAndMutate)批次可以包含的真变更最多为 10 万项,并且可以包含的假变更最多为 10 万项。在其他所有类型变更的批次中,每个批次可以包含的更改不能超过 10 万项。
每个实例的区域数限制
一个 Bigtable 实例最多可以在 8 个提供 Bigtable 的区域中具有集群。您可以在一个区域内的每个可用区中创建一个集群。如需查看可用区的列表,请参阅 Bigtable 位置。
行过滤条件限制
行过滤条件大小不能超过 20 KB。如果您收到错误消息,则应重新设计过滤条件或缩短其长度。
保存的查询限制
| 值 | 限制 |
|---|---|
| 每个项目的保存的查询数上限(包括其他 Google Cloud 产品的保存的查询) | 10000 |
| 每个查询的大小上限 | 1 MiB |
架构软件包限制
以下限制适用于架构软件包:
- 每个表的架构软件包数:每个表最多可以创建 10 个架构软件包 。
- 架构软件包大小:架构软件包中序列化的协议缓冲区 描述符的总大小不能超过 4 MB。
每个节点的存储空间限制
如果集群没有足够的节点,则根据其当前的工作负载和所存储的数据量,Bigtable 将没有足够的 CPU 资源来管理与其关联的所有数据片。Bigtable 也将无法在后台执行基本的维护任务。因此,该集群可能无法处理传入请求,而延迟也会增加。 如需了解详情,请参阅存储空间用量和性能之间的权衡。
为防止出现这些问题,请根据以下限制来监控集群的存储空间利用率,以确保它们有足够的节点来 支持集群中的数据量:
| 存储配置 | 企业版 | 企业 Plus 版 |
|---|---|---|
| 不使用分层存储的 SSD 集群 (预览版) | 每个节点 5 TB | 每个节点 5 TB |
| 使用分层存储的 SSD 集群 | 每个节点 32 TB,其中最多 5 TB 为 SSD 存储空间。 | 每个节点 64 TB,其中最多 5 TB 为 SSD 存储空间。此 限制仅适用于启用了 2 倍节点伸缩的集群。 |
| HDD 集群 | 每个节点 16 TB | 每个节点 16 TB |
| 内存中层(预览版) | 不支持 | 每个节点 8 GB |
TB 值以二进制太字节 (TB) 来计量,1 TB 等于 240 个字节。这种计量单位也称为 太比字节 (TiB)。
最佳做法是,向集群中添加足够多的节点,以确保您使用的存储空间仅达到这些限制的 70%,这样有助于应对存储空间用量激增的情况。例如,如果要在使用 SSD 存储空间的集群中存储 50 TB 的数据,则应该至少配置 15 个节点,以存放最多 75 TB 的数据。如果您不打算向集群添加大量数据,则可以超出此建议值,使存储的数据量达到存储空间量的上限 (100%)。
每个实例的表数限制
Bigtable 支持每个实例最多使用 1000 个表。具体化视图计入表数。
使用政策
使用此服务必须遵守服务条款以及 Google 的隐私权政策。