Curso desde cero
Descripción
InfluxDB es una de las soluciones de monitoreo modernas que debes si o si, examinar, diferenciar e identificar sus mejores casos de uso, así que te invito a quedarte y conocer sobre esta herramienta.
El monitoreo ha existido desde los albores de la computación. Recientemente, sin embargo, ha habido una revolución en este campo. El monitoreo nativo en la nube ha introducido nuevos desafíos a una tarea antigua, haciendo que las soluciones anteriores no sean adecuadas para el trabajo.
Qué es InfluxDB
Es una base de datos de series temporales diseñada para el almacenamiento rápido y de alta disponibilidad y la recuperación de datos de series temporales. Puede funcionar como una solución independiente, o se puede utilizar para procesar datos de Graphite. Además de la supervisión, InfluxDB se puede utilizar para el Internet de las cosas, los datos de sensores y las soluciones de automatización del hogar.
Es de código abierto (TSDB) desarrollada por la empresa InfluxData. Está escrito en el lenguaje de programación Go (o Golang).
Por supuesto, si deseas conocer más de Go y el por qué lo han usado para desarrollar InfluxDB, te invito a echarle un vistazo al artículo que escribí comparando Go con Python, te sorprenderás.
Características de InfluxDB
InfluxDB fue construido desde cero para ser una base de datos de series temporales especialmente diseñada; es decir, no fue reutilizado para ser series temporales. El tiempo fue incorporado desde el principio. InfluxDB es parte de una plataforma integral que admite la recopilación, almacenamiento, monitoreo, visualización y alerta de datos de series temporales.
También cuenta con su propio lenguaje de consulta inspirado en SQL. Aunque la base de datos en sí es un proyecto de código abierto, implementa componentes de código cerrado para permitir la agrupación en clústeres.
Estas son algunas de las características que InfluxDB admite actualmente que lo convierten en una excelente opción para trabajar con datos de series temporales.
- Almacén de datos personalizado de alto rendimiento escrito específicamente para datos de series temporales.
- El motor TSM permite una alta velocidad de ingesta y compresión de datos
- API HTTP de escritura y consulta simples y de alto rendimiento.
- Los complementos son compatibles con otros protocolos de ingesta de datos como Graphite, collectd y OpenTSDB.
- Lenguaje de consulta expresivo similar a SQL adaptado para consultar fácilmente datos agregados.
- Las etiquetas permiten indexar series para consultas rápidas y eficientes.
- Las políticas de retención caducan automáticamente de manera eficiente los datos obsoletos.
- Las consultas continuas calculan automáticamente los datos agregados para que las consultas frecuentes sean más eficientes.
Lenguajes de consulta
InfluxDB admite varios lenguajes de consulta:
- Flux
- InfluxQL
Flujo
Flux es un lenguaje de scripting de datos diseñado para consultar, analizar y actuar sobre datos de series temporales. A partir de InfluxDB 1.8.0,Flux está disponible para uso de producción junto con InfluxQL.
Para aquellos familiarizados con InfluxQL, Flux está destinado a abordar muchas de las solicitudes de características pendientes que hemos recibido desde la introducción de InfluxDB 1.0. Para obtener una comparación entre Flux e InfluxQL, consulte Flux vs InfluxQL.
Flux es el lenguaje principal para trabajar con datos en InfluxDB OSS 2.0 e InfluxDB Cloud, una plataforma como servicio (PaaS) disponible con carácter general disponible en múltiples proveedores de servicios en la nube. El uso de Flux con InfluxDB 1.8+ le permite familiarizarse con los conceptos y la sintaxis de Flux y facilitar la transición a InfluxDB 2.0.
InfluxQL
InfluxQL es un lenguaje de consulta similar a SQL para interactuar con InfluxDB. Ha sido diseñado para que se sienta familiar para aquellos que provienen de otros entornos SQL o similares a SQL, al tiempo que proporciona características específicas para almacenar y analizar datos de series temporales. Sin embargo, InfluxQL no es SQL y carece de soporte para operaciones más avanzadas como, y a las que los usuarios avanzados de SQL están acostumbrados.
Conceptos claves de InfluxDB
¿Es InfluxDB una base de datos?
InfluxDB es la plataforma de series temporales En su corazón se encuentra una base de datos diseñada específicamente para manejar los volúmenes épicos e innumerables fuentes de datos con marca de tiempo producidos por sensores, aplicaciones e infraestructura. Si el tiempo es relevante para sus datos, necesita una base de datos de series temporales.
Qué es una tabla en InfluxDB
InfluxDB realmente no tiene el concepto de una tabla.
- Los datos se estructuran en series, que se componen de medidas, etiquetas y campos.
- Las medidas son como tablas SQL.
- Las etiquetas son valores indexados.
- Los campos son los datos reales.
Ventajas de InfluxDB
InfluxDB es similar a una base de datos SQL, pero diferente en muchos aspectos. InfluxDB está diseñado específicamente para datos de series temporales. Las bases de datos relacionales pueden manejar datos de series temporales, pero no están optimizadas para cargas de trabajo de series temporales comunes. InfluxDB está diseñado para almacenar grandes volúmenes de datos de series temporales y realizar rápidamente análisis en tiempo real de esos datos.
El tiempo lo es todo
En InfluxDB, una marca de tiempo identifica un solo punto en cualquier serie de datos dada. Esto es como una tabla de base de datos SQL donde la clave principal es preestablecida por el sistema y siempre es el tiempo.
InfluxDB también reconoce que las preferencias del esquema pueden cambiar con el tiempo. En InfluxDB no es necesario definir esquemas por adelantado. Los puntos de datos pueden tener uno de los campos en una medición, todos los campos en una medición o cualquier número intermedio. Puede agregar nuevos campos a una medición simplemente escribiendo un punto para ese nuevo campo. Si necesita una explicación de los términos medidas, etiquetas y campos, consulte la siguiente sección de una base de datos SQL para el cruce de terminología de InfluxDB.
¿Para quién es este curso?
- Estudiantes de ingeniería
Ver másVer menos