TL;DR InfluxDB 技术技巧 - InfluxQL 支持子查询、CLI 支持使用保留策略,以及更多
作者:Regan Kuchan / 产品,开发者
2017 年 1 月 19 日
导航到
在这篇文章中,我们预览了即将随 InfluxDB 1.2 版本发布的一些新功能。下一周请关注更多关于 InfluxDB 和 TICK-stack 相关问题、解决方案、操作指南和问答,这些内容来自 GitHub、IRC 和 InfluxDB Google Group。
InfluxQL 支持子查询
从版本 1.2 开始,InfluxQL 的 SELECT
语句 支持子查询。子查询是在另一个查询的 FROM
子句 中嵌套的查询。您可以使用子查询将查询作为外部查询的条件。
以下使用子查询的查询计算了狗和猫数量的平均差异
> SELECT MEAN("difference") FROM (SELECT "dogs" - "cats" AS "difference" FROM "pet_daycare") name: pet_daycare time mean ---- ---- 1970-01-01T00:00:00Z 9
InfluxDB 首先执行子查询,计算 pet_daycare
度量 中 dogs
和 cats
字段 的差值。接下来,InfluxDB 计算这些差值的平均值。
注意,在 InfluxDB 的早期版本中,此计算需要执行两个单独的查询。
CLI 支持使用保留策略
在 InfluxDB 的早期版本中,查询非 DEFAULT
保留策略 的唯一方法是完全限定 度量 名称在 FROM
子句中。从版本 1.2 开始,CLI 支持使用 USE
命令指定备用保留策略,语法为:USE <database_name>.<retention_policy_name>
。一旦使用 USE
命令指定了备用保留策略,就无需在每个 FROM
子句中都包含该保留策略!
以下示例告诉 CLI 使用 life
数据库和 lemons
保留策略
> USE "life"."lemons" Using database life Using retention policy lemons > SELECT * FROM "glasses" LIMIT 1 name: glasses time lemonade peach_lemonade raspberry_lemonade ---- -------- -------------- ------------------ 2017-01-17T04:41:21.874459122Z 1 8 5
InfluxQL 修复 SAMPLE(*) 问题
在 InfluxDB 的早期版本中,SAMPLE(*,<N>)
忽略了具有 字段 的字符串值。SAMPLE(*,<N>)
的这种行为在版本 1.2 中已修复;现在,SAMPLE(*,<N>)
为度量中的 每个 字段返回 N
个点的随机样本。
> SELECT SAMPLE(*,2) FROM "all_kinds" name: all_kinds time sample_bool sample_i_feel_heard sample_num ---- ----------- ------------------- ---------- 2017-01-17T05:17:34.843212275Z true yes 456 2017-01-17T05:18:14.298348463Z false me too! 4
接下来是什么
- 下载 页上的 TICK-stack 下载已激活。
- 在云上部署:使用完全托管的集群、Kapacitor 和 Grafana 享受 InfluxDB Cloud 的免费试用。
- 在您的服务器上部署:想要在您的服务器上运行 InfluxDB 集群?尝试 InfluxDB Enterprise 的免费 14 天试用,它具有直观的界面,用于部署、监控和平衡集群,以及管理备份和恢复。
- 讲述你的故事: 超过300家公司 分享了他们如何通过InfluxDB取得成功的故事。提交你的评价,并获得限量版卫衣作为感谢。