• Como se guardan los datos en InfluxDB

    InfluxDB no tiene tablas, tal y como las conocemos en SQL. Los datos son estructurados en series, compuestas por medidas, etiquetas y campos. Las medidas serían el «equivalente» a las tablas de SQL, las etiquetas serían las columnas indexadas y los campos son los datos en sí, no indexados.

    Estos datos se escriben en InfluxDB mediante un protocolo de línea. Este protocolo se forma así:

    medida, etiqueta1=valor,etiqueta2=valor2,... campo1=valor2,campo2=valor,... TimeStampDeLaFecha

    Por ejemplo:

    nipeserver,sensor=CPU temperatura=56 1465839830100400200

    Entonces, si bien no existen las tablas como tal, si existen las base de datos. Las creamos y las usamos así:

    create database hardware
    use hardware

    Luego, para insertar datos en la base de datos podemos recurrir a varios métodos:

    INSERT Mediante la CLI

    Nos conectamos a la consola influx y ejecutamos:

    insert nipeserver,sensor=cpu temperatura=76 1465839830100400200

    POST HTTP

    Lo hacemos efectuando POST request de HTTP especificando la base de datos en la que queremos insertar los datos. Por ejemplo:

    curl -XPOST http://localhost:8086/write?db=hardware --data-binary "nipeserver,sensor=cpu temperatura=38 1465839830100400200"

    Para visualizar esa consulta, podemos ejecutar:

    select "sensor", "temperatura" from "nipeserver"

    Lo que nos daría el siguiente resultado:

    name: nipeserver
    time                sensor temperatura
    ----                ------ -----------
    1465839830100400200 cpu    76

    Lo loco de este sistema es que no hace falta crear la columna o la «estructura de la tabla» previamente.  Podemos pasar más columnas creándolas en la misma consulta. Por ejemplo:

    insert nipeserver,sensor=cpu,sistemaoperativo=debian temperatura=76 1465839830100400200

    De forma que ahora, al ejecuta la consulta:

    select * from nipeserver

    ..veríamos

    name: nipeserver
    time                sensor sistemaoperativo temperatura
    ----                ------ ---------------- -----------
    1465839830100400200 cpu                     76
    1465839830100400200 cpu    debian           76

    Como vemos, se ha agregado la columna «sistemaoperativo» y, aunque se haya creado después que las otras, se ordena alfabéticamente antes que «temperatura»

     


    Deja una respuesta