TL;DR InfluxDB 技术技巧 - 时间戳精度,多字段函数,常用字段值
作者:Regan Kuchan / 开发者
2016 年 8 月 31 日
导航至
在这篇文章中,我们回顾了本周最有趣的 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 项目
- 参加我们免费的虚拟培训研讨会。