多区域谱系搜索简介

本文档介绍了在 Knowledge Catalog(以前称为 Dataplex Universal Catalog)中跨多个地理区域搜索数据沿袭的概念、方法和使用情形。

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 端点构建,并且您希望在不实现流式响应使用者的情况下保持结构向后兼容性。

后续步骤