TL;DR InfluxDB 技术提示 - 自定义 GROUP BY time() 窗口和序列基数
作者:Regan Kuchan / 开发者
2016年5月13日
导航至
在这篇文章中,我们回顾了本周最有趣的 InfluxDB 和 TICK 堆栈相关问题,关于自定义 GROUP BY time() 窗口和序列基数的解决方法,以及来自 GitHub、IRC 和 InfluxDB Google Group 的您可能错过的操作指南和问答。
WHERE 子句中的正则表达式
问: 我正在尝试在 WHERE
子句中使用通配符编写查询,但似乎无法使其工作。
我可以在 FROM
子句中使用正则表达式
> SELECT mean("species") FROM /rainforest*/ WHERE "location" = 'q01'
但此查询返回错误
> SELECT mean("species") FROM /rainforest*/ WHERE "location" = /q*/
ERR: error parsing query: found /, expected identifier, string, number, bool at line 1, char 62
答: InfluxQL 要求在 WHERE
子句中使用正则表达式。您需要为正则表达式使用正确的运算符,对于正向匹配使用 ~=
, 对于负向匹配使用 !~
。
例如
> SELECT mean("species") FROM /rainforest*/ WHERE "location" =~ /q*/
序列基数和保留策略
问: 保留策略会影响序列基数吗?
我正在尝试出于性能目的限制我的序列基数。我计划设置多个保留策略,我想知道这是否会对序列基数产生影响。
答: 保留策略不会成倍增加序列基数,因为序列索引仅适用于唯一的度量和标签集组合。无论度量-标签集组合是在每个保留策略中还是仅在一个保留策略中,对于索引而言,它仍然只是一个单独的序列,因此也只关系到基数。
自定义 GROUP BY time() 窗口
问: 有没有办法更改 GROUP BY time()
查询返回的默认时间窗口?
答: 从 InfluxDB 0.13 版本开始,您可以通过包含偏移间隔来更改 GROUP BY time()
的默认舍入日历时间边界。
语法是
SELECT [...] GROUP BY time(time_interval,offset_interval)
有关更详细的描述和示例,请参阅 数据探索。
如需更多 InfluxDB 技巧,请查看我们的 常见问题 页面,并随时在 InfluxDB 用户组 中发布您的问题。
接下来是什么?
- 下载 并 开始使用 InfluxDB v0.13
- 与解决方案架构师安排 免费 20 分钟咨询,以审查您的 InfluxDB 项目
- 参加我们的免费 虚拟培训研讨会。
- 在您的基础设施上寻找 InfluxDB 集群?联系销售 以获取 InfluxDB Enterprise 的演示和定价信息。