Introdução ao framework de resolução de entidades do BigQuery

Neste documento, descrevemos a arquitetura do framework de resolução de entidades do BigQuery. A resolução de entidades é a capacidade de corresponder registros em dados compartilhados sem um identificador comum ou de aumentar os dados compartilhados usando um serviço de identidade de um parceiro do Google Cloud.

O público-alvo deste documento são os usuários finais da resolução de entidades (denominados usuários finais daqui em diante) e provedores de identidade. Para conhecer detalhes de implementação, consulte Configurar e usar a resolução de entidades no BigQuery.

É possível usar a resolução de entidade do BigQuery para todos os dados preparados antes de contribuir para uma sala limpa de dados. A resolução de entidades está disponível nos modelos de preços sob demanda e por capacidade e em todas as edições do BigQuery.

Benefícios

Como usuário final, você pode se beneficiar da resolução de entidades das seguintes maneiras:

  • É possível resolver as entidades no local sem invocar taxas de transferência de dados, porque um assinante ou parceiro do Google Cloud faz a correspondência dos seus dados com a tabela de identidade dele e grava os resultados da correspondência em um conjunto de dados no projeto.
  • Você não precisa gerenciar jobs de extração, transformação e carregamento (ETL, na sigla em inglês).

Como provedor de identidade, você pode se beneficiar da resolução de entidades das seguintes maneiras:

  • É possível oferecer a resolução de entidades como um software como serviço (SaaS) gerenciado, no Google Cloud Marketplace.
  • Você pode usar seus gráficos de identidade reservados e fazer a correspondência da lógica sem revelá-los aos usuários.

Arquitetura

O BigQuery implementa a resolução de entidades usando chamadas de função remotas que ativam processos de resolução de entidades no ambiente de um provedor de identidade. Seus dados não precisam ser copiados ou movidos durante esse processo. O diagrama e a explicação a seguir descrevem o fluxo de trabalho para a resolução de entidades:

Um diagrama que mostra duas seções principais: um projeto de usuário final e um projeto de provedor
de identidade.

  1. O usuário final concede à conta de serviço do provedor de identidade acesso de leitura ao conjunto de dados de entrada e de gravação ao de saída.
  2. O usuário chama a função remota que corresponde os seus dados de entrada aos dados do gráfico de identidade do provedor. Os parâmetros de correspondência são transmitidos ao provedor com a função remota.
  3. A conta de serviço do provedor lê o conjunto de dados de entrada e o processa.
  4. A conta de serviço do provedor grava os resultados da resolução de entidades no conjunto de dados de saída do usuário.

As seções a seguir descrevem os componentes do usuário final e os projetos do provedor.

Componentes do usuário final

Os componentes do usuário final incluem o seguinte:

  • Chamada de função remota: uma chamada que executa um procedimento definido e implementado pelo provedor de identidade. Essa chamada inicia o processo de resolução de entidades.
  • Conjunto de dados de entrada: o conjunto de origem que contém os dados a serem correspondidos. Como opção, o conjunto de dados pode conter uma tabela de metadados com parâmetros adicionais. Os provedores especificam requisitos de esquema para conjuntos de dados de entrada.
  • Conjunto de dados de saída: o conjunto de dados de destino em que o provedor armazena os resultados correspondentes como uma tabela de saída. Opcionalmente, o provedor pode gravar uma tabela de status do job que contenha detalhes do job de resolução de entidades nesse conjunto de dados. O conjunto de dados de saída pode ser igual ao de entrada.

Componentes do provedor de identidade

Os componentes do provedor de identidade incluem o seguinte:

  • Plano de controle: contém uma função remota do BigQuery que orquestra o processo de correspondência. Essa função pode ser implementada como um job do Cloud Run ou uma Cloud Run functions. O plano de controle também pode conter outros serviços, como a autenticação e autorização.
  • Plano de dados: contém o conjunto de dados do gráfico de identidade e o procedimento armazenado que implementa a lógica de correspondência do provedor. O procedimento armazenado pode ser implementado como um procedimento armazenado do SQL ou um procedimento armazenado do Apache Spark. O conjunto de dados do gráfico de identidade contém as tabelas com que os dados do usuário final correspondem.

A seguir