Introducción
Dentro de
Industria 4.0 y más cercano a IIoT, el procesamientos de la información lo
podemos llevar a cabo a través de sensores, a fin de Diagnosticar y predecir futuros
fallos, y esto se hace procesando Series de Tiempo.
Las series de
tiempo en los últimos años se han convertido en un caso de uso común en muchas
industrias y en una categoría de base de datos propia. Las métricas, los eventos
y otros datos basados en el tiempo se generan a un ritmo exponencial, ya que
existe un requisito creciente para analizar los entornos complejos de hoy.
Históricamente,
las series de tiempo se habían asociado con aplicaciones en finanzas. Sin
embargo, a medida que los desarrolladores y las empresas se mueven para
instrumentar más de sus servidores, aplicaciones, infraestructura de red y el
mundo físico, las series temporales se están convirtiendo en el estándar de
facto sobre cómo pensar en almacenar, recuperar y extraer estos datos en tiempo
real e histórico.
¿Qué son los datos de series temporales?
Las series de tiempo son
simplemente mediciones o eventos que se rastrean, supervisan, disminuyen y
agregan a lo largo del tiempo. Esto podría ser métricas del servidor,
monitoreo del rendimiento de la aplicación, datos de la red, datos del sensor,
eventos, clics, operaciones en un mercado y muchos otros tipos de datos
analíticos. La diferencia clave con los datos de series temporales de
los datos regulares es que siempre hace preguntas al respecto a lo largo del
tiempo. Una forma a menudo simple de determinar si el conjunto de datos con el
que está trabajando es una serie temporal o no, es mirar y ver si uno de sus
ejes es el tiempo. A continuación se presentan algunos ejemplos de
datos de series temporales trazados en gráficos:
Los datos de series temporales vienen en dos formas: regular e irregular.
Las series de tiempo regulares consisten en mediciones
obtenidas de sensores de software o hardware a intervalos regulares de tiempo (digamos
cada 10 segundos, por ejemplo).
De estos datos se generan los que
conocemos como Kpi´s o Métricas.
Las series temporales irregulares son eventos controlados
por usuarios u otros eventos externos.
Los resúmenes
de series irregulares se vuelven regulares ellos mismos. Por ejemplo, resumir
el tiempo de respuesta promedio para solicitudes en una aplicación en
intervalos de 1 minuto o mostrar el precio comercial promedio de las acciones
de Apple cada 10 minutos en el transcurso de un día.
Hay varias paquetería
de Software que pueden solucionar este procesamiento con diferentes alcances
como son Graphite, RRD, OpenTSDB, Prometheus e InfluxData entre
otras
El SW InfluxData está optimizada para ambos casos de uso
(regular e irregular), lo que definitivamente es una ventaja competitiva que lo
diferencia de manera significativa de otras soluciones. Muchos servicios y bases de datos de
series temporales solo admiten el caso de uso de métricas de series temporales
regulares. InfluxDB permite a los
usuarios recopilar múltiples y de diversas fuentes series, almacenar,
consultar, procesar y visualizar datos sin el procesar alta precisión además de
los datos agregados y disminuidos. Esto le caracteriza como una opción
viable para aplicaciones en ciencia y sensores que requieren almacenar datos
sin procesar.
La pila
InfluxData organiza series de tiempo en un formato estructurado. En el
nivel superior hay un nombre de medición, seguido de un conjunto de pares clave
/ valor llamados etiquetas que describen los metadatos, seguido de pares clave
/ valor de los valores reales llamados campos. Los valores de campo en InfluxDB
pueden ser booleanos, int64, float64 o cadenas. Finalmente, hay una marca de
tiempo para el conjunto de valores. Todos los datos son consultados por la medición, las etiquetas y el
campo junto con el rango de tiempo.
Esta
estructura de conjunto facilita a los
desarrolladores la creación de herramientas en torno a las API que
proporciona InfluxData. A
diferencia de las bases de Datos Relacionales o de Documentos, InfluxDB organiza los datos de series temporales en una estructura establecida.
Con el esquema y la configuración
correctos, un solo servidor InfluxDB puede manejar más de 1,000,000 de escrituras
por segundo, algo que la competencia no puede igualar.
Caso de uso horizontal
La plataforma
InfluxData proporciona un conjunto integral de herramientas y servicios para
recopilar y acumular datos de métricas y eventos, analizar los datos y actúa
sobre los datos a través de potentes visualizaciones y notificaciones.
Ya sea que los datos provengan de
humanos, sensores o máquinas, InfluxData permite a los desarrolladores crear aplicaciones de
monitoreo, análisis y IIoT de próxima generación de manera más rápida y fácil,
y escalar ofreciendo valor comercial real y rápidamente.
Esta aplicacion tiene clientes y
usuarios que abarcan tres casos de uso principales: monitoreo de DevOps,
análisis en tiempo real y monitoreo de IoT. Cualquier persona que tenga servidores, máquinas
virtuales, contenedores, aplicaciones, sensores, usuarios o eventos para
rastrear podría beneficiarse del uso de InfluxData.
Monitoreo de DevOps (contracción en inglés de developers&operations)
Para nuestros
usuarios de organizaciones medianas y grandes, lo utiliza en el espacio de
métricas y monitoreo de DevOps. Otros usuarios están creando soluciones de
monitoreo personalizadas desde cero, implementando
la pila InfluxData para rastrear primero sus servidores, máquinas virtuales,
contenedores, almacenes de datos y hardware de red y luego como una plataforma
de métricas generalizadas para desarrolladores de aplicaciones dentro de la
organización. Tambien se puede utilizar InfluxData para complementar los
productos comerciales de APM para instrumentar porciones de la pila para las
que no existen sondas o agentes, o para unir métricas de múltiples soluciones
de monitoreo. Y en ambos casos, los usuarios no solo recopilan métricas para
determinar una línea de base sobre el estado de sus sistemas, sino que también
usan InfluxDB como el lugar para acumular sus eventos de registro. Tener acceso
a los datos de registro es una fuente contextual secundaria e importante para
ayudar a una mayor selección y resolver problemas.
Análisis en tiempo real
En el ámbito
de la analítica en tiempo real, vemos organizaciones de todos los tamaños.
Algunos están creando aplicaciones que enfrentarán a sus usuarios con InfluxDB
como la base de datos subyacente. Otros están instrumentando métricas
empresariales, sociales o de desarrollo en tiempo real para consumo interno.
Frecuentemente vemos a los usuarios comenzar con el caso de uso de métricas y
monitoreo personalizado de DevOps, y luego pasar a análisis en tiempo real una
vez que se despliega la plataforma. InfluxDB finalmente se convierte en la
tienda central de todas las series de tiempo, sensores y datos analíticos.
Internet de las cosas (IoT)
En el ámbito
de IoT hay muchos casos de subuso. Hemos visto usuarios en entornos
industriales como fábricas, petróleo y gas, así como plantas de energía
renovable, agricultura, hogares inteligentes, carreteras e infraestructura.
También hay usuarios en IoT de grado de consumidor como wearables, dispositivos
de consumo y rastreadores.