Influxdb时序数据库使用的部分坑

InfluxDB 是一个开源时列数据库,其针对运营监控、应用程序指标、物联网传感器数据和实时分析等领域中的时间序列数据在速度、高可用存储和检索方面进行了优化。具体的表结构和一些数据存储与mysql的区别其它帖子有许多,在这不在介绍,本文主要记录自己在项目上踩的一些坑,其具体介绍可以参照官网官网链接

1.安装

安装具体按照官网介绍很详细,附上官网链接:influxdb在不同平台上的安装介绍

2.使用本地客户端连接远程服务(坑1)

在Windows环境,利用客户端连接线上数据库进行操作时,直接运行 influx.exe时,默认直接连接本地,如下图:运行该文件
直运行默认接连接本地库
结果
经过一番折腾,想要使用自带的客户端连接远程库,在该文件所在路径下执行:

.\influx.exe  -username <username> -password <password> -host <主机host> -port <port>

即可连上远程库,如下图:
连上远程服务

3.建指定保留策略(坑2)

在数据存储时需要指定储存策略和过期策略具体参考策略官网介绍链接,查看策略:

show retention policies on "test_tag"

显示结果:
显示策略
创建策略:

create retention policy "rp_name" on "db_name" duration 3w replication 1 default

说明:

  • rp_name:策略名;
  • db_name:具体的数据库名;
  • 3w:保存3周,3周之前的数据将被删除,influxdb具有各种事件参数,比如:h(小时),d(天), w(星期);
  • replication 1:副本个数,一般为1就可以了;
  • default:设置为默认策略

4.代码中添加tag坑

Map<String, String> tags = new HashMap<>();
tags.put("id", data.getDeviceId());
tags.put("type", data.getDeviceLogType());
Point p = Point.measurementByPOJO(data.getClass()).tag(tags).addFieldsFromPOJO(data).build();

添加tag时,id字段可以不与deviceId同 type不与 LogType同,相同会自动变为别名。 并且要使用.tag(tags)方法

5.查询中‘’坑

查询索引时要使用单引号。参考官网:查询语法官网链接
Single quote tag values in the WHERE clause. Queries with unquoted tag values or double quoted tag values will not return any data and, in most cases, will not return an error.

以上就是在使用过程中遇到的坑,在使用过程中多看官网。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值