TL;DR InfluxDB 技术技巧 - 理解系列基数中的相关标签
作者:Regan Kuchan / 开发者
2016年12月15日
导航到
在本周的文章中,我们回顾了 InfluxDB 系列基数和 TICK-stack 相关的有趣问题、解决方案、教程和问答,这些问题、解决方案、教程和问答可能在上周被您错过了。GitHub、IRC 和 InfluxDB Google Group。
将时间戳写入 InfluxDB
Q:我刚开始使用 InfluxDB,正在学习使用行协议。我有一些历史数据想要写入我的数据库,这是否可以使用行协议实现?你能概述一下支持的日期时间格式吗?
A:当然可以!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 * 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取得成功的故事。提交您的感言,并作为感谢获得限量版卫衣。