InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便。
安装
- 数据库安装
根据不同的系统安装方式不太一样, 具体参考官网, 这个官网提供的挺详细的。
如果有指定版本的requests, 注意一下requests版本, influxdb不支持旧版的requests库, 版本不支持安装时会有提示。
- Python安装操作库
1 2 3 4
| python3 -m pip install influxdb
pip install --upgrade influxdb # 升级 pip uninstall influxdb # 卸载
|
使用准备
1
| create database database_name;
|
也可以使用python命令直接创建
1 2 3 4 5 6 7
| from influxdb import InfluxDBClient
client = InfluxDBClient(host='服务器IP', port=8086, username='myuser', password='mypass' ssl=True, verify_ssl=True)
client.create_database('database_name')
client.get_list_database()
|
操作
1 2
| from influxdb import InfluxDBClient client = InfluxDBClient('服务器IP', '8086', 'myuser', 'mypass', 'database_name')
|
- 写入数据
InfluxDB的每条数据可以看成一个json数据(其实写入的时候就是个json数据),每条数据中包含了’measurement’,’time’,’tags’,’fields’
属性 |
含义 |
measurement |
相当于数据库中的表 |
time |
数据的记录时间,是数据的主索引 |
tags |
一个有索引的值 |
fields |
没有索引的值 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| w_json = [{ "measurement": 'table_name', "time": now_time, "tags": { 'name': '名字', 'categories': '类型' }, "fields": { 'price': "价格", 'unit': "单位", } }] 写入数据库 client.write_points(w_json)
|