TL;DR InfluxDB 技术提示 - 理解序列基数中的相关标签
作者:Regan Kuchan / 开发者
2016 年 12 月 15 日
导航至
在本周的帖子中,我们回顾了上周您可能错过的来自 GitHub、IRC 和 InfluxDB Google Group 中最有趣的 InfluxDB 序列基数和 TICK-stack 相关问题、解决方法、操作方法和问答。
将时间戳写入 InfluxDB
问:我是 InfluxDB 的新手,正在学习使用行协议。我有一些历史数据想要写入我的数据库 - 这可以使用行协议实现吗?您能给我概述一下支持的时间戳格式吗?
答:当然!InfluxDB 的时间戳始终采用 Unix 时间;即自 1970 年 1 月 1 日午夜 UTC 以来经过的时间量。
在 行协议(用于将点写入 InfluxDB 的基于文本的格式)中,时间戳是可选的。如果您不提供时间戳,InfluxDB 将使用您服务器的本地纳秒时间(UTC)将点写入数据库。如果您确实指定了时间戳,InfluxDB 将改为使用该时间戳写入点。因此,为了回答您的初始问题:是的,您可以将历史数据写入数据库,您只需要在行协议中指定相关的时间戳即可。
关于将时间戳写入 InfluxDB,还有一些其他事项需要了解
- 允许的最大时间戳是
9223372036854775806
或2262-04-11 23:47:16.854775806
。 - 允许的最小时间戳是
-9223372036854775806
或1677-09-21 00:12:43.145224194
。请注意,InfluxDB 支持负 Unix 时间戳,即发生在 1970 年 1 月 1 日午夜 UTC 之前的时间戳。 - HTTP API 支持写入非纳秒时间戳。只需使用
precision
查询字符串参数来指定时间戳以微秒 (u
)、毫秒 (ms
)、小时 (h
)、分钟 (m
) 或秒 (s
) 为单位。我们建议在将数据写入 InfluxDB 时尽可能使用最粗略的精度。它可以显着提高压缩率。
理解序列基数中的相关标签
问:我已经开始阅读关于 InfluxDB 模式 和 序列基数 的内容。单个度量的序列基数真的只是每个标签的标签值数量的乘积吗?
例如,我有一个包含标签键 firstname
、lastname
和 email
的单个度量。如果 firstname
有五个不同的标签值,lastname
有五个不同的值,而 email
有五个不同的值,那么我的序列基数是 125 (5 * 5 * 5) 吗?
在您的示例中,如果我们有标签 firstname
、lastname
和 email
,则总基数完全由 email
标签驱动。尽管可能有很多名字和姓氏,但给定的电子邮件地址将永远只有一个关联的名字和姓氏(假设没有人更改他们的名字。)firstname
和 lastname
是因变量,而 email
是自变量,因此您的序列基数实际上是五。
选择不同的时间范围
问:我正在尝试使用 WHERE
子句中的时间范围 SELECT
数据,但我一直没有得到任何结果。我的查询有什么问题吗?
SELECT * FROM "holidata" WHERE (time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:06:00Z') OR (time >= '2015-09-18T21:36:00Z' AND time <= '2015-09-18T21:42:00Z')
答:目前,InfluxQL 不支持在 WHERE
子句 中选择不同的时间范围。您的查询没有返回任何结果,因为您的两个时间范围之间存在时间间隔。您可以通过将查询拆分为两个单独的查询来解决此问题
# Query 1 for time range one
SELECT * FROM "holidata" WHERE time >= '2015-08-18T00:00:00Z' AND time <= '2015-08-18T00:06:00Z'
# Query 2 for time range two
SELECT * FROM "holidata" WHERE time >= '2015-09-18T21:36:00Z' AND time <= '2015-09-18T21:42:00Z'
有关更多 InfluxDB 技巧,请参阅我们的 常见问题解答 页面,并随时在 InfluxDB 用户组 中发布您的问题!
下一步
- 下载适用于 TICK-stack 的下载已在我们的“下载”页面上线
- 云端部署:立即开始免费试用 InfluxDB Cloud,它具有完全托管的集群、Kapacitor 和 Grafana。
- 在您的服务器上部署:想要在您的服务器上运行 InfluxDB 集群?立即试用 InfluxDB Enterprise 的 14 天免费试用版,它具有用于部署、监控和重新平衡集群的直观 UI,以及管理备份和恢复的功能。
- 讲述您的故事:超过 100 家公司分享了 InfluxDB 如何帮助他们取得成功的故事。提交您的客户评价,即可获得限量版连帽衫作为感谢。