influxdb入门——和mongodb一样可以动态增加字段
./influxd [--config yourconfigfile 2> /dev/null] 之所以重定向 因为默认log是stderr
再启动客户端./influx
> CREATE DATABASE mydb
> show databases name: databases name ---- _internal mydb > use mydb Using database mydb > INSERT cpu,host=serverA,region=us_west value=0.64 > SELECT "host", "region", "value" FROM "cpu" name: cpu time host region value ---- ---- ------ ----- 1493949841535348823 serverA us_west 0.64 > INSERT temperature,machine=unit42,type=assembly external=25,internal=37 > > SELECT * FROM "temperature" name: temperature time external internal machine type ---- -------- -------- ------- ---- 1493950051939288361 25 37 unit42 assembly > INSERT temperature,machine=unit42,type=assembly external=25,internal=37 > SELECT * FROM "temperature" name: temperature time external internal machine type ---- -------- -------- ------- ---- 1493950051939288361 25 37 unit42 assembly 1493951735782511244 25 37 unit42 assembly > INSERT temperature,machine=unit42,type=assembly external=25,internal=37,kaka=100 > SELECT * FROM "temperature" name: temperature time external internal kaka machine type ---- -------- -------- ---- ------- ---- 1493950051939288361 25 37 unit42 assembly 1493951735782511244 25 37 unit42 assembly 1493951747715731172 25 37 100 unit42 assembly > INSERT temperature,machine=unit42,type=assembly external=25,internal=37,kaka=100,other=1223 > SELECT * FROM "temperature" name: temperature time external internal kaka machine other type ---- -------- -------- ---- ------- ----- ---- 1493950051939288361 25 37 unit42 assembly 1493951735782511244 25 37 unit42 assembly 1493951747715731172 25 37 100 unit42 assembly 1493951759943810550 25 37 100 unit42 1223 assembly
可以看到是schema free的,可以动态的添加字段!!!
插入数据:
Time Series Name:对应数据库的表名,比如已经创建的cpu表。
Values:一条记录的取值,InfluxDB不需要先定义列,根据mongodb类似!
python代码:
>>> from influxdb import InfluxDBClient >>> json_body = [ { "measurement": "cpu_load_short", "tags": { "host": "server01", "region": "us-west" }, "time": "2009-11-10T23:00:00Z", "fields": { "value": 0.64 } } ] >>> client = InfluxDBClient('localhost', 8086, 'root', 'root', 'example') >>> client.create_database('example') >>> client.write_points(json_body) >>> result = client.query('select value from cpu_load_short;') >>> print("Result: {0}".format(result))
查看数据:
~/influxdb-1.2.2-1/usr/bin/influx Connected to http://localhost:8086 version 1.2.2 InfluxDB shell version: 1.2.2 > use example Using database example > select * from cpu_load_short name: cpu_load_short time host region value ---- ---- ------ ----- 1257894000000000000 server01 us-west 0.64
参考:https://docs.influxdata.com/influxdb/v1.2/introduction/getting_started/
标签:
数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」