当您在复杂的组织中管理数据时,了解数据沿袭对于良好的数据治理和有效的云数据管理至关重要。本指南介绍了如何在 Knowledge Catalog(以前称为 Dataplex Universal Catalog)中使用多区域搜索功能,以便跨地理边界跟踪数据。
默认情况下,Knowledge Catalog 中的数据沿袭是区域级服务。每当您的数据移动或转换时,生成的沿袭数据(例如链接、进程和事件)都会存储在相应操作发生的特定区域中。
不过,实际的数据流水线通常会跨多个 Google Cloud 项目和区域。例如,您可能有一个 BigQuery 表位于 us-central1 中,该表会将数据复制到 europe-west1 中的存储桶。如需跨这些边界跟踪数据资产并构建完整的数据沿袭图,您需要执行多区域搜索。
Knowledge Catalog 提供了两种方式来发现和关联这些跨区域沿袭图:
- 使用
searchLineageStreamingAPI(预览版)的服务器端自动化方法 - 推荐 - 使用
searchLinksAPI 的客户端扇出方法
多区域谱系搜索的核心概念
如需了解多区域沿袭发现,不妨先了解系统如何处理图遍历:
根条件:沿袭搜索的起点,由一个或多个资产名称(例如 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端点构建,并且您希望在不实现流式响应使用者的情况下保持结构向后兼容性。
后续步骤
了解如何使用服务器端自动化功能搜索多区域谱系。
了解如何使用客户端扇出搜索多区域沿袭。