Ingesta de Datos Confiable en Google Cloud Platform

Clase 31 de 48Entrenamiento de Google Cloud Platform

Resumen

¿Cómo Google Cloud Platform gestiona la ingesta de datos confiable?

Google Cloud Platform (GCP) nos ofrece una potente infraestructura para administrar la ingesta de datos de manera confiable a través de servicios gestionados. Comprender cómo se generan estos datos es crucial. Generamos eventos de manera masiva, desde navegar en eCommerce hasta compartir en redes sociales. Dentro de una organización, estas prácticas se traducen en tres principales casos de uso:

  1. Ingesta de eventos de usuarios: Al utilizar plataformas como Mercado Libre, cada acción genera eventos en tiempo real.
  2. Ingesta de datos a través de bases de datos con CDC (Change Data Capture): Esta técnica permite capturar y accionar sobre los cambios en una base de datos.
  3. Enriquecimiento de eventos con inteligencia artificial: Usar APIs de Google para analizar y enriquecer datos no estructurados, como fotos y vídeos.

¿Qué diferencia a una organización data driven de una event driven?

Una organización data driven se centra en un enfoque estratégico. Antes de realizar acciones, planifica en base a estrategias e hipótesis, lo cual implica un desarrollo a largo plazo. Por el contrario, una organización event driven responde en tiempo real a los datos. Deja que los eventos dicten las acciones, permitiendo una reacción más rápida y adaptativa a las necesidades del negocio.

¿Cuáles son las características de cada enfoque?

  • Data driven:

    • Estrategia a largo plazo e hipótesis.
    • Baja sensibilidad temporal.
    • Planificación previa antes de la implementación de estrategias.
  • Event driven:

    • Respuesta rápida y adaptativa.
    • Acciones definidas por los eventos en tiempo real.
    • Los datos determinan las decisiones, permitiendo una ejecución ágil.

¿Cómo facilita Google Cloud estos enfoques de ingesta de datos?

Google proporciona una plataforma que abarca cinco puntos clave para la ingesta de datos confiable:

  1. Servicios de ingesta robustos: Capturan eventos sin importar su tamaño o velocidad.
  2. Ingesta de datos unificada: Permite procesar datos en batch o streaming sin recodificar.
  3. Arquitectura serverless: Maximiza la eficiencia al eliminar la necesidad de gestionar servidores.
  4. Herramientas de sentido de datos: Ofrecen la capacidad de extraer información significativa en tiempo real.
  5. Flexibilidad para usuarios: No se requiere experiencia en programación para aprovechar la plataforma.

¿Qué productos soportan esta arquitectura?

PubSub

  • Producto global que capta datos en el punto más cercano de producción.
  • Escalable, procesando hasta 100 GB por segundo.
  • Spotify como caso de uso, gestionando 8.5 millones de eventos por segundo.
import pubsub_v1

client = pubsub_v1.PublisherClient()
topic_path = client.topic_path('your-project', 'your-topic')

data = 'your-message'.encode('utf-8')
client.publish(topic_path, data)

Dataflow

  • Basado en Apache Beam, permite reutilización en batch o real time.
  • Integrado con varios motores de procesamiento como Apache Flink y Spark.
  • Garantiza la entrega del mensaje exactly once juntamente con PubSub.
import apache_beam as beam

with beam.Pipeline() as p:
    (p
     | 'Input' >> beam.Create([1, 2, 3, 4, 5])
     | 'Multiply' >> beam.Map(lambda x: x * 10)
     | 'Output' >> beam.io.WriteToText('output.txt'))

Otros componentes

  • BigQuery: Almacena datos de eventos de manera serverless y escalable.
  • AI Platform y TensorFlow: Operacionaliza modelos de inteligencia artificial, permitiendo análisis complejos y predicciones.

¿Por qué elegir Google para la ingesta de datos?

  • Proceso unificado para ingesta y análisis de datos en batch y real time.
  • Soluciones integradas que permiten democratizar los análisis.
  • Casos de éxito como eMARSIS, que procesa 250.000 eventos por segundo y redujo costos en un 70%.

Google Cloud es un aliado robusto y flexible para cualquier organización que desee implementar una ingesta de datos confiable, adaptándose a demandas cambiantes y escalando con el crecimiento del negocio.