本页面介绍了 Rapid Bucket,该功能可让您通过将可用区设置为存储桶的位置,将对象存储在 Rapid Storage 存储类别中。通过这种方法,您可以将数据存储区与计算资源共置,与 Cloud Storage 中的其他存储类别相比,这种方法可显著降低延迟时间并提高吞吐量。其他可用区和区域中的工作负载也可以访问该存储桶,其性能与网络距离相关。
如需使用 Rapid 存储桶创建可用区级存储桶,请参阅创建可用区级存储桶。 您可以在可用区中查看支持的位置列表。如需读取可用区级存储桶中的对象并向其附加内容,请参阅使用可用区级存储桶中的对象。
如需在存储桶上启用 Rapid Bucket,该存储桶还必须启用分层命名空间和统一存储桶级访问权限。
功能和优势
Rapid Bucket 旨在消除存储瓶颈,非常适合用于数据密集型应用,例如 AI/机器学习和数据分析。Rapid Bucket 支持亚毫秒级延迟、高达 15 TB/s 的总吞吐量和 2,000 万每秒查询次数 (QPS)。超低延迟可实现即时数据检索,并使实时推理应用能够大规模运行。海量吞吐量和高 QPS 有助于让昂贵的 GPU 集群保持满负荷运行,从而大幅缩短模型训练时间。
除了提供低延迟和高吞吐量之外,可用区级存储桶还可让您执行以下操作:
附加到可用区级存储桶中的对象,而无需执行完整的对象重写
在执行操作时打开对象并维护数据流,从而加快后续读取和写入速度
使用场景
Rapid Bucket 最适合 AI/机器学习工作负载或其他数据密集型工作负载。此类工作负载的一些示例包括模型检查点、评估和服务,以及日志记录和消息队列。它还可用于流式传输数据或为数据库提供存储空间。
如需充分利用 Rapid Bucket 提供的低延迟和高吞吐量,请务必启用 gRPC 直接连接。
Rapid Bucket 术语
Cloud Storage 文档使用以下术语:
Rapid Bucket:一种产品,可让您创建具有可用区级位置和 Rapid Storage 存储类别的存储桶。
Rapid Storage:在 Cloud Storage 中提供最高数据访问和 I/O 操作性能的存储类别。使用 Rapid Bucket 时,您会创建一个使用 Rapid Storage 的存储桶。如需详细了解 Rapid Storage,请参阅存储类别。
可用区级存储桶:位于可用区中的存储桶。可用区级存储桶中的对象始终存储在 Rapid Storage 中,并且可附加。
访问可用区级存储桶中的对象
如需获得可用区级存储桶的性能优势,请务必打开对象进行流式传输,并在对对象执行操作时保持流式传输。建立并维护数据流后,您便可以对对象执行后续读取或写入操作,且延迟时间非常短。例如,在读取 Parquet 文件时,您可以在单个请求中同时执行文件元数据(页脚)的初始读取和特定行的后续读取。这种方法比为每个步骤使用单独的请求更高效。
建立后,当您使用 Cloud Storage FUSE 或 Cloud Storage 客户端库访问可用区级存储桶对象时,对象流默认保持打开状态。
您可以从任意数量的主机打开指向一个对象的多个读取流。您可以为对象建立的读取流数量不受限制。
附加对象
您可以将数据附加到可用区级存储桶中的对象。向对象附加内容时,适用以下语义:
可附加对象在您开始向其写入数据后,就会立即显示在存储桶命名空间中,并且在写入过程中仍可读取。
您可以对对象执行的附加操作次数或一次可以附加的字节数没有限制。您可以不断追加内容,直到对象达到 5 TiB 的大小上限。
随着新附加内容被永久写入或刷新,对象的大小会实时增长。建立读取流时,您应该预料到对象大小更新会有轻微延迟。
可附加对象一次只能有一个写入者。如果为已有写入流的对象建立新的写入流,Cloud Storage 会向原始流返回错误,并且原始流将不再允许写入。新写入器可以从上一个持久化偏移量恢复附加,而不会对对象进行其他交错附加。
正在完成对象
对象最终确定后,您便无法再向其附加数据,但仍可以使用新版本覆盖该对象。已最终确定的对象的元数据仍然可变;例如,可以添加新标记,并且可以重命名对象。
装载可用区级存储桶
您可以使用 Cloud Storage FUSE 或 Cloud Storage FUSE CSI 驱动程序装载和访问可用区级存储桶。请务必使用 Cloud Storage FUSE 3.7.2 版或更高版本。如需使用 Cloud Storage FUSE CSI 驱动程序,您的 Google Kubernetes Engine 版本必须为 1.35.0-gke.3047001 或更高版本。
支持的工具
您可以使用大多数 Cloud Storage 工具来处理可用区级存储桶。但是,需遵守以下限制:
您无法使用适用于非可用区级存储桶的标准客户端库 API 向可用区级存储桶写入数据。如需写入可用区级存储桶,您必须修改代码,以使用支持可用区级存储桶的 API。如需了解应使用哪些 API,请参阅使用可用区级存储桶中的对象中适用于您的客户端库的代码示例。
您可以使用 JSON API、XML API 或 gRPC(包括非双向 gRPC 读取方法,例如
ReadObject)读取可用区级存储桶中的对象。对写入可用区级存储桶的支持因 API 而异:
gRPC:使用 gRPC 时,您只能使用
BidiWriteObjectAPI 写入可用区级存储桶。可附加对象仅受可附加模式下的BidiWriteObjectRPC 调用支持。可用区级存储桶不支持非双向 gRPC 写入方法,例如WriteObject。XML API:您可以使用 XML API 写入可用区级存储桶,但 XML 分段上传除外。
JSON API:您无法使用 JSON API 向可用区级存储桶写入数据。
GCSFS Python 库 2026.3.0 及更高版本支持 Rapid Bucket。
Google Cloud CLI 限制:
支持的最低 Google Cloud CLI 版本:支持可用区级存储桶的 gcloud CLI 最低版本为 553.0.0。早期版本与可用区级存储桶不兼容。我们建议您使用最新版本的 gcloud CLI,以获取最新功能和 bug 修复。切片对象下载和可用区级存储桶的性能优化需要 gcloud CLI 583.0.0 或更高版本。如需了解详情,请参阅针对可用区级存储桶调整 gcloud CLI 性能。
未完成上传的可见性:与其他存储类别中的存储桶不同,在其他存储类别中,对象只有在上传完成后才会显示在命名空间中,而可用区级存储桶中部分上传的对象会立即显示。如果 Google Cloud CLI 上传命令失败或中断,您可能会在存储桶中看到不完整的对象。您仍然可以通过重新运行该命令来恢复这些上传。
对象覆盖:标准 Google Cloud CLI 行为适用于可用区级存储桶:当您覆盖对象时,如果目标位置存在同名文件或对象,则 Google Cloud CLI
cp、mv和rsync命令默认会覆盖该文件或对象。为防止覆盖,请使用--no-clobber标志。使用 Google Cloud CLI 时,不支持将数据附加到现有对象;必须重新上传整个来源。对象最终化:使用 Google Cloud CLI 上传到可用区级存储桶的对象在对象元数据完全同步之前,可能会偶尔出现短暂延迟。由于 Cloud Storage 使用最终一致性模型,因此如果元数据尚未更新,尝试在上传后立即下载对象可能会导致哈希不匹配错误。
如果下载在上传后不久失败并出现哈希不匹配错误,请重试该命令。下载要么完全成功,要么明确失败;不会在不提示的情况下发生部分下载或损坏下载。
校验和验证性能:可用区级存储桶完全依赖 CRC32C 进行数据验证,从而使系统能够针对每个分块以及整个上传或下载操作执行校验和。默认情况下,Google Cloud CLI 使用
google-crc32cPython 库,该库已预安装在 Google Cloud CLI 中。不过,如果您使用的是非捆绑式 Python 安装,则必须从 PyPI 显式安装google-crc32c库。否则,Google Cloud CLI 会回退到gcloud-crc32c二进制文件,这可能会导致每个分块的 CRC 计算性能降低。
不兼容性
可用区级存储桶与以下产品和服务不兼容:
数据上传和管理
Rapid Cache
Autoclass
存储桶锁定
复合对象
XML 分段上传
对象保全
对象生命周期管理
SetStorageClass操作对象保留锁定
存储桶重定位
可续传上传
对象重写
请求者付款
元数据
可用区级存储桶中的对象没有 MD5 哈希值。
与不受支持的功能和产品关联的元数据属性不会显示在可用区级存储桶或可附加对象的资源表示法中,或者无法写入。例如:
softDeleteTime和hardDeleteTime元数据属性不会显示在Objects资源的资源表示法中,因为可用区级存储桶中的对象不支持软删除。可用区级存储桶中对象的
storageClass元数据始终具有RAPID值,并且无法重写,因为可用区级存储桶必须始终使用 Rapid Storage 类别。
访问权限控制
对象级访问权限控制列表 (ACL)
CORS 配置
客户提供的加密密钥 (CSEK)
HMAC 密钥
数据保护和灾难恢复
对象版本控制
软删除
跨存储桶复制
其他 Google Cloud 服务
- BigQuery
配额
每个项目的每个可用区都有默认的存储容量配额。每个项目的每个可用区也具有从 Cloud Storage 到Google 服务的默认出站流量配额。如需查看这些配额,请参阅配额和限制。
如需了解如何监控数据出站流量用量并申请更多带宽,请参阅带宽用量监控。
价格
使用 Rapid Bucket 会产生数据存储区、操作和网络费用。要了解详情,请参阅价格。
最佳做法
如需在使用可用区级存储桶时优化性能和资源利用率,请考虑以下最佳实践:
优化对象读取:使用 gcloud CLI 从可用区级存储桶读取对象时,CLI 会自动应用默认并发和切片配置。如需针对特定工作负载进一步调整这些设置,请参阅针对可用区级存储桶调整 gcloud CLI 性能。
Cloud Storage FUSE 文件句柄:为了在使用可用区级存储桶和 Cloud Storage FUSE 时优化性能,请保持对已装载可用区级存储桶中对象的打开文件句柄,并将其用于多项操作。这种做法可以提高性能,因为 Cloud Storage FUSE 避免了重复读取时不必要的网络往返。
优化并行写入延迟时间:如果您维护自己的 gRPC 并行写入逻辑,请考虑使用包含未最终确定对象的预打开写入器池,以将数据流设置移出写入路径。在应用需要之前,预先打开的写入器池会打开对象流,并在存储桶中创建新的空可附加对象。如需了解详情,请参阅优化写入延迟时间。
后续步骤
- 了解如何创建可用区级存储桶。
- 了解如何使用可用区级存储桶中的对象。
- 针对可用区级存储桶调整 gcloud CLI 性能。