Patrones de diseño para la validación de direcciones de gran volumen en Google Cloud Platform

Objetivo

En el instructivo Validación de direcciones de alto volumen, se te guiaron por diferentes situaciones en las que se puede usar la validación de direcciones de alto volumen. En este instructivo, te presentaremos diferentes patrones de diseño dentro de Google Cloud Platform para ejecutar la validación de direcciones de alto volumen.

Comenzaremos con una descripción general de cómo ejecutar la validación de direcciones de alto volumen en Google Cloud Platform con Cloud Run, Compute Engine o Google Kubernetes Engine para ejecuciones únicas. Luego, veremos cómo se puede incluir esta función como parte de una canalización de datos.

Al final de este artículo, deberías tener una buena comprensión de las diferentes opciones para ejecutar la validación de direcciones en gran volumen en tu entorno de Google Cloud.

Arquitectura de referencia en Google Cloud Platform

En esta sección, se profundiza en los diferentes patrones de diseño para la validación de direcciones de alto volumen con Google Cloud Platform. Cuando se ejecuta en Google Cloud Platform, puedes integrarlo con tus procesos y canalizaciones de datos existentes.

Ejecuta la validación de direcciones de alto volumen una vez en Google Cloud Platform

A continuación, se muestra una arquitectura de referencia para compilar una integración en Google Cloud Platform que es más adecuada para operaciones o pruebas únicas.

imagen

En este caso, te recomendamos que subas el archivo CSV a un bucket de Cloud Storage. Luego, la secuencia de comandos de validación de direcciones de alto volumen se puede ejecutar desde un entorno de Cloud Run. Sin embargo, puedes ejecutarlo en cualquier otro entorno de ejecución, como Compute Engine o Google Kubernetes Engine. El CSV de salida también se puede subir al bucket de Cloud Storage.

Ejecución como canalización de datos de Google Cloud Platform

El patrón de implementación que se muestra en la sección anterior es ideal para probar rápidamente la validación de direcciones de alto volumen para un uso único. Sin embargo, si necesitas usarlo con frecuencia como parte de una canalización de datos, puedes aprovechar mejor las funciones nativas de Google Cloud Platform para que sea más sólida. Estos son algunos de los cambios que puedes hacer:

imagen

  • En este caso, puedes volcar archivos CSV en buckets de Cloud Storage.
  • Un trabajo de Dataflow puede recuperar las direcciones que se procesarán y, luego, almacenarlas en caché en BigQuery.
  • La biblioteca de Python de Dataflow se puede extender para tener lógica para la validación de direcciones de alto volumen y validar las direcciones del trabajo de Dataflow.

Ejecutar la secuencia de comandos desde una canalización de datos como un proceso recurrente de larga duración

Otro enfoque común es validar un lote de direcciones como parte de una canalización de datos de transmisión como un proceso recurrente. También puedes tener las direcciones en un almacén de datos de BigQuery. En este enfoque, veremos cómo crear una canalización de datos recurrente (que se debe activar a diario, semanalmente o mensualmente).

imagen

  • Sube el archivo CSV inicial a un bucket de Cloud Storage.
  • Usa Memorystore como un almacén de datos persistente para mantener el estado intermedio del proceso de larga duración.
  • Almacena en caché las direcciones finales en un almacén de datos de BigQuery.
  • Configura Cloud Scheduler para que ejecute la secuencia de comandos de forma periódica.

Esta arquitectura cuenta con las siguientes ventajas:

  • Con Cloud Scheduler, la validación de direcciones se puede realizar de forma periódica. Te recomendamos que vuelvas a validar las direcciones mensualmente o que valides las direcciones nuevas de forma mensual o trimestral. Esta arquitectura ayuda a resolver ese caso de uso.
  • Si los datos del cliente se encuentran en BigQuery, las direcciones validadas o las marcas de validación se pueden almacenar en caché directamente allí. Nota: En el artículo Validación de direcciones de alto volumen, se describe en detalle qué se puede almacenar en caché y cómo hacerlo.

  • El uso de Memorystore proporciona una mayor capacidad de recuperación y la capacidad de procesar más direcciones. Este paso agrega un estado a toda la canalización de procesamiento, que es necesario para controlar conjuntos de datos de direcciones muy grandes. También se pueden usar otras tecnologías de bases de datos, como Cloud SQL[https://cloud.google.com/sql] o cualquier otro tipo de base de datos que ofrezca Google Cloud Platform. Sin embargo, creemos que Memorystore equilibra las necesidades de escalamiento y simplicidad, por lo que debería ser la primera opción.

Conclusión

Si aplicas los patrones que se describen aquí, puedes usar la API de Address Validation para diferentes casos de uso y desde diferentes casos de uso en Google Cloud Platform.

Escribimos una biblioteca de Python de código abierto para ayudarte a comenzar a usar los casos de uso descritos anteriormente. Se puede invocar desde una línea de comandos en tu computadora o desde Google Cloud Platform o desde otros proveedores de servicios en la nube.

Obtén más información para usar la biblioteca en este artículo.

Próximos pasos

Descarga el documento informativo Mejora la confirmación de compra, la entrega y las operaciones con direcciones confiables y mira el seminario en línea Cómo mejorar la confirmación de compra, la entrega y las operaciones con la validación de direcciones .

Lecturas adicionales sugeridas:

Colaboradores

Google mantiene este artículo. Los siguientes colaboradores la escribieron originalmente.
Autores principales:

Henrik Valve | Ingeniero de soluciones
Thomas Anglaret | Ingeniero de soluciones
Sarthak Ganguly | Ingeniero de soluciones