Bigtable Data Boost 概览

Data Boost 是一项无服务器计算服务,适合用于对 Bigtable 数据运行高吞吐量的读取作业,而不会影响处理应用流量的集群的性能。借助它,您可以使用无服务器计算发送大型读取作业和查询,同时核心应用继续使用集群节点进行计算。无服务器计算 SKU 和结算费率与预配节点的 SKU 和费率是分开的。您无法使用 Data Boost 发送写入或删除请求。

本文档介绍了数据提升功能,以及何时以及如何使用该功能。在阅读本页内容之前,您应先了解实例、集群和节点

适合的场景

Data Boost 非常适合数据分析和数据处理工作负载。如果使用 Data Boost 隔离分析和处理流量,您就无需根据分析工作负载来调整集群的容量或节点数量。您可以使用 Data Boost 在单个集群上运行高吞吐量的分析作业,同时通过集群节点路由持续的应用流量。

以下是数据提升的理想用例:

  • 从 Bigtable 到 Cloud Storage 的定期或触发式导出作业或 ETL 流水线作业,用于数据丰富、分析、归档、离线机器学习模型训练,或由客户的第三方合作伙伴提取数据
  • 使用 Dataflow 等工具进行 ETL,以处理支持就地汇总、基于规则的 MDM 转换或机器学习作业的短扫描或批量读取流程
  • 使用 Bigtable Spark 连接器读取 Bigtable 数据的 Spark 应用

不适合的场景

点读取 - Data Boost 不是执行点读取操作(即针对单个行发送的读取请求)的最佳选择。这包括批量读取点。由于结算结构的原因,许多单行点读取的费用要比一次长扫描高得多。

在数据写入后立即读取数据 - 使用 Data Boost 读取数据时,您可能无法读取最近半小时内写入的所有数据。如果您的实例使用了复制功能,并且您要读取的数据写入了与您读取时所在区域不同的区域中的集群,这种情况尤其如此。如需了解详情,请参阅一致性令牌

对延迟敏感的工作负载 - Data Boost 针对吞吐量进行了优化,因此使用 Data Boost 进行读取的延迟时间会比使用集群和节点进行读取时更长。因此,Data Boost 不适用于应用服务工作负载。

如需详细了解与 Data Boost 不兼容的工作负载、配置和功能,请参阅限制

Data Boost 应用配置文件

如需使用 Data Boost,您需要使用 Data Boost 应用配置文件(而非标准应用配置文件)发送读取请求。

借助标准应用配置文件,您可以为使用该应用配置文件的请求指定路由政策优先级,以及是否允许单行事务。使用标准应用配置文件发送的流量会路由到集群,该集群的节点会将流量路由到磁盘。如需了解详情,请参阅标准应用配置文件概览

另一方面,使用 Data Boost 应用配置文件时,您可以将单集群路由政策配置到实例的一个集群,使用该应用配置文件的流量将使用无服务器计算,而不是集群的节点。

您可以创建新的 Data Boost 应用配置文件,也可以改用 Data Boost 来转换标准应用配置文件。我们建议为每个工作负载或应用使用单独的应用配置文件

一致性令牌

在您的读取请求发出前超过 35 分钟写入或复制到目标集群的数据可供 Data Boost 读取。

您可以创建并使用一致性令牌,确保在启动 Data Boost 工作负载之前,Data Boost 可以读取特定写入作业或时间段的数据。示例工作流程如下:

  1. 将一些数据写入表中。
  2. 创建一致性令牌。
  3. DataBoostReadLocalWrites 模式下发送令牌,以确定目标集群上的 Data Boost 何时可以读取写入内容。

您可以先在 StandardReadRemoteWrites 模式下发送一致性令牌,然后再检查数据提升一致性。

如需了解详情,请参阅 CheckConsistencyRequest 的 API 参考文档。

配额和计费

Data Boost 用量以无服务器处理单元 (SPU) 为单位,在性能方面,1,000 SPU 相当于一个节点。与预配的节点不同,您只有在使用 Data Boost 时才需要为 SPU 付费。对于每项请求,系统至少会向您收取 60 个 SPU 秒的费用,并且每秒至少收取 10 个 SPU 的费用。如需详细了解 Data Boost 价格,请参阅 Bigtable 价格

您将获得 SPU 配额,并单独为 SPU 付费,这与节点配额和费用无关。

资格指标

Data Boost 专为高吞吐量扫描而设计,工作负载必须兼容才能使用 Data Boost。在将标准应用配置文件转换为使用 Data Boost 的配置文件或为现有工作负载创建 Data Boost 应用配置文件之前,请查看 Data Boost 资格指标,确保您的配置和使用情况符合所需条件。您还应查看限制

监控

如需监控数据流量提升功能带来的流量,您可以在 Google Cloud 控制台的 Bigtable 监控页面上查看数据流量提升功能应用配置文件的指标。如需查看按应用配置文件提供的指标列表,请参阅 Bigtable 资源的监控图表

您可以通过查看 Bigtable“监控”页面上的应用配置标签页中的 SPU 使用次数 (data_boost/spu_usage_count) 指标来监控无服务器处理单元 (SPU) 的使用情况。

开始使用 Data Boost 后,您还可以继续监控应用配置文件的资格指标

限制

Data Boost 不支持以下工作负载属性和资源配置。

  • 写入和删除
  • 大部分为点读取(单行读取)的流量
  • 每个集群每秒超过 1,000 次读取
  • 反向扫描
  • 变更流
  • 请求优先级
  • 多集群路由
  • 单行事务
  • 区域端点
  • HDD 实例
  • 用于 Bigtable 查询的 GoogleSQL
  • Bigtable Studio 查询构建器查询
  • 使用 CMEK 加密的实例
  • 客户端库不兼容。您必须使用 Java 版 Bigtable 客户端 2.31.0 或更高版本。

    • 对于使用 BigtableIO 读取 Bigtable 数据的 Dataflow 作业,您必须使用 Apache Beam 2.54.0 或更高版本。
    • 对于使用 CloudBigtableIO 读取 Bigtable 数据的 Dataflow 作业,您必须使用 bigtable-hbase-beam 2.14.1 或更高版本。预览版不支持以下功能。
  • 从 BigQuery 读取 Bigtable 数据

    后续步骤

  • 创建或更新应用配置文件

  • 了解 Bigtable Beam 连接器。

  • 使用 Bigtable Spark 连接器