瀏覽代碼

InfluxDB的操作

master
QYYEE 5 年之前
父節點
當前提交
63cf9a7f6c
共有 1 個文件被更改,包括 99 次插入0 次删除
  1. 99
    0
      实践/后端/项目/InfluxDB操作.md

+ 99
- 0
实践/后端/项目/InfluxDB操作.md 查看文件

@@ -0,0 +1,99 @@
1
+>基本概念
2
+- database 数据库
3
+- measurement 数据库中的表
4
+- points 表里面的一行数据
5
+- point 由时间戳(Time)、数据(field)、标签(tags)组成
6
+    - Time:每个数据记录时间,是数据库中的主索引(会自动生成)
7
+    - fields:各种记录值(没有索引的属性)也就是记录的值
8
+    - tags:各种有索引的属性
9
+
10
+- measurement看成是一个SQL表格,其中,时间戳始终是主索引,tag和field是表格中的列,tag会被建索引,而field则不会。与SQL表格的不同之处在于,使用TSDB For InfluxDB®,您可以有数百万的measurement,无需预先定义数据的schema,并且不会存储空值。
11
+> 具体操作
12
+
13
+>启动Influx
14
+   
15
+ - 执行命令语句
16
+  ```
17
+  ./influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242
18
+  ```
19
+  - 执行不需要制定数据库的查询
20
+   ```
21
+   influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -execute 'SHOW DATABASES'
22
+   ```
23
+   - 执行需要指定数据库的查询,同时,改变时间戳精度:
24
+    ```
25
+    influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -execute 'SELECT * FROM "h2o_feet" LIMIT 3' -database="NOAA_water_database" -precision=rfc3339
26
+    ```
27
+ -  使用-format指定服务器返回结果的格式
28
+    -  默认的格式是column:
29
+    ```
30
+     influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=column
31
+    ```
32
+    - 将格式改为csv:
33
+    ```
34
+    influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=csv
35
+    ```
36
+    - 将格式改为json:
37
+    ```
38
+    influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=json
39
+    ```
40
+    - 将格式改为json并开启美观的输出:
41
+    ```
42
+    influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=json -pretty
43
+    ```
44
+
45
+
46
+
47
+> 显示购买的数据库名称
48
+   - 执行命令语句 show databases
49
+> 使用该数据库
50
+   - 执行命令语句 use <该数据库的名称>
51
+   - 显示 Using databases 数据库名称
52
+
53
+>往数据库中插入表(measurement)
54
+    - 执行命令语句:
55
+  ```
56
+  insert  cpu_usage,ip=192.168.0.1 value=30 15226580942111
57
+  cpu_usage 代表表名,ip是tag索引,value=xx是记录值键值对,记录值可以有多个
58
+  ```
59
+- 显示所有的表
60
+   - 查询命令:show measurements
61
+- 查询插入的数据
62
+```
63
+select * from cpu_usage
64
+```
65
+  - 输入命令后显示出的内容
66
+```
67
+  name: cpu_usage
68
+time           ip          value
69
+----           --          -----
70
+15226580942111 192.168.0.1 30
71
+```
72
+> 往表中插入数据
73
+   - 输入命令
74
+    ```
75
+    INSERT cpu,host=serverA,region=us_west value=0.64
76
+    一个measurement为cpu,tag为host和region,测量值value为0.64的数据点已经写入数据库
77
+    ```  
78
+    - 查询刚插入的数据
79
+    ```
80
+    SELECT “host”, “region”, “value” FROM  cpu
81
+    ```
82
+    - 输入命令后显示的界面
83
+     ```
84
+     > name: cpu
85
+       time           host       region    value  
86
+    1564026380476736485 serverA us_west 0.64
87
+
88
+     ```
89
+
90
+- 注释:前面我们在写入数据点的时候没有提供时间戳。如果写入没有带时间戳的数据点,TSDB For InfluxDB®会在获取该点时,把本地当前时间分配给该数据点,作为该数据点的时间戳。这意味着您的时间戳跟上面的会有所不同。
91
+
92
+- 写入另一种类型的数据,同一个measurement有两个field
93
+   -  输入命令
94
+   ```
95
+  INSERT temperature,machine=unit42,type=assembly external=25,internal=37
96
+
97
+  创建了表temperature,machine为tag-key,type和external为field-key
98
+  ```
99
+

Loading…
取消
儲存