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

Objetivo

El instructivo sobre Validación de direcciones de gran volumen te guió por diferentes situaciones en las que se puede utilizar la validación de direcciones de gran volumen. En este instructivo, te presentaremos diferentes patrones de diseño en Google Cloud Platform para ejecutar High Volume Address Validation.

Comenzaremos con una descripción general sobre cómo ejecutar High Volume Address Validation 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, comprenderás las diferentes opciones para ejecutar Address Validation en grandes volúmenes 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. Si ejecutas la app en Google Cloud Platform, puedes realizar la integración con tus procesos y canalizaciones de datos existentes.

Cómo ejecutar High Volume Address Validation una vez en Google Cloud Platform

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

imagen

En este caso, recomendamos subir el archivo CSV a un bucket de Cloud Storage. La secuencia de comandos de High Volume Address Validation se puede ejecutar desde un entorno de Cloud Run. Sin embargo, puedes ejecutarlo con cualquier otro entorno de ejecución, como Compute Engine o Google Kubernetes Engine. El archivo CSV de salida también se puede subir al bucket de Cloud Storage.

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

El patrón de implementación que se mostró en la sección anterior es excelente para probar rápidamente High Volume Address Validation para un uso único. Sin embargo, si necesitas usarlo con regularidad como parte de una canalización de datos, puedes aprovechar mejor las capacidades nativas de Google Cloud Platform para hacerla más sólida. Entre los cambios que puedes hacer, se incluyen los siguientes:

imagen

  • En este caso, puedes volcar archivos CSV en buckets de Cloud Storage.
  • Un trabajo de Dataflow puede recoger las direcciones que se procesarán y, luego, almacenar en caché en BigQuery.
  • La biblioteca de Dataflow para Python se puede extender de modo que tenga lógica para que la validación de direcciones de alto volumen valide las direcciones desde el 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 transmisión de datos 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 diariamente, 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 un estado intermedio durante el proceso de larga duración.
  • Almacena en caché las direcciones finales en un almacén de datos de BigQuery.
  • Configura Cloud Scheduler para ejecutar la secuencia de comandos de forma periódica.

Esta arquitectura cuenta con las siguientes ventajas:

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

  • El uso de Memorystore proporciona mayor resiliencia y capacidad para procesar más direcciones. En este paso, se agrega una propiedad con estado a toda la canalización de procesamiento, que se necesita para manejar conjuntos de datos de direcciones muy grandes. Aquí 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 ofrece Google Cloud Platform. Sin embargo, creemos que el almacenamiento en la memoria equilibra sin problemas 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 distintos casos de uso en Google Cloud Platform.

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

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

Próximos pasos

Descarga el informe Mejora la confirmación de la compra, la entrega y las operaciones con direcciones confiables y mira el seminario en línea Mejora la confirmación de la compra, la entrega y las operaciones con Address Validation .

Lecturas adicionales sugeridas:

Colaboradores

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

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