借助 Knowledge Catalog(以前称为 Dataplex Universal Catalog)中的多区域沿袭搜索,您可以跨 Google Cloud 项目和区域跟踪数据资产,以构建完整的沿袭图。当流水线跨越地理边界时,此统一视图可帮助您维护数据治理并分析整个组织的依赖项。您可以使用 searchLineageStreaming API(预览版)通过推荐的服务器端自动化功能发现和连接跨区域图,也可以使用 searchLinks API 通过客户端扇出功能发现和连接跨区域图。如需了解如何使用流式传输 API,请参阅使用服务器端自动化搜索多区域沿袭。
多区域沿袭搜索的核心概念
默认情况下,Knowledge Catalog 中的数据沿袭是一项区域级服务。每当数据移动或转换时,生成的沿袭数据(例如链接、进程和事件)都会存储在发生该操作的特定区域中。不过,实际的数据流水线通常会跨越多个Google Cloud 项目和区域。例如,您可能在 us-central1 中有一个 BigQuery 表,该表会将数据复制到 europe-west1 中的存储桶,因此需要进行多区域搜索,才能跨这些边界跟踪数据资产。
如需了解多区域沿袭发现,您需要了解 Knowledge Catalog 如何处理图遍历:
根条件:沿袭搜索的起点,由一个或多个资产名称(例如 BigQuery 表或 Pub/Sub 主题)或精细列字段定义。
方向:图遍历相对于根条件的方向。您可以向上游(查看数据来源)或下游(查看数据去向)搜索。
广度优先搜索:用于查找已连接节点的架构机制。搜索会逐层遍历沿袭图,准确计算每个关联资产跨区域边界的执行深度。
多区域搜索方法有何不同?
虽然这两种方法都可以让您拼凑出数据的跨区域视图,但它们处理繁重工作的方式不同:
| 功能 | 服务器端自动化 searchLineageStreaming API |
searchLinks API 的客户端扇出 |
|---|---|---|
| 执行模型 | 服务器端自动化: Google Cloud 路由引擎原生遍历多个区域。 | 客户端编排:您的应用脚本必须手动循环和管理请求。 |
| 请求开销 | 单个 API 请求:单个 HTTP POST 调用即可启动多区域搜索。 |
多个 API 请求:每个区域和每个图层都需要单独的 HTTP 调用。 |
| 响应处理 | 实时流:结果在找到后立即推送到客户端,从而防止超时。 | 静态载荷:必须手动接收、收集和合并各个 JSON 数组。 |
| 深度图(超过 2 层) | 自动处理深层嵌套的沿袭图,最多可达 100 层。 | 存在 N+1 查询问题;需要从客户端进行迭代、缓慢的往返。 |
选择合适的多区域搜索方法
查看以下场景,确定哪种多区域搜索方法适合您的工作负载。
在以下应用场景中,请选择流式传输 API 方法:
跟踪深度或复杂的图:您的数据会跨不同区域在多个中间表、存储桶或流水线之间移动,需要进行多级遍历(
maxDepth大于 2)。跟踪列级沿袭:您希望跨区域跟踪字段,或利用通配符 (
*) 搜索一次性提取所有列依赖项。维护轻量级代码:您希望进行一次 API 调用,并让Google Cloud 处理路由、去重和图表组装。
需要流水线元数据:您希望在同一请求载荷中选择性地检索有关运行流水线的进程的结构化详细信息。
在以下场景中,请选择客户端扇出方法:
您只需跟踪浅层、单跃点沿袭:您的沿袭图并不复杂,您只需在少量固定的已知区域中查找直接父级或子级链接(
maxDepth等于 1)。您在严格的旧版系统中工作:您有一个现有的数据治理应用,该应用主要围绕标准
SearchLinks端点构建,并且您希望在不实现流式响应使用方的情况下保持结构向后兼容性。
后续步骤
了解如何使用服务器端自动化功能搜索多区域沿袭。
了解如何使用客户端扇出搜索多区域沿袭。