配额和限制
本文档列出了适用于 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 次操作 |
|
节点配额
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 级别的权限。
申请增加节点配额无需付费。只有当您使用了更多的资源时,费用才会增加。
- 转到配额页面。
- 在配额页面中,选择要更改的配额。
- 点击页面顶部的修改配额按钮。
- 在右侧窗格中,输入您的姓名、电子邮件地址和电话号码,然后点击下一步。
- 输入申请的新配额限制,然后点击下一步。
- 提交您的申请。
限制
本节介绍您在使用 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 的隐私权政策。