Acerca de la búsqueda de linaje multirregional

La búsqueda de linaje multirregional en Knowledge Catalog (anteriormente, Dataplex Universal Catalog) te permite hacer un seguimiento de los recursos de datos en Google Cloud proyectos y regiones para crear gráficos de linaje completos. Esta vista unificada te ayuda a mantener la administración de datos y analizar las dependencias en toda tu organización cuando las canalizaciones abarcan límites geográficos. Puedes descubrir y conectar grafos interregionales con la automatización recomendada del servidor con la API de searchLineageStreaming (versión preliminar) o la distribución del cliente con la API de searchLinks. Para obtener instrucciones sobre cómo usar la API de transmisión, consulta Busca el linaje multirregional con la automatización del servidor.

De forma predeterminada, el linaje de datos en Knowledge Catalog es un servicio regional. Cada vez que tus datos se mueven o transforman, los datos de linaje resultantes, como vínculos, procesos y eventos, se almacenan en la región específica en la que se realizó esa acción. Sin embargo, las canalizaciones de datos del mundo real suelen abarcar varios proyectos y regiones deGoogle Cloud . Por ejemplo, es posible que tengas una tabla de BigQuery en us-central1 que copie datos en un bucket de almacenamiento en europe-west1, lo que requiere una búsqueda multirregional para rastrear tus recursos de datos en estos límites.

Para comprender el descubrimiento de linaje multirregional, es útil entender cómo Knowledge Catalog controla el recorrido de grafos:

  • Criterios raíz: Es el punto de partida de tu búsqueda de linaje, definido por uno o más nombres de recursos (como una tabla de BigQuery o un tema de Pub/Sub) o campos de columnas detallados.

  • Dirección: Es la orientación del recorrido del gráfico en relación con los criterios raíz. Puedes buscar upstream (para ver de dónde provienen tus datos) o downstream (para ver hacia dónde van tus datos).

  • Búsqueda primero en amplitud: Es el mecanismo de arquitectura que se usa para encontrar nodos conectados. La búsqueda recorre el gráfico de linaje capa por capa y calcula con precisión la profundidad de ejecución de cada recurso conectado a través de los límites regionales.

¿Cómo se comparan los métodos de búsqueda multirregionales?

Si bien ambos métodos te permiten armar una vista interregional de tus datos, manejan el trabajo pesado de manera diferente:

Función Automatización del servidor
API de searchLineageStreaming
Distribución de carga del cliente
API de searchLinks
Modelo de ejecución Automatización del servidor: El motor de enrutamiento de Google Cloud recorre varias regiones de forma nativa. Organización del cliente: La secuencia de comandos de tu aplicación debe realizar un bucle y administrar las solicitudes de forma manual.
Sobrecarga de solicitudes Solicitud a la API única: Una sola llamada HTTP POST inicia la búsqueda multirregional. Múltiples solicitudes a la API: Requiere una llamada HTTP independiente para cada región y cada capa de gráfico.
Control de respuestas Transmisión en tiempo real: Los resultados se envían al cliente a medida que se encuentran, lo que evita que se agote el tiempo de espera. Cargas útiles estáticas: Los arrays JSON individuales se deben recibir, recopilar y combinar de forma manual.
Gráficos profundos (más de 2 capas) Controla automáticamente gráficos de linaje profundos y anidados de hasta 100 niveles. Sufre el problema de consulta N+1; requiere viajes de ida y vuelta iterativos y lentos desde el cliente.

Elige el método de búsqueda multirregional adecuado

Revisa las siguientes situaciones para determinar qué método de búsqueda multirregional se adapta a tu carga de trabajo.

Elige el método de la API de transmisión para los siguientes casos de uso:

  • Rastrea grafos profundos o complejos: Tus datos se mueven a través de varias tablas, buckets o canalizaciones intermedias en diferentes regiones, lo que requiere un recorrido de varios niveles (maxDepth mayor que 2).

  • Realizar un seguimiento del linaje a nivel de columna: Deseas realizar un seguimiento de los campos en todas las regiones o aprovechar las búsquedas con comodines (*) para extraer todas las dependencias de columnas a la vez.

  • Mantener un código liviano: Prefieres realizar una sola llamada a la API y permitir que Google Cloud controle el enrutamiento, la anulación de duplicación y el ensamblaje de gráficos.

  • Requerir metadatos de canalización: De manera opcional, puedes recuperar detalles estructurales sobre los procesos que ejecutan tus canalizaciones en la misma carga útil de la solicitud.

Elige el método de fan-out del cliente para las siguientes situaciones:

  • Solo rastreas linajes superficiales de un solo salto: Tu grafo de linaje no es complejo y solo necesitas buscar vínculos directos de elementos superiores o secundarios (maxDepth es igual a 1) en una pequeña cantidad fija de regiones conocidas.

  • Trabajas con sistemas heredados estrictos: Tienes una aplicación de administración de datos existente que se basa en gran medida en el extremo estándar SearchLinks y quieres mantener la retrocompatibilidad estructural sin implementar consumidores de respuestas de transmisión.

¿Qué sigue?