¿Por qué existe y cómo funciona Edge Data Replication en InfluxDB?

¿Por qué existe y cómo funciona Edge Data Replication en InfluxDB?
Photo by Harrison Broadbent / Unsplash

Durante los últimos años hablar de IoT y el Edge se ha vuelto algo muy normal, debido a que nos vemos en la necesidad de monitorear dispositivos o grandes infraestructuras que se encuentran en zonas remotas y en donde, muchas veces, no contamos con más que una conexión satelital de muy baja velocidad o cobertura de Internet móvil.

Para estos casos, en dónde, no solo queremos recolectar, pero también hacer un análisis local y luego llevar esa data a otro lado, InfluxDB, en la versión 2.3 tiene una funcionalidad llamada Edge Data Replication.

Edge Data Replication, nos permite usar esa instancia de InfluxDB Open Source que tenemos corriendo de manera local, pero también, replicar esos datos a InfluxDB Cloud donde podremos hacer análisis más complejos, retener la data por más tiempo, usarla como fuente de otros sistemas, etc.

Desde una punto de vista de arquitectura, así es como se ve, podemos tener en una Raspberry PI u otro equipo, tal vez con un destino más industrial que corra InfluxDB y luego, con una especifica configuración mandamos esa data a InfluxDB Cloud.

¿Por qué?

Juguemos un poco con la imaginación, sos una empresa generadora y distribuidora de energía, tenes un parque eólico en una zona remota, en el medio de la nada y necesitas monitorear el estado no solo de las turbinas eólicas, si no también, del equipo que esta en sitio y que maneja esas turbinas.

Digamos que tenés un dispositivo tipo Rasbperry Pi en cada una de las turbinas y en cada una de las cajas donde estan sus equipos con el fin de monitorear la energía que generan, temperatura, vibraciones, humedad, velocidad del viento y un sin fin de otras métricas que se podrían tomar. Hoy tal vez, recolectas esa información, pero depende de la conexión que haya en esos lugares para tenerla, visualizarla y analizarla, ahora, ¿Qué pasa si se pierde la conexión por horas? ¿Vas a tener un bache de tiempo en donde no hay información? ¿Cómo afecta a tu operación el no contar con esa información?

Como respuesta a todas esas preguntas, es que desarrollamos Edge Data Replication.

¿Cómo?

Edge Data Replication es una funcionalidad presente a partir de InfluxDB v2.3 en adelante y que basicamente, con una simple configuración, te permite replicar la información que tienes alojada en un bucket a otro bucket en InfluxDB Cloud.

Pero la cosa no termina ahí, imagina de nuevo el parque eólico, tus dispositivos, una Raspberry PI, la recolección de la información, pero ahora, también el almacenaje de esa información en el Edge en InfluxDB OSS 2.3. Ahora bien. imagina que tienes activada la replicación, pero durante todo un día, no hubo conexión en el parque, por el motivo que fuera, pensarás, bueno, la información no se perdió, pero no va a replicar ¿Qué lo es que pasa ahí? y te cuento, EDR tiene una cola, que lo que hace es, que una vez que la conexión este disponible, envie esa información a InfluxDB Cloud, de manera, si bien la data llegará "tarde", no la pierdes.

Un caso de uso muy común, puede ser en el que durante siete días guardas información en el Edge y una vez por día mandas la información que se recolectó en ese día.

Lo mejor de todo, es que esta funcionalidad es gratuita, es parte de InfluxDB 2.3 Open Source. Incluso, puedes usar una cuenta gratuita de InfluxDB Cloud para probar y hacer todas las pruebas que quieras.

Para ir cerrando

EDR es una excelente funcionalidad. Empezamos a hablar, no solo de recolectar, sino también analizar información en el Edge y por supuesto, poder distribuir esa información afuera para un mayor análisis.

Les dejo algunos enlaces para saber más sobre EDR y quedense pendiente, que en el proximo artículo, les muestro como configurarlo.

InfluxDB Edge Data Replication | InfluxDB
Read the Edge Data Replication tech paper to learn how InfluxDB Edge Data Replication processes data at the edge and replicates it to the cloud.
InfluxDB Edge Data Replication | InfluxDB OSS 2.3 Documentation
Use InfluxDB Edge Data Replication to replicate local data at the edge to InfluxDB Cloud InfluxDB.