TL;DR InfluxDB 技术技巧 - 时间戳精度,多字段函数,常用字段值

导航至

在这篇文章中,我们回顾了本周最有趣的 InfluxDB 和 TICK-stack 相关问题,时间戳精度,多字段函数,以及常用字段值的解决方案、操作指南和问答,这些问题可能是您错过的。GitHub,IRC 和 InfluxDB Google Group

时间戳精度对性能的影响

问:我正在使用 HTTP API 将秒级数据写入 InfluxDB。是否指定无 precision 查询字符串参数的纳秒级精度时间戳或带有 precision 参数的秒级精度时间戳很重要?

那么,使用以下两个请求中的哪一个有什么好处?

curl -i -XPOST "https://127.0.0.1:8086/write?db=weather" --data-binary 'temperature,location=1 value=90 1472666050000000000'

curl -i -XPOST "https://127.0.0.1:8086/write?db=weather&precision=s" --data-binary 'temperature,location=1 value=90 1472666050'

答:是的。为了最大化性能,我们建议在写入 InfluxDB 数据时使用最粗略的时间戳精度。指定 precision=s 是最佳选择!

在多个字段上执行相同的功能

问:我想计算单个测量值中每个字段的平均值。目前,我正在使用以下查询,这需要很长时间来写入。有没有更好的方法来做这件事?

> SELECT mean("alarm") AS "ave_alarm",mean("guests") AS "ave_guests",mean("temperature") AS "ave_temperature" FROM "home"
name: home
----------
time  ave_alarm  ave_guests  ave_temperature
0     0          1           70

答:是的!从 1.0 版本开始,聚合函数支持使用 * 来指定测量值中的所有字段。

> SELECT mean(*) FROM "home"
name: home
----------
time  mean_alarm  mean_guests  mean_temperature
0     0           1            70

查找最常用的字段值

问:是否有方法可以在字段中找到最常用的字段值?

答:从 1.0 版本开始,InfluxDB 支持使用 mode() 函数来查找字段中最频繁的值。更多信息请查看函数页面

有关更多 InfluxDB 技巧,请参阅我们的常见问题解答页面,并在InfluxDB 用户组中自由提问。

接下来是什么?

  • 在您的基础设施上寻找 InfluxDB 集群?现在可以开始使用 InfluxDB 企业版 Beta,现在可用于评估。
  • 下载开始使用 InfluxDB 1.0 RC1
  • 安排与解决方案架构师进行 免费 20 分钟咨询,以审查您的 InfluxDB 项目
  • 参加我们免费的虚拟培训研讨会