借助 Datastream 中的数据流,您可以将数据和架构更改从数据源复制到 BigQuery、Apache Iceberg 表或 Cloud Storage 存储桶中。在 Google Cloud 控制台向导中,您可以选择连接配置文件,并选择要复制的架构、表或对象。您还可以在持续复制的同时配置历史回填。
在开始复制之前,您可以验证数据流,以验证来源设置、确认与目标位置的网络连接,并检查端到端配置。
准备工作
定义数据流的设置
前往 Google Cloud 控制台中的数据流页面。
点击创建数据流。
使用下表来填充创建数据流页面的定义数据流详情部分的字段:
字段 说明 数据流名称 输入数据流的显示名称。 数据流 ID Datastream 会根据您输入的数据流名称自动填充此字段。您可以保留自动生成的 ID,也可以更改该 ID。 区域 选择存储数据流的区域。与所有资源一样,数据流保存在区域中。区域选择不会影响数据流能否连接到源数据库或目标数据库,但如果所选区域发生停机,则可能会影响可用性。我们建议您将数据流的所有资源与源数据放在同一区域,以优化费用和性能。 来源类型 选择您在为来源创建连接配置文件时指定的配置文件类型。或者,如果您尚未为来源数据库创建连接配置文件,则可以立即创建一个。
目的地类型 选择您在为 BigQuery 或 Cloud Storage 目标创建连接配置文件时指定的配置文件类型。或者,如果您尚未为目标位置创建连接配置文件,则可以立即创建一个。 加密 默认情况下,您的数据使用由 Google Cloud管理的密钥进行加密。如果您希望管理加密,可以使用由客户管理的加密密钥 (CMEK):
- 选中 Cloud KMS 密钥复选框。
- 从密钥类型下拉菜单中,选择 Cloud KMS,然后选择您的 CMEK。
如果您没有看到密钥,请点击输入密钥资源名称以提供要使用的密钥的资源名称。例如,您可以在密钥资源名称字段中输入
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key,然后点击保存。(可选)使用标签来组织 Datastream 资源。
- 如需创建标签,请点击添加标签,然后输入标签的键值对。
- 如需移除标签,请点击包含标签的行右侧的垃圾桶图标。
(可选)为数据流添加提醒政策。提醒政策定义了您希望在何时以及如何收到有关数据流故障的通知。
- 如需创建提醒政策,请点击添加提醒政策。
- Cloud Monitoring 中会显示创建提醒政策页面。在此页面上,您可以定义提醒政策,以便在数据流失败时收到通知。
如需详细了解提醒政策,请参阅管理基于指标的提醒政策。
查看自动生成的必要前提条件,以反映如何为数据流准备环境。这些前提条件可能包括如何配置源数据库以及如何将其连接到目标数据库。最好在此步骤中完成这些前提条件,但您可以在测试数据流或启动数据流之前随时完成。如需详细了解这些前提条件,请参阅来源。
点击继续。系统会针对来源数据库类型显示创建数据流页面的定义连接配置文件面板。
指定有关来源连接配置文件的信息
如果您已创建来源连接配置文件,则从连接配置文件列表中选择它。
如果您尚未创建来源连接配置文件,请通过点击该下拉列表底部的创建连接配置文件创建一个,然后执行创建连接配置文件中的步骤。
点击运行测试以验证来源数据库和 DataStream 是否可以相互通信。
如果测试失败,会显示与连接配置文件关联的问题。如需了解问题排查步骤,请参阅诊断问题页面。进行必要的更改以纠正问题,然后重新测试。
点击继续。系统会显示创建数据流页面的配置数据流来源面板。
配置有关数据流的源数据库的信息
配置 PostgreSQL 源数据库
- 为 PostgreSQL 源数据库定义复制属性。在复制属性部分中,指定以下属性:
- 在复制槽名称字段中,输入您专门为此数据流创建的槽的名称。数据库服务器使用此槽向 Datastream 发送事件。
- 在发布内容名称字段中,输入您在数据库中创建的发布内容的名称。发布内容是指您希望使用此数据流复制其更改的所有表的集合。
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定 Datastream 可以转移到目标数据库的源数据库中的表和架构。
- 如果您希望 Datastream 转移所有表和架构,请选择所有架构中的所有表。
- 如果您希望 Datastream 仅传输特定架构和表,请选择特定架构和表,然后选中您希望 Datastream 提取的架构和表对应的复选框。
- 如需提供您希望 Datastream 传输的表和架构的文本定义,请选择自定义,然后在对象匹配条件字段中输入您希望 Datastream 提取的架构和表。 如果您的数据库包含大量表和架构,我们建议您使用自定义选项,因为某些表和架构可能未包含在要拉取的对象列表中。
- 如果目标位置是 BigQuery,您可以为表配置分区和聚簇:
- 对于要设置分区或聚簇的每个表,点击选择列。
- 如需配置分区,请在分区部分中选择以下选项之一:
- 不进行分区:选择此选项后,系统不会对表进行分区。
- 按提取时间分区:选择此选项后,数据会整理为基于时间的分区。从分区类型列表中选择一个值,以配置分区粒度,可用选项包括每小时、每日、每月或每年。默认粒度为“每天”。
- 按字段分区:选择此选项后,您需要选择要用于对表进行分区的源列以及分区类型。只能选择具有受支持数据类型的源列。 如需了解支持的源数据类型和可用的分区类型,请参阅为 BigQuery 目标配置分区和聚簇。
(可选)选择分区过滤条件选项。如果您选择此选项,则此表的所有查询都需要分区过滤条件。使用分区过滤条件可以减少费用并提高性能。如需了解详情,请参阅设置分区过滤条件要求。
- 如需配置聚簇,请在聚簇部分中选择要用于对表进行聚簇的字段。您最多可以选择四个字段。添加聚簇字段的顺序决定了数据的排列顺序。如果您未为表指定聚簇设置,Datastream 会默认使用源表中的最多四个主键作为 BigQuery 中的聚簇键。
- 点击保存,保存您的设置。
如需详细了解分区和聚簇,请参阅配置分区和聚簇。
- (可选)展开选择要排除的对象节点。在要排除的对象字段中,输入源数据库中您要限制 Datastream 提取的表和架构。要排除的对象列表的优先级高于要包含的对象列表。如果某个对象同时满足包含列表和排除列表中的条件,则该对象会从数据流中排除。
- (可选)展开选择历史数据的回填模式节点,然后选择以下选项之一:
- 选择自动选项,将所有现有数据以及数据更改从来源流式传输到目标位置。在从自动回填中排除的对象字段中,输入源数据库中您要限制 Datastream 回填到目标位置的表和架构。
- 选择手动选项可仅将对数据的更改流式传输到目标位置。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
配置 MySQL 源数据库
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定 Datastream 可以转移到目标数据库的源数据库中的表和架构。
- 如果您希望 Datastream 转移所有表和架构,请选择所有架构中的所有表。
- 如果您希望 Datastream 仅传输特定架构和表,请选择特定架构和表,然后选中您希望 Datastream 提取的架构和表对应的复选框。
- 如需提供您希望 Datastream 传输的表和架构的文本定义,请选择自定义,然后在对象匹配条件字段中输入您希望 Datastream 提取的架构和表。 如果您的数据库包含大量表和架构,我们建议您使用自定义选项,因为某些表和架构可能未包含在要拉取的对象列表中。
- 如果目标位置是 BigQuery,您可以为表配置分区和聚簇:
- 对于要设置分区或聚簇的每个表,点击选择列。
- 如需配置分区,请在分区部分中选择以下选项之一:
- 不进行分区:选择此选项后,系统不会对表进行分区。
- 按提取时间分区:选择此选项后,数据会整理为基于时间的分区。从分区类型列表中选择一个值,以配置分区粒度,可用选项包括每小时、每日、每月或每年。默认粒度为“每天”。
- 按字段分区:选择此选项后,您需要选择要用于对表进行分区的源列以及分区类型。只能选择具有受支持数据类型的源列。 如需了解支持的源数据类型和可用的分区类型,请参阅为 BigQuery 目标配置分区和聚簇。
(可选)选择分区过滤条件选项。如果您选择此选项,则此表的所有查询都需要分区过滤条件。使用分区过滤条件可以减少费用并提高性能。如需了解详情,请参阅设置分区过滤条件要求。
- 如需配置聚簇,请在聚簇部分中选择要用于对表进行聚簇的字段。您最多可以选择四个字段。添加聚簇字段的顺序决定了数据的排列顺序。如果您未为表指定聚簇设置,Datastream 会默认使用源表中的最多四个主键作为 BigQuery 中的聚簇键。
- 点击保存,保存您的设置。
如需详细了解分区和聚簇,请参阅配置分区和聚簇。
- (可选)展开选择要排除的对象节点。在要排除的对象字段中,输入源数据库中您要限制 Datastream 提取的表和架构。要排除的对象列表的优先级高于要包含的对象列表。如果某个对象同时满足包含列表和排除列表中的条件,则该对象会从数据流中排除。
- 为数据流指定 CDC 方法:
- 基于 GTID(全局事务 ID)的复制:如果您希望 Datastream 支持故障切换并提供无缝复制,而不受数据库集群变化的影响,请选择此方法。
- 基于 Binlog 的复制:选择此方法可直接从所选数据库实例的二进制日志文件中读取和复制更改。您无法使用此 CDC 方法将正在运行的数据流切换到其他源实例或副本。
- (可选)展开选择历史数据的回填模式节点,然后选择以下选项之一:
- 选择自动选项,将所有现有数据以及数据更改从来源流式传输到目标位置。在从自动回填中排除的对象字段中,输入源数据库中您要限制 Datastream 回填到目标位置的表和架构。
- 选择手动选项可仅将对数据的更改流式传输到目标位置。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
配置 Oracle 源数据库
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定 Datastream 可以转移到目标数据库的源数据库中的表和架构。
- 如果您希望 Datastream 转移所有表和架构,请选择所有架构中的所有表。
- 如果您希望 Datastream 仅传输特定架构和表,请选择特定架构和表,然后选中您希望 Datastream 提取的架构和表对应的复选框。
- 如需提供您希望 Datastream 传输的表和架构的文本定义,请选择自定义,然后在对象匹配条件字段中输入您希望 Datastream 提取的架构和表。 如果您的数据库包含大量表和架构,我们建议您使用自定义选项,因为某些表和架构可能未包含在要拉取的对象列表中。
- 如果目标位置是 BigQuery,您可以为表配置分区和聚簇:
- 对于要设置分区或聚簇的每个表,点击选择列。
- 如需配置分区,请在分区部分中选择以下选项之一:
- 不进行分区:选择此选项后,系统不会对表进行分区。
- 按提取时间分区:选择此选项后,数据会整理为基于时间的分区。从分区类型列表中选择一个值,以配置分区粒度,可用选项包括每小时、每日、每月或每年。默认粒度为“每天”。
- 按字段分区:选择此选项后,您需要选择要用于对表进行分区的源列以及分区类型。只能选择具有受支持数据类型的源列。 如需了解支持的源数据类型和可用的分区类型,请参阅为 BigQuery 目标配置分区和聚簇。
(可选)选择分区过滤条件选项。如果您选择此选项,则此表的所有查询都需要分区过滤条件。使用分区过滤条件可以减少费用并提高性能。如需了解详情,请参阅设置分区过滤条件要求。
- 如需配置聚簇,请在聚簇部分中选择要用于对表进行聚簇的字段。您最多可以选择四个字段。添加聚簇字段的顺序决定了数据的排列顺序。如果您未为表指定聚簇设置,Datastream 会默认使用源表中的最多四个主键作为 BigQuery 中的聚簇键。
- 点击保存,保存您的设置。
如需详细了解分区和聚簇,请参阅配置分区和聚簇。
- (可选)展开选择要排除的对象节点。在要排除的对象字段中,输入源数据库中您要限制 Datastream 提取的表和架构。要排除的对象列表的优先级高于要包含的对象列表。如果某个对象同时满足包含列表和排除列表中的条件,则该对象会从数据流中排除。
- 为数据流指定 CDC 方法:
- LogMiner:选择此方法可使用 LogMiner API 查询归档的重做日志。LogMiner 支持 Oracle 的大多数可用选项,例如加密和压缩选项。
- 二进制读取器(预览版):选择此方法可直接从 Oracle 日志中提取更改。这样可以更快地复制大型 Oracle 数据库,并减少延迟和开销。选择此选项后,系统会显示一个额外的下拉菜单。选择您希望访问 Oracle 日志文件的方式:
- 存储空间自动管理 (ASM):如果您的数据库使用 ASM,请选择此选项。确保您已选中为二进制读取器启用 ASM 访问权限复选框,并在来源连接配置文件中填写了 ASM 实例的详细信息。
- 数据库目录:如果您不使用 ASM 存储日志文件,请选择此选项。如果您选择数据库目录,则需要提供重做日志和归档日志目录名称。
- (可选)展开选择历史数据的回填模式节点,然后选择以下选项之一:
- 选择自动选项,将所有现有数据以及数据更改从来源流式传输到目标位置。在从自动回填中排除的对象字段中,输入源数据库中您要限制 Datastream 回填到目标位置的表和架构。
- 选择手动选项可仅将对数据的更改流式传输到目标位置。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
配置 SQL Server 源数据库
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定 Datastream 可以转移到目标数据库的源数据库中的表和架构。
- 如果您希望 Datastream 转移所有表和架构,请选择所有架构中的所有表。
- 如果您希望 Datastream 仅传输特定架构和表,请选择特定架构和表,然后选中您希望 Datastream 提取的架构和表对应的复选框。
- 如需提供您希望 Datastream 传输的表和架构的文本定义,请选择自定义,然后在对象匹配条件字段中输入您希望 Datastream 提取的架构和表。 如果您的数据库包含大量表和架构,我们建议您使用自定义选项,因为某些表和架构可能未包含在要拉取的对象列表中。
- 如果目标位置是 BigQuery,您可以为表配置分区和聚簇:
- 对于要设置分区或聚簇的每个表,点击选择列。
- 如需配置分区,请在分区部分中选择以下选项之一:
- 不进行分区:选择此选项后,系统不会对表进行分区。
- 按提取时间分区:选择此选项后,数据会整理为基于时间的分区。从分区类型列表中选择一个值,以配置分区粒度,可用选项包括每小时、每日、每月或每年。默认粒度为“每天”。
- 按字段分区:选择此选项后,您需要选择要用于对表进行分区的源列以及分区类型。只能选择具有受支持数据类型的源列。 如需了解支持的源数据类型和可用的分区类型,请参阅为 BigQuery 目标配置分区和聚簇。
(可选)选择分区过滤条件选项。如果您选择此选项,则此表的所有查询都需要分区过滤条件。使用分区过滤条件可以减少费用并提高性能。如需了解详情,请参阅设置分区过滤条件要求。
- 如需配置聚簇,请在聚簇部分中选择要用于对表进行聚簇的字段。您最多可以选择四个字段。添加聚簇字段的顺序决定了数据的排列顺序。如果您未为表指定聚簇设置,Datastream 会默认使用源表中的最多四个主键作为 BigQuery 中的聚簇键。
- 点击保存,保存您的设置。
如需详细了解分区和聚簇,请参阅配置分区和聚簇。
- (可选)展开选择要排除的对象节点。在要排除的对象字段中,输入源数据库中您要限制 Datastream 提取的表和架构。要排除的对象列表的优先级高于要包含的对象列表。如果某个对象同时满足包含列表和排除列表中的条件,则该对象会从数据流中排除。
- 为数据流指定 CDC 方法:
- 事务日志:选择此方法可直接从数据库日志处理变更。这种方法可提供最佳的性能且效率更高,但需要额外的配置步骤。
- 变更表:选择此方法可处理专用变更表中的变更。这种方法更易于配置,限制也更少,但与事务日志方法相比,其吞吐量较低,给数据库带来的负载较高。
- (可选)展开选择历史数据的回填模式节点,然后选择以下选项之一:
- 选择自动选项,将所有现有数据以及数据更改从来源流式传输到目标位置。在从自动回填中排除的对象字段中,输入源数据库中您要限制 Datastream 回填到目标位置的表和架构。
- 选择手动选项可仅将对数据的更改流式传输到目标位置。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
配置源 Salesforce 组织
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定您希望 Datastream 传输到目标位置的组织中的对象和字段。
- 如果您希望 Datastream 传输所有对象,请选择所有对象。
- 如果您希望 Datastream 仅传输特定对象,请选择特定对象,然后选中您希望 Datastream 提取的对象对应的复选框。
- 如需提供您希望 Datastream 传输的对象的文本定义,请选择自定义,然后在对象匹配条件字段中输入您希望 Datastream 提取的对象。使用
[object].[field]格式输入对象(以英文逗号分隔)。 如果您的数据库包含大量对象,我们建议您使用自定义选项,因为某些表和架构可能未包含在要拉取的对象列表中。 - 定义轮询间隔值(以分钟为单位)。Datastream 会使用此值来检查 Salesforce 组织中的数据更改。该值越高,组织的费用和负载就越低。该值越低,目标中的数据就越新。
- 如果您的目标位置是 BigQuery,则可以为对象配置分区和聚类:
- 对于要设置分区或聚类的每个对象,点击选择字段。
- 如需配置分区,请在分区部分中选择以下选项之一:
- 不进行分区:选择此选项后,系统不会对您的对象应用任何分区。
- 按提取时间分区:选择此选项后,数据会整理为基于时间的分区。从分区类型列表中选择一个值,以配置分区粒度,可用选项包括每小时、每日、每月或每年。默认粒度为“每天”。
- 按字段分区:选择此选项后,您需要选择要用于对对象进行分区的源字段以及分区类型。只能选择具有受支持数据类型的字段。 如需了解支持的源数据类型和可用的分区类型,请参阅对 BigQuery 表进行分区和聚簇。
(可选)选择分区过滤条件选项。如果您选择此选项,则此对象的所有查询都需要分区过滤条件。使用分区过滤条件可以减少费用并提高性能。如需了解详情,请参阅设置分区过滤条件要求。
- 如需配置聚簇,请在聚簇部分中选择要用于对对象进行聚簇的字段。您最多可以选择四个字段。添加聚簇字段的顺序决定了数据的排列顺序。如果您未为对象指定聚簇设置,Datastream 会默认使用源对象中的最多四个主键作为 BigQuery 中的聚簇键。
- 点击保存,保存您的设置。
如需详细了解分区和聚类,请参阅对 BigQuery 表进行分区和聚类。
- (可选)展开选择要排除的对象节点。在要排除的对象字段中,输入源组织中您要限制 Datastream 提取的对象和字段。要排除的对象列表的优先级高于要包含的对象列表。如果某个对象同时满足包含列表和排除列表中的条件,则该对象会从数据流中排除。
- (可选)展开选择历史数据的回填模式节点,然后选择以下选项之一:
- 选择自动选项,将所有现有数据以及对数据的更改从来源复制到目标位置。在从自动回填中排除的对象字段中,输入源组织中您要限制 Datastream 回填到目标位置的对象。
- 选择手动选项,以便仅将数据更改复制到目标位置。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
配置源 Salesforce Marketing Cloud 实例(预览版)
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定您希望 Datastream 传输到目标位置的实例中的对象。
- 如果您希望 Datastream 传输所有对象,请选择所有对象。
- 如果您希望 Datastream 仅传输特定对象,请选择特定对象,然后选中您希望 Datastream 提取的对象对应的复选框。
- 如果您想提供要让 Datastream 传输的对象的文本定义,请选择自定义,然后在对象匹配条件字段中输入要让 Datastream 提取的对象。以英文逗号分隔列表的形式输入对象。 如果您的数据库包含大量对象,我们建议您使用自定义选项,因为某些对象可能未包含在要拉取的对象列表中。
- 以分钟为单位定义轮询间隔值。Datastream 会使用此值检查 Salesforce Marketing Cloud 实例中支持增量同步的对象是否有数据更改。您可以使用
5到1440范围内的值。 - 定义完整刷新轮询间隔值(以分钟为单位)。Datastream 会使用此值对不支持增量同步的对象(例如数据扩展)执行定期完整刷新。您可以使用
60到1440范围内的值。 - (可选)展开显示高级选项节点。
- 在要排除的对象字段中,输入源实例中您要限制 Datastream 提取的对象。要排除的对象列表优先于要包含的对象列表。如果某个对象同时满足包含列表和排除列表中的条件,则该对象会从数据流中排除。
- 在选择历史数据的回填模式部分中,选择回填模式:
- 选择自动选项,将所有现有数据以及数据更改从来源流式传输到目标位置。在从自动回填中排除的对象字段中,输入源数据库中您要限制 Datastream 回填到目标位置的对象。
- 选择手动选项可仅将对数据的更改流式传输到目标位置。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
配置来源 ServiceNow 实例(预览版)
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定您希望 Datastream 转移到目标位置的 ServiceNow 实例中的表和字段。
- 如果您希望 Datastream 传输所有表,请选择所有对象。
- 如果您希望 Datastream 仅传输特定表,请选择特定对象,然后选中您希望 Datastream 提取的表对应的复选框。
- 如果您想提供要让 Datastream 传输的表的文本定义,请选择自定义,然后在对象匹配条件字段中输入要让 Datastream 提取的表。使用
[table].[field]格式输入表(以英文逗号分隔)。 - 定义轮询间隔值(以分钟为单位)。Datastream 会使用此值检查 ServiceNow 实例中的数据更改。该值越高,实例的费用和负载就越低。该值越低,目标中的数据就越新。
- (可选)在要排除的对象字段中,输入源实例中您要限制 Datastream 提取的表和字段。要排除的对象列表优先于要包含的对象列表。如果某个对象同时满足包含列表和排除列表中的条件,Datastream 会从数据流中排除该对象。
- (可选)在选择历史数据的回填模式部分中,选择以下选项之一:
- 选择自动选项,将所有现有数据以及对数据的更改从来源复制到目标位置。在从自动回填中排除的对象字段中,输入源实例中您要限制 Datastream 回填到目标位置的表。
- 选择手动选项,以便仅将数据更改复制到目标位置。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
配置源 MongoDB 数据库
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定您希望 Datastream 传输到目标位置的数据库和集合。
- 如果您希望 Datastream 传输所有集合,请选择所有数据库和集合。
- 如果您希望 Datastream 仅传输特定集合,请选择特定数据库和集合,然后选中您希望 Datastream 拉取的集合对应的复选框。
- 如需以文本形式定义您希望 Datastream 传输的集合,请选择自定义,然后在对象匹配条件字段中输入您希望 Datastream 提取的集合。使用
[collection].[field]格式输入对象(以英文逗号分隔)。 如果您的数据库包含大量对象,我们建议您使用自定义选项,因为某些表和架构可能未包含在要拉取的对象列表中。 - 如果您的目标位置是 BigQuery,则可以为集合配置分区:
- 对于要设置分区的每个集合,点击选择字段。
- 在分区部分中,选择以下选项之一:
- 不进行分区:选择此选项后,系统不会对您的集合进行分区。
- 按提取时间分区:选择此选项后,数据会整理为基于时间的分区。从分区类型列表中选择一个值,以配置分区粒度,可用选项包括每小时、每日、每月或每年。默认粒度为“每天”。
(可选)选择分区过滤条件选项。如果您选择此选项,则此集合的所有查询都需要分区过滤条件。使用分区过滤条件可以减少费用并提高性能。如需了解详情,请参阅设置分区过滤条件要求。
- 点击保存,保存您的设置。
如需详细了解分区和聚类,请参阅对 BigQuery 表进行分区和聚类。
- (可选)展开选择历史数据的回填模式节点,然后选择以下选项之一:
- 选择自动选项,将所有现有数据以及对数据的更改从来源复制到目标位置。在从自动回填中排除的对象字段中,输入源组织中您要限制 Datastream 回填到目标位置的对象。
- 选择手动选项,以便仅将数据更改复制到目标位置。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
配置 Spanner 源数据库
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定 Datastream 可以转移到目标数据库的源数据库中的表和架构。
- 如果您希望 Datastream 转移所有表和架构,请选择所有架构中的所有表。
- 如果您希望 Datastream 仅传输特定架构和表,请选择特定架构和表,然后选中您希望 Datastream 提取的架构和表对应的复选框。
- 如需提供您希望 Datastream 传输的表和架构的文本定义,请选择自定义,然后在对象匹配条件字段中输入您希望 Datastream 提取的架构和表。 如果您的数据库包含大量表和架构,我们建议您使用自定义选项,因为某些表和架构可能未包含在要拉取的对象列表中。
- 在变更数据流名称字段中,输入您创建的 Spanner 变更数据流的名称。Datastream 会读取此变更数据流,以复制源数据库中的变更。
- (可选)在要排除的对象字段中,输入源数据库中您要限制 Datastream 提取的表和架构。要排除的对象列表优先于要包含的对象列表。如果某个对象同时满足包含列表和排除列表中的条件,则该对象会从数据流中排除。
- 在选择历史数据的回填模式部分中,选择回填模式:
- 选择自动选项,将所有现有数据以及数据更改从来源流式传输到目标位置。在从自动回填中排除的对象字段中,输入源数据库中您要限制 Datastream 回填到目标位置的表和架构。
- 选择手动选项可仅将对数据的更改流式传输到目标位置。
- (可选)在相应字段中指定并发 CDC 和回填任务数上限。
- 从 RPC 优先级下拉菜单中,为 Spanner 请求选择远程过程调用优先级:
- 低
- 中
- 高
- 在 FGAC 角色字段中,为 Spanner 请求指定精细访问权限控制角色。
- 如果您想使用 Data Boost 执行回填作业,请选中已启用回填 Data Boost 复选框。如需使用此选项,必须为数据库启用 Data Boost。如需了解详情,请参阅 Data Boost 概览。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
配置源 Dataverse 环境(预览版)
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定 Datastream 可以转移到目标位置的 Dataverse 环境中的对象。
- 如果您希望 Datastream 传输所有标准对象,请选择所有对象。
- 如果您希望 Datastream 仅传输特定标准对象,请选择特定对象,然后选中您希望 Datastream 提取的对象对应的复选框。
- 如需提供您希望 Datastream 传输的对象的文本定义,请选择自定义,然后在对象匹配条件字段中输入您希望 Datastream 提取的对象。使用
[OBJECT_NAME]格式输入对象(以英文逗号分隔)。不支持通配符。 - 在定义轮询间隔部分,定义您希望 Datastream 检查 Dataverse 数据更改的频率。考虑既要满足近乎实时的数据需求,又要高效使用 API,以尽可能降低成本,并避免出现性能问题。您输入的值必须介于
5到1440分钟之间。 - (可选)展开选择要排除的对象节点。在要排除的对象字段中,输入源 Dataverse 环境中您要限制 Datastream 提取的对象。要排除的对象列表的优先级高于要包含的对象列表。如果某个对象同时符合包含列表和排除列表中的条件,则该对象会从数据流中排除。
- (可选)展开选择历史数据的回填模式节点,然后选择以下选项之一:
- 选择自动选项,将所有现有数据以及数据更改从来源流式传输到目标位置。在从自动回填中排除的对象字段中,输入源 Dataverse 环境中您要限制 Datastream 回填到目标位置的表。
- 选择手动选项可仅将对数据的更改流式传输到目标位置。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
配置源 Workday 实例(预览版)
- 在选择要包含的对象部分中,使用要包含的对象下拉菜单指定您希望 Datastream 传输到目标位置的实例中的对象。
- 如果您希望 Datastream 传输所有对象,请选择所有对象。
- 如果您希望 Datastream 仅传输特定对象,请选择特定对象,然后选中您希望 Datastream 提取的对象对应的复选框。如果您只想包含对象的特定列,请点击对象旁边的配置设置。您取消选中复选框的列会从数据流中排除。
- 如果您想提供要让 Datastream 传输的对象的文本定义,请选择自定义,然后在对象匹配条件字段中输入要让 Datastream 提取的对象。以英文逗号分隔列表的形式输入对象。 如果您的实例包含大量对象,我们建议您使用自定义选项,因为某些对象可能未包含在要拉取的对象列表中。
- 以分钟为单位定义轮询间隔值。Datastream 会使用此值检查 Workday 实例中的数据更改。您可以使用
5到1440范围内的值。 - 定义完整刷新轮询间隔值(以分钟为单位)。Datastream 会使用此值对不支持增量同步的对象(例如数据扩展)执行定期完整刷新。您可以使用
60到1440分钟范围内的值。 - (可选)展开显示高级选项节点。
- 在要排除的对象字段中,输入源实例中您要限制 Datastream 提取的对象。要排除的对象列表优先于要包含的对象列表。如果某个对象同时满足包含列表和排除列表中的条件,则该对象会从数据流中排除。
- 在选择历史数据的回填模式部分中,选择回填模式:
- 选择自动选项,将所有现有数据以及数据更改从来源流式传输到目标位置。在从自动回填中排除的对象字段中,输入源实例中您希望 Datastream 限制回填到目标位置的对象。
- 选择手动选项可仅将对数据的更改流式传输到目标位置。
- 点击继续。系统会针对您的目标类型显示创建数据流页面的定义连接配置文件面板。
选择目标连接配置文件
如果您已创建目标连接配置文件,则从连接配置文件列表中选择它。
如果您尚未创建目标连接配置文件,请通过点击该下拉列表底部的创建连接配置文件创建一个,然后执行创建连接配置文件中的步骤。
点击继续。系统会显示创建数据流页面的配置数据流目标位置面板。
配置有关数据流的目标位置的信息
本部分介绍了配置 BigQuery 或 Cloud Storage 目标位置所需提供的信息。
BigQuery 目标位置
在指定 Datastream 将数据流式传输到 BigQuery 数据集的方式部分中,从架构分组下拉菜单中选择以下选项之一:
为每个架构创建一个数据集:Datastream 会根据架构名称为每个源架构创建一个 BigQuery 数据集。
如果您选择此选项,则对于源数据库中的每个架构,Datastream 都会在包含数据流的项目中创建一个数据集。
此外,如果您选择为每个架构创建一个数据集选项,则需要提供以下信息:
- 在位置类型部分中,指定您希望将数据存储在 BigQuery 中的哪个位置。选择区域可指定单个地理位置,选择多区域可指定包含两个或更多区域的更大区域。如果您的首要任务是优化费用和性能,请选择区域,并将数据集与其他 Google Cloud 资源一起管理。如果您想提高配额上限,请选择多区域,让 BigQuery 使用组内的多个区域。选择区域后,该字段会默认显示您为数据流选择的区域。
- (可选)在数据集前缀字段中,为数据流创建的数据集定义前缀。您指定的字符串会添加到源架构名称中。例如,如果架构名为
<mySchema>,并且您将数据集前缀定义为<myPrefix>,则 Datastream 会创建一个名为<myPrefix><mySchema>的数据集。 - 展开显示高级加密选项部分。
选择 Google 管理的加密密钥或客户管理的加密密钥,指定您希望如何在 BigQuery 中加密数据。
为所有架构创建一个数据集:Datastream 会在您指定的现有 BigQuery 数据集中创建所有表。Datastream 创建的每个表都使用源架构名称和表名称的组合命名,并用下划线分隔(例如
)。可用的数据集按区域分组。您也可以创建新数据集。<mySchemaName>_<myTableName>
指定数据流写入模式。选择写入模式,以定义如何在 BigQuery 中写入和处理数据:
- 合并:如果您希望数据与来源同步,请选择此选项。
- 仅附加:如果您想保留更改事件的所有历史数据,请选择此选项。
指定数据过时期限。仅在前面的步骤中选择了合并模式时可用。选择限制,以平衡 BigQuery 查询性能和费用与数据新鲜度。BigQuery 会根据过时限制,持续或在查询运行时在后台应用更改。过时期限较短的数据(更新鲜的数据)可能会增加 BigQuery 处理费用。
点击继续。系统会显示创建数据流页面的审核数据流详情并创建面板。
Apache Iceberg 表目标
在指定 DataStream 将数据流式传输到 BigQuery 数据集的方式部分,从架构分组下拉菜单中选择您希望 DataStream 创建新架构和表的方式:
为每个架构创建一个数据集:Datastream 会根据架构名称为每个源架构创建一个 BigQuery 数据集。
如果您选择此选项,则对于源数据库中的每个架构,Datastream 都会在包含数据流的项目中创建一个数据集。
此外,如果您选择为每个架构创建一个数据集选项,则需要提供以下信息:
- 在位置类型部分中,指定您希望在 BigQuery 中存储数据的位置。选择区域可指定单个地理位置,选择多区域可指定包含两个或更多区域的更大区域。如果您的首要任务是优化费用和性能,请选择区域,并将数据集与其他 Google Cloud 资源一起管理。如果您想提高配额上限,请选择多区域,让 BigQuery 使用组内的多个区域。选择区域后,该字段会默认显示您为数据流选择的区域。
- (可选)在数据集前缀字段中,为数据流创建的数据集定义前缀。您指定的字符串会添加到源架构名称中。例如,如果架构名为
<mySchema>,并且您将数据集前缀定义为<myPrefix>,则 Datastream 会创建一个名为<myPrefix><mySchema>的数据集。 - 展开显示高级加密选项部分。
选择 Google 管理的加密密钥或客户管理的加密密钥,指定您希望如何在 BigQuery 中加密数据。
为所有架构创建一个数据集:Datastream 会在您指定的现有 BigQuery 数据集中创建所有表。Datastream 创建的每个表都使用源架构名称和表名称的组合命名,并用下划线分隔(例如
)。可用数据集按区域分组。您也可以创建新数据集。<mySchemaName>_<myTableName>
在定义 Datastream 到 Apache Iceberg 表的连接部分中,提供以下信息:
从连接 ID 下拉菜单中,选择您创建并希望用于数据流的 BigQuery 连接的标识符。如需了解如何在 BigQuery 中创建 Cloud 资源连接,请参阅在 BigQuery 中配置 Apache Iceberg 表。
输入或选择您在 Cloud Storage 中创建的存储桶的 URI 地址。如需了解如何创建 Cloud Storage 存储桶,请参阅创建存储桶。
查看文件格式和表格式。Datastream 支持 Parquet 文件格式和 Iceberg 表格式。
查看数据流写入模式。Datastream 在流式传输到 Apache Iceberg 表时仅支持仅附加写入模式。
点击继续。系统会显示创建数据流页面的审核数据流详情并创建面板。
Cloud Storage 目的地
(可选)在数据流路径前缀字段中,输入 Datastream 将架构、表和数据从来源数据库转移到的目标存储桶的文件夹。
例如,如果您希望 Datastream 将数据从来源数据库转移到目标存储桶中的
/root/example文件夹,请在数据流路径前缀字段中输入/root/example。在输出格式字段中,选择写入 Cloud Storage 的文件的格式。
可选。如果您选择 JSON 格式,则会显示两个复选框:
- 在文件路径中添加 Unified Types 架构文件:如果您选中此复选框,则 Datastream 会将两个文件写入 Cloud Storage:一个 JSON 数据文件和一个 Avro 架构文件。架构文件与数据文件同名,扩展名为
.schema。如果您未选中此复选框,则 Datastream 只会将 JSON 数据文件写入 Cloud Storage。默认情况下,系统未选中此复选框。 - 启用 gzip 压缩:如果选中此复选框,则 Datastream 会使用
gzip实用程序压缩 Datastream 写入 Cloud Storage 的文件。如果未选中此复选框,则 Datastream 会将文件写入 Cloud Storage 而不进行压缩。默认情况下,系统会选中此复选框。
- 在文件路径中添加 Unified Types 架构文件:如果您选中此复选框,则 Datastream 会将两个文件写入 Cloud Storage:一个 JSON 数据文件和一个 Avro 架构文件。架构文件与数据文件同名,扩展名为
点击继续。系统会显示创建数据流页面的审核数据流详情并创建面板。
创建数据流
- 验证数据流的详细信息,以及数据流将用于将数据从源数据库传输到目标位置的来源和目标连接配置文件。
点击运行验证来验证数据流。通过验证数据流,Datastream 会检查来源是否配置正确,验证数据流是否可以连接到来源和目标位置,并验证数据流的端到端配置。
如果来源数据库是 Oracle,则 Datastream 会执行以下检查:
勾选 说明 对象列表有效性 Datastream 验证排除列表是否不纳入包含列表。 转发 SSH 隧道连接性 Datastream 验证其是否可以通过转发 SSH 隧道连接到堡垒主机。 与 Oracle 数据库的连接 Datastream 验证其是否可以连接到来源 Oracle 数据库。 Oracle 用户权限 Datastream 验证其用于连接到来源数据库的用户是否具有从数据库检索架构、表和数据所需的所有权限,以便 Datastream 可以将此信息流式传输到目标位置。 日志记录模式配置 Datastream 验证 Oracle 数据库的日志记录模式是否设置为 ARCHIVELOG。 补充日志记录配置 Datastream 验证是否为从来源流式传输到目标位置的数据库表启用了补充日志记录。 Oracle CDC 配置 Datastream 会验证您选择的 CDC 方法是否符合您的数据库配置。 归档日志文件配置 Datastream 验证是否在来源中配置了归档日志记录,以及归档日志文件是否存在。 Cloud Storage 权限(适用于 Cloud Storage 目标位置) Datastream 验证其是否具有写入 Cloud Storage 中的目标存储桶所需的权限。 如果来源数据库是 MySQL,则 Datastream 会执行以下检查:
勾选 说明 复制权限 Datastream 验证其是否有权复制 MySQL 数据库。 数据库版本 Datastream 会验证 MySQL 数据库版本是否受支持。如需了解支持的版本,请参阅版本。 二进制日志格式配置 Datastream 验证 MySQL 数据库的二进制日志格式是否设置为 ROW。已启用二进制日志 Datastream 验证二进制日志文件是否已正确配置,以及日志文件是否存在。 二进制日志行映像配置 Datastream 会验证 binlog 行映像是否已设置为 FULL。二进制日志压缩已停用 Datastream 会验证 binlog 压缩是否已停用。 已启用日志副本或从属实例更新 Datastream 会验证是否已启用日志副本或从属更新。 GTID 模式配置 ( applies only to GTID-based CDC)如果使用基于 GTID 的复制,Datastream 会验证 GTID 模式是否设置为 ON。GtidSet 不包含带标记的 GTID ( applies only to GTID-based CDC)Datastream 会验证 GTID 集是否不包含任何带标记的 GTID。 Cloud Storage 权限(适用于 Cloud Storage 目标位置) Datastream 验证其是否具有写入 Cloud Storage 中的目标存储桶所需的权限。 警告检查 说明 “Expire logs days”(日志过期天数)、“Expire logs seconds”(日志过期秒数)或“Binlog retention hours”(二进制日志保留小时数)配置 Datastream 会验证 expire_logs_days、binlog_expire_logs_seconds、binlog retention hours是否分别配置为大于7、604800和168的值。允许的最大数据包配置 Datastream 会验证 max_allowed_packet是否设置为 1GB。强制执行 GTID 一致性或 GTID 严格模式 ( applies only to GTID-based CDC)Datastream 会验证是否已启用 GTID 一致性或 GTID 严格模式。 如果您的源数据库是 PostgreSQL,则 Datastream 会执行以下检查:
检查 说明 与 PostgreSQL 数据库的连接 Datastream 会验证其是否可以连接到源 PostgreSQL 数据库。 逻辑解码已启用 Datastream 会验证 PostgreSQL 数据库的 wal_level参数是否已设置为logical。复制槽配置 Datastream 会验证 PostgreSQL 复制槽是否存在且处于活跃状态、Datastream 是否具有访问该槽所需的权限,以及该槽是否配置正确。 发布内容配置 Datastream 会验证发布内容是否存在,以及要为数据流复制的表是否包含在发布内容中。 回填权限 Datastream 会验证回填历史数据所需的表是否存在,以及它是否具有读取这些表的必要权限。 如果您的源数据库是 SQL Server,则 Datastream 会执行以下检查:
检查 说明 SQL Server 版本 Datastream 会验证源 SQL Server 数据库版本是否受支持。如需了解支持的版本,请参阅版本。 SQL Server 用户权限 Datastream 会验证用户是否拥有访问源 SQL Server 数据库所需的权限。 已启用 SQL Server CDC Datastream 会验证是否已为数据库和数据流中包含的所有表启用 CDC。 SQL Server 数据库验证 Datastream 会检查源数据库是否配置正确、是否满足所有复制要求,以及列中是否存在不受支持的数据类型。 Cloud Storage 或 BigQuery 权限 Datastream 会验证用户是否具有向目标位置写入数据所需的权限。 如果您的源数据库是 Salesforce,则 Datastream 会执行以下检查:
检查 说明 凭证登录 Datastream 会验证其能否使用提供的凭证成功向客户的 Salesforce 组织进行身份验证。 Bulk API Datastream 会验证其是否具有访问 Salesforce Bulk API 2.0 的必要权限。需要使用 Bulk API 2.0 才能读取大量数据。 警告检查 说明 API 限制 Datastream 会根据所选的对象数量和轮询间隔时间,计算预期的 API 使用量。如果预计的每日请求数量高于 Salesforce 强制执行的限制,Datastream 会发出警告。即使验证检查未通过,您仍然可以创建和运行数据流。 如果您的源数据库是 MongoDB,则 Datastream 会执行以下检查:
检查 说明 用户权限 Datastream 会验证是否已向用户分配 readAnyDatabase角色。连接配置 Datastream 会使用 hello命令来验证连接配置是否有效。MongoDB 版本 Datastream 会验证 MongoDB 版本是否为 5.0 或更高版本。 Cloud Storage 或 BigQuery 权限 Datastream 会验证用户是否具有向目标位置写入数据所需的权限。 如果您的源数据库是 Spanner,则 Datastream 会执行以下检查:
检查 说明 Spanner API 已启用 Datastream 会验证 Spanner API 是否已启用。 数据库已存在 Datastream 会验证源 Spanner 数据库是否存在。 IAM 权限 Datastream 会验证其服务代理是否对源数据库拥有必要的 IAM 权限。 变更数据流已存在 Datastream 会验证数据库中是否存在指定的变更数据流。 值捕获类型 Datastream 会验证变更数据流是否配置了 NEW_ROW值捕获类型。如果您的来源是 Dataverse,则 Datastream 会执行以下检查:
检查 说明 与 Dataverse 环境的连接 Datastream 会验证其能否连接到源 Dataverse 环境。 Dataverse 用户权限 Datastream 会验证其用于连接到来源环境的应用用户是否拥有所有必要的读取权限。您需要拥有读取权限,才能从环境中检索表和数据,以便 Datastream 将这些信息流式传输到目标位置。 IP 限制 Datastream 会验证其公共 IP 地址是否可以连接到您的 Dataverse 实例端点。 `modifiedon` 字段存在性 Datastream 会验证在为增量同步而复制的表中,`modifiedon` 字段是否存在且可靠。 Cloud Storage 或 BigQuery 权限 Datastream 会验证其是否具有写入目标位置所需的权限。 如果您的源实例是 Workday,则 Datastream 会执行以下检查:
检查 说明 凭证登录 Datastream 会通过 Workday 验证 OAuth 2.0 身份验证。 ISU 权限 Datastream 会验证集成系统用户是否具有所需的网域安全政策权限。 报告有效性 Datastream 会确保所选对象存在,并且可以使用 Report as a Service (RaaS) 解决方案进行访问。
所有验证检查通过后,点击创建并启动以创建数据流并立即启动,或点击创建以创建数据流而不立即启动。
如果您未立即启动数据流,则可以在数据流页面中通过点击启动进行启动。
创建数据流后,您可以查看其概要信息和详细信息。
使用自动化流程创建直播
您可以使用自动数据流设置,直接从 Google Cloud中的 Cloud SQL 概览页面创建数据流。自动化流程简化了数据流创建过程,如果您要从 Cloud SQL for PostgreSQL、Cloud SQL for MySQL 或 Cloud SQL for SQL Server 实例复制到 BigQuery,则可以使用该流程。
如需了解如何使用自动数据流设置流程,请参阅使用自动流程创建数据流。