Bigtable Data Boost 概览

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

本文档介绍了 Data Boost,以及何时使用和如何使用该服务。在阅读本页之前,您应该了解实例、集群和 节点

版本要求

如果您使用的是企业版或企业 Plus 版,则可以使用 Data Boost。企业 Plus 版提供了以下附加功能:

  • SQL 查询支持:查询使用 Data Boost 访问的数据
  • HDD 和分层存储访问:为了进行更全面的分析,将 Data Boost 访问权限扩展到您的 Bigtable 集群中的所有数据,而不仅仅是固态硬盘数据

如需了解详情,请参阅版本概览

适合的场景

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

以下是 Data Boost 的理想使用场景:

  • 将 Bigtable 中的数据导出到 Cloud Storage 或运行 ETL 流水线作业,以便进行数据丰富化、分析、归档、离线机器学习模型训练或由客户的第三方合作伙伴提取
  • 使用 Dataflow 等工具进行 ETL,以执行支持就地汇总、基于规则的 MDM 转换或机器学习作业的短扫描或批量读取流程
  • 使用 Bigtable Spark 连接器读取 Bigtable 数据的 Spark 应用
  • 使用 BigQuery 外部表读取 Bigtable 数据的临时查询和计划的分析作业。
  • 对存储在 HDD 或分层存储空间中的不常访问的历史数据进行长时间运行的分析(仅限企业 Plus 版)。

不适合的场景

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

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

延迟敏感型工作负载 - 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 模式发送一致性令牌,然后再检查 Data Boost 一致性,以便选择性地检查复制一致性。

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

配额和计费

Data Boost 用量以 无服务器处理单元 (SPU) 为单位计量。 1,000 个 SPU 相当于一个节点的性能。针对 HDD 或分层存储运行时,SPU 同时考虑了无服务器计算资源和底层磁盘操作。与预配的节点不同,您只有在使用 Data Boost 时才需要为 SPU 付费。每个请求的结算时长至少为 60 SPU 秒,并且您每秒至少需要支付 10 个 SPU 的费用。

如需详细了解 Data Boost 定价,请参阅 Bigtable 定价

系统会为 SPU 分配配额并单独结算费用,与节点的配额和费用分开。

资格指标

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

监控

如需监控 Data Boost 流量,您可以在 控制台中的 Google Cloud Bigtable 系统洞察页面上查看 Data Boost 应用配置文件的指标。如需查看按应用配置文件提供的指标列表,请参阅 Bigtable 资源的系统洞察图表

您可以在 Bigtable 系统洞察页面上的应用配置文件 标签页中查看 SPU 用量计数 (data_boost/spu_usage_count) 指标,以监控无服务器处理单元 (SPU) 的用量。

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

限制

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

  • 写入和删除
  • 大部分流量是点读取(单行读取)
  • 每个集群每秒超过 1,000 次读取
  • 反向扫描
  • 变更数据流
  • 请求优先级
  • 多集群路由
  • 单行事务
  • 区域端点
  • 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 或更高版本。

后续步骤