← Volver
Práctica universitariaArquitectura de Datos — Proyecto final (URL, junio de 2026)Proyecto en grupo

ACME EV — telemetría en tiempo real de una flota de vehículos eléctricos

Kafka (Confluent) con Schema Registry y DLQ, dashboard en vivo en Vercel y capa Gold en Databricks

Problema

Recibir y explotar la telemetría de una flota de hasta 10,000 vehículos eléctricos en 10 sucursales de Latinoamérica (GPS cada 30 s y estado cada 60 s), garantizando disponibilidad, integridad y confidencialidad, con crecimiento del 20 % anual.

Datos

Telemetría simulada en Python (posición GPS, batería, on/off, código de falla 000–999, km) sobre rutas reales de calles (Google Routes / OSRM), catálogo dimensional de sucursales, vehículos y clientes (identidades sintéticas de randomuser.me) y capa Gold en Databricks.

Métodos

  • Generador Python con física del vehículo (Haversine, rumbo, velocidad variable), batería y lógica de desconexión con buffering y reconexión (tramas liberadas en ráfaga)
  • Publicación a Kafka con JSON Schema validado en Schema Registry; los mensajes que no validan van al tópico de dead-letter (DLQ)
  • Función serverless en Vercel como puente Kafka → navegador (kafkajs) con cursor incremental
  • Dashboard web (HTML/JS, Google Maps vectorial WebGL) con clustering de marcadores y rutas por sucursal bajo demanda
  • Capa Gold en Databricks: Delta tables + vista enriquecida que une la telemetría Bronze con el catálogo
  • Escalado de 300 a 10,000 vehículos optimizando solo el cliente, sin reescribir la lógica de estado
  • 33 tests pytest del generador; informes gerencial/técnico (10 páginas) y anexo de eficiencia y costos en nube

Resultados

  • Flota de 10,000 vehículos ≈ 500 eventos/s sostenidos y 43,2 M de eventos al día (aritmética del enunciado, documentada como «cifra dura» en el anexo; las estimaciones de RU/s y costos se declaran como estimación, no medición).
  • Dashboard desplegado y funcionando en producción (Vercel), escalado a 10,000 vehículos: rutas partidas por sucursal (~10 MB c/u) bajo demanda y clustering de marcadores.
  • Fix verificado: 0 vehículos dibujados sobre el mar tras regenerar rutas reales por calles y descartar las que cruzaban agua.
  • 33 tests del generador pasando (pytest).

Herramientas

PythonConfluent Cloud (Kafka)Schema RegistryDatabricks (Delta)VercelJavaScriptGoogle Maps PlatformOSRMpytest

Enlaces

Trabajo universitario; no se afirma autoría individual exclusiva.