Rapid 存储分区

本页面介绍了 Rapid Bucket,借助此功能,您可以通过将可用区设置为 存储桶的位置,将对象存储在 Rapid 存储类别中。这种方法可让您将数据存储与计算资源协同部署,与其他 Cloud Storage 存储类别相比,可显著降低延迟时间并提高吞吐量。其他可用区和区域中的工作负载也可以访问该存储桶,性能与网络距离有关。

如需使用 Rapid Bucket 创建可用区级存储桶,请参阅 创建可用区级存储桶。 您可以在可用区中查看支持的位置列表。如需读取和附加 到可用区级存储分区中的对象,请参阅在可用区级存储分区中使用对象

福利

Rapid Bucket 旨在消除存储瓶颈,非常适合用于数据密集型应用,例如 AI/机器学习和数据分析。 Rapid Bucket 支持亚毫秒级延迟时间、高达 15 TB/秒的总吞吐量和每秒 2000 万次查询 (QPS)。超低延迟时间可实现即时数据检索,并支持实时推理应用大规模运行。巨大的吞吐量和高 QPS 有助于让昂贵的 GPU 集群保持完全饱和状态,从而显著缩短模型训练时间。

Rapid Bucket 术语

Cloud Storage 文档使用以下术语:

  • Rapid Bucket:一种产品,可让您创建具有可用区级位置和 Rapid Storage 存储类别的存储分区。

  • Rapid Storage:一种存储类别,可在 Cloud Storage 中提供最高的数据访问权限和 I/O 操作性能。使用 Rapid Bucket 时,您创建的存储桶会使用 Rapid Storage。如需详细了解 Rapid Storage,请参阅存储类别

  • 可用区级存储桶:位于可用区中的存储桶。可用区级存储分区中的对象始终存储在 Rapid Storage 中,并且可以附加。

可用区级存储分区的功能

除了提供低延迟时间和高吞吐量之外,可用区级存储分区还可让您执行以下操作:

  • 附加到可用区级存储桶中的对象,而无需执行完整的对象重写

  • 打开对象并在执行操作时保持流,从而加快后续的读取和写入速度

使用场景

Rapid Bucket 最适合 AI/机器学习工作负载或其他数据密集型工作负载。此类工作负载的一些示例包括模型检查点、评估和提供服务,以及日志记录和消息队列。它还可用于流式传输数据或为数据库提供存储。

如需充分利用 Rapid Bucket 提供的低延迟时间和高吞吐量,请务必启用 gRPC 直接连接

访问可用区级存储分区中的对象

如需获得可用区级存储桶的性能优势,请务必打开对象以进行流式传输,并在对对象执行操作时保持流。 建立并保持流后,您可以以极低的延迟时间对对象执行后续的读取或写入操作。例如,在读取 Parquet 文件时,您可以在单个请求中执行文件的元数据(页脚)的初始读取和特定行的后续读取。 与为每个步骤使用单独的请求相比,这种方法更高效。

建立后,当您使用 Cloud Storage FUSE或 Cloud Storage 客户端 库访问可用区级存储桶对象时,对象流默认保持打开状态。

您可以从任意数量的主机打开到对象的多个读取流。 您可以为对象建立的读取流数量没有限制。

附加对象

您可以将数据附加到可用区级存储分区中的对象。当您向对象附加内容时,适用以下语义:

  • 可附加的对象会在您开始写入时立即显示在存储桶命名空间中,并且在写入时可以读取。

  • 您可以对对象进行的附加次数或一次附加的字节数没有限制。您可以附加内容,直到对象达到 5 TiB 的最大大小。

  • 随着新附加内容被永久写入或刷新,对象的大小将实时增长。建立读取流时,您应该预计对象大小的更新会有最小延迟。

  • 可附加的对象一次只能有一个写入器。如果为已有现有写入流的对象建立新的写入流,Cloud Storage 会向原始流返回错误,并且原始流将不再被允许写入。新写入器可以从上次持久保留的偏移量恢复附加,而无需其他交错附加到对象。

最终确定对象

对象最终确定后,您将无法再向其附加内容,但仍可以使用新版本覆盖该对象。最终确定对象的元数据仍然可变;例如,可以添加新标签,并且可以重命名对象。

装载可用区级存储分区

您可以使用 Cloud Storage FUSECloud Storage FUSE CSI 驱动程序装载和访问可用区级存储分区。请务必使用 Cloud Storage FUSE 3.7.2 版或更高版本。如需使用 Cloud Storage FUSE CSI 驱动程序,请确保您的 Google Kubernetes Engine 版本为 1.35.0-gke.3047001 或更高版本。

价格

使用 Rapid Bucket 会产生数据存储、操作和网络费用。如需了解详情,请参阅价格

限制

  • 可用区级存储桶必须启用 分层命名空间统一存储桶级访问权限

  • Google Cloud CLI 限制:

    • 支持的最低 Google Cloud CLI 版本:支持可用区级存储分区的最低 gcloud CLI 版本为 553.0.0。早期版本与可用区级存储分区不兼容。我们建议使用 最新版本的 gcloud CLI,以获取最新 功能和 bug 修复。

    • 不完整上传的可见性:与其他存储 类别中的存储分区不同,在其他存储类别中,对象仅在上传完成后才会显示在命名空间中,而可用区级存储分区中部分上传的对象会 立即显示。如果 Google Cloud CLI 上传命令失败或中断,您可能会在存储桶中看到不完整的对象。您仍然可以通过重新运行该命令来恢复这些上传。

    • 对象覆盖:标准 Google Cloud CLI 行为适用于 可用区级存储分区:当您覆盖对象时,如果目标位置存在具有 相同名称的文件或对象,Google Cloud CLI cpmvrsync 命令将默认覆盖它。如需防止覆盖,请使用 --no-clobber 标志。使用 Google Cloud CLI 时,不支持将数据附加到现有对象;必须重新上传整个来源。

    • 对象最终确定:使用 Google Cloud CLI 上传到可用区级存储桶的对象有时可能会出现短暂延迟,然后 对象的元数据才会完全同步。由于 Cloud Storage 使用最终一致性模型,因此如果在上传后立即尝试下载对象,如果元数据尚未更新,可能会导致哈希值不匹配错误。

      如果在上传后不久下载失败并出现哈希值不匹配错误,请重试该命令。系统可确保下载要么完全成功,要么明确失败;不会静默发生部分下载或损坏的下载。

不兼容性

可用区级存储分区与以下工具、产品和服务不兼容:

  • 工具

    • 使用 XML API 或 JSON API 进行写入

    • XML API 分段上传

  • 使用 gRPC 写入不可附加的对象

  • 数据保护和灾难恢复

    • 对象版本控制

    • 软删除

    • 跨存储桶复制

  • 数据管理

    • Rapid Cache

    • Autoclass

    • 存储分区锁定

    • 组合对象

    • 对象保全

    • 对象生命周期管理 SetStorageClass 操作

    • 对象保留锁定

    • 重定位存储分区

    • 可续传上传

    • 重写对象

    • 请求者付款

  • 访问权限控制

    • 对象级访问权限控制列表 (ACL)

    • CORS 配置

    • 客户提供的加密密钥 (CSEK)

    • HMAC 密钥

  • 元数据

    • 可用区级存储分区中的对象没有 MD5 哈希值。

    • 与不受支持的功能和产品关联的元数据属性不会显示在可用区级存储桶或可附加对象的资源表示中,或者无法写入。例如:

  • 服务

    • BigQuery

配额

每个项目的每个可用区都有默认的存储容量配额。每个项目的每个可用区还具有从 Cloud Storage 到 Google 服务的默认出站流量配额。如需查看这些配额,请参阅配额和限制

如需了解如何监控数据出站流量用量并申请更多带宽, 请参阅带宽用量监控

最佳做法

如需在使用 Cloud Storage FUSE 的可用区级存储分区时帮助优化性能,请保持装载对象的打开文件句柄,并将其用于多个操作。这样可以提高性能,因为它可以让 Cloud Storage FUSE 避免为每次重复读取执行不必要的网络往返。

后续步骤