从 Spanner 源流式传输数据

通过在 Datastream 中将 Spanner 数据库用作来源,您可以将历史数据和变更数据流事件复制到目标位置,以进行实时分析。

如需在 Datastream 中准备 Spanner 来源,请查看复制行为、支持的版本和已知限制。

行为

Spanner 是一项全代管式、可伸缩且高可用的数据库服务,您可以将其用作 Datastream 的来源。Datastream 使用 Spanner 变更数据流来跟踪 Spanner 数据库中所做的更改。然后,变更数据流中包含的更改会复制到目标位置,以重现源事件。

Datastream 不会创建或修改变更数据流,因此,所提供的 Spanner 变更数据流未跟踪的数据库对象无法包含在 Datastream 数据流中。

如需详细了解 Spanner,请参阅 Spanner 文档。

版本

Datastream 支持所有可用的 Spanner 版本:

  • 标准版
  • 企业版
  • 企业 Plus 版

如需简要了解每个版本,请参阅 Spanner 版本概览。

免费层级

Datastream 允许您使用免费层级从 Spanner 流式传输到 BigQuery,每月最多可免费提供 100 GiB 的变更数据捕获数据。如需了解详情,请参阅 Datastream 价格。

已知限制

将 Spanner 数据库用作来源时的已知限制包括:

  • 仅支持使用 NEW_ROW 或 NEW_ROW_AND_OLD_VALUES 值捕获类型的变更数据流。
  • Datastream 不支持 PROTO 或 ENUM 数据类型列。
  • Datastream 不支持 DATE 或 TIMESTAMP 数据类型的数组。
  • 大小超过 3 TiB 的数据库的回填可能需要超过 24 小时才能完成。
  • 回填会创建快照周期,这是一种针对特定时间戳创建的备份,用于保留该时间戳的数据版本。快照周期会延迟主要压缩,直到回填完成。如需详细了解压缩,请参阅 Spanner 列式引擎概览。
  • Datastream 可能无法跟上具有超过 10,000 个分区的 Spanner 变更数据流。这意味着,变更事件可能会延迟到达,或者数据流最终可能会失败。
  • Datastream 可能无法跟上每秒更新超过 60,000 次的 Spanner 变更数据流。这意味着变更事件可能会延迟到达,或者数据流最终可能会失败。
  • Datastream 可能无法跟上吞吐量超过 60 MiB/秒的 Spanner 变更数据流。这意味着更改事件可能会延迟到达,或者数据流最终可能会失败。
  • 不支持复制地理分区数据,因为 Spanner 变更数据流不支持分区数据。

后续步骤