Padrões de design para validação de endereços de alto volume no Google Cloud Platform

Objetivo

O tutorial Validação de endereço de alto volume orientou você em diferentes cenários em que a validação de endereços de alto volume pode ser usada. Neste tutorial, vamos apresentar diferentes padrões de design no Google Cloud Platform para executar a validação de endereços de alto volume.

Começaremos com uma visão geral de como executar a validação de endereços de alto volume no Google Cloud Platform com o Cloud Run, Compute Engine ou Google Kubernetes Engine para execuções únicas. Depois vamos conferir como essa capacidade pode ser incluída como parte de um pipeline de dados.

Ao final deste artigo, você terá um bom entendimento das diferentes opções para executar a Address Validation em alto volume no seu ambiente do Google Cloud.

Arquitetura de referência no Google Cloud Platform

Esta seção detalha os diferentes padrões de design para a validação de endereços de alto volume usando o Google Cloud Platform. Ao executar no Google Cloud Platform, é possível se integrar aos seus processos e pipelines de dados existentes.

Executar a validação de endereço de alto volume uma vez no Google Cloud Platform

Veja abaixo uma arquitetura de referência sobre como criar uma integração no Google Cloud Platform que é mais adequada para operações ou testes únicos.

imagem

Nesse caso, recomendamos fazer upload do arquivo CSV para um bucket do Cloud Storage. Depois disso, o script de validação de endereço de alto volume pode ser executado em um ambiente do Cloud Run. No entanto, ele pode ser executado em qualquer outro ambiente de execução, como o Compute Engine ou o Google Kubernetes Engine. Também é possível fazer upload do CSV de saída para o bucket do Cloud Storage.

Como executar como um pipeline de dados do Google Cloud Platform

O padrão de implantação mostrado na seção anterior é ótimo para testar rapidamente a validação de endereço de alto volume para uso único. No entanto, se você precisar usá-lo regularmente como parte de um pipeline de dados, aproveite melhor os recursos nativos do Google Cloud Platform para torná-lo mais robusto. Estas são algumas das alterações que você pode fazer:

imagem

  • Nesse caso, é possível despejar arquivos CSV em buckets do Cloud Storage.
  • Um job do Dataflow pode selecionar os endereços a serem processados e armazená-los em cache no BigQuery.
  • A biblioteca Python do Dataflow pode ser estendida para ter lógica de validação de endereço de alto volume para validar os endereços do job do Dataflow.

Executar o script de um pipeline de dados como um processo recorrente duradouro

Outra abordagem comum é validar um lote de endereços como parte de um pipeline de dados de streaming como um processo recorrente. Você também pode ter os endereços em um repositório de dados do BigQuery. Nesta abordagem, vamos abordar como criar um pipeline de dados recorrente (que precisa ser acionado diariamente/semanalmente/mensalmente)

imagem

  • Faça upload do arquivo CSV inicial em um bucket do Cloud Storage.
  • Use o Memorystore como um armazenamento de dados persistente para manter o estado intermediário para o processo de longa duração.
  • Armazene os endereços finais em um repositório de dados do BigQuery.
  • Configurar o Cloud Scheduler para executar o script periodicamente.

Essa arquitetura tem as seguintes vantagens:

  • Com o Cloud Scheduler, a validação de endereços pode ser feita periodicamente. É recomendável revalidar os endereços mensalmente ou validar os novos endereços a cada mês/trimestre. Essa arquitetura ajuda a resolver esse caso de uso.
  • Se os dados do cliente estiverem no BigQuery, os endereços validados ou as sinalizações de validação poderão ser armazenados em cache diretamente lá. Observação: o que pode ser armazenado em cache e como é descrito em detalhes no artigo sobre validação de endereço de alto volume

  • O uso do Memorystore oferece maior resiliência e capacidade de processar mais endereços. Essas etapas adicionam uma estado a todo o pipeline de processamento, necessária para lidar com conjuntos de dados de endereços muito grandes. Outras tecnologias de banco de dados, como Cloud SQL [https://cloud.google.com/sql] ou qualquer outro tipo de banco de dados oferecido pelo Google Cloud Platform, também podem ser usados aqui. No entanto, acreditamos que o armazenamento de memória equilibra as necessidades de escalonamento e simplicidade e, por isso, ele deve ser a primeira escolha.

Conclusão

Ao aplicar os padrões descritos aqui, é possível usar a API Address Validation em diferentes casos de uso e em diferentes casos de uso no Google Cloud Platform.

Criamos uma biblioteca Python de código aberto para ajudar você a começar com os casos de uso descritos acima. Ele pode ser invocado na linha de comando do seu computador, no Google Cloud Platform ou em outros provedores de nuvem.

Saiba mais sobre como usar a biblioteca neste artigo.

Próximas etapas

Faça o download do artigo Melhorar a finalização de compra, a entrega e as operações com endereços confiáveis e confira o webinar Como melhorar a finalização de compra, a entrega e as operações com a Address Validation .

Leitura adicional sugerida:

Colaboradores

O Google mantém este artigo. Ela foi escrita pelos colaboradores a seguir.
Autores principais:

Henrik Valve | Engenheiro de soluções
Thomas Anglaret | Engenheiro de soluções
Sarthak Ganguly | Engenheiro de soluções