>基本概念 - database 数据库 - measurement 数据库中的表 - points 表里面的一行数据 - point 由时间戳(Time)、数据(field)、标签(tags)组成 - Time:每个数据记录时间,是数据库中的主索引(会自动生成) - fields:各种记录值(没有索引的属性)也就是记录的值 - tags:各种有索引的属性 - measurement看成是一个SQL表格,其中,时间戳始终是主索引,tag和field是表格中的列,tag会被建索引,而field则不会。与SQL表格的不同之处在于,使用TSDB For InfluxDB®,您可以有数百万的measurement,无需预先定义数据的schema,并且不会存储空值。 > 具体操作 >启动Influx - 执行命令语句 ``` ./influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 ``` - 执行不需要制定数据库的查询 ``` influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -execute 'SHOW DATABASES' ``` - 执行需要指定数据库的查询,同时,改变时间戳精度: ``` 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 ``` - 使用-format指定服务器返回结果的格式 - 默认的格式是column: ``` influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=column ``` - 将格式改为csv: ``` influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=csv ``` - 将格式改为json: ``` influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=json ``` - 将格式改为json并开启美观的输出: ``` influx -ssl -username influxuser -password user@influxDB -host ts-uf60ncdtuve8d41w3.influxdata.rds.aliyuncs.com -port 3242 -format=json -pretty ``` > 显示购买的数据库名称 - 执行命令语句 show databases > 使用该数据库 - 执行命令语句 use <该数据库的名称> - 显示 Using databases 数据库名称 >往数据库中插入表(measurement) - 执行命令语句: ``` insert cpu_usage,ip=192.168.0.1 value=30 15226580942111 cpu_usage 代表表名,ip是tag索引,value=xx是记录值键值对,记录值可以有多个 ``` - 显示所有的表 - 查询命令:show measurements - 查询插入的数据 ``` select * from cpu_usage ``` - 输入命令后显示出的内容 ``` name: cpu_usage time ip value ---- -- ----- 15226580942111 192.168.0.1 30 ``` > 往表中插入数据 - 输入命令 ``` INSERT cpu,host=serverA,region=us_west value=0.64 一个measurement为cpu,tag为host和region,测量值value为0.64的数据点已经写入数据库 ``` - 查询刚插入的数据 ``` SELECT “host”, “region”, “value” FROM cpu ``` - 输入命令后显示的界面 ``` > name: cpu time host region value 1564026380476736485 serverA us_west 0.64 ``` - 注释:前面我们在写入数据点的时候没有提供时间戳。如果写入没有带时间戳的数据点,TSDB For InfluxDB®会在获取该点时,把本地当前时间分配给该数据点,作为该数据点的时间戳。这意味着您的时间戳跟上面的会有所不同。 - 写入另一种类型的数据,同一个measurement有两个field - 输入命令 ``` INSERT temperature,machine=unit42,type=assembly external=25,internal=37 创建了表temperature,machine为tag-key,type和external为field-key ```