TL;DR InfluxDB 技术技巧 - 理解系列基数中的相关标签

导航到

在本周的文章中,我们回顾了 InfluxDB 系列基数和 TICK-stack 相关的有趣问题、解决方案、教程和问答,这些问题、解决方案、教程和问答可能在上周被您错过了。GitHub、IRC 和 InfluxDB Google Group

将时间戳写入 InfluxDB

Q:我刚开始使用 InfluxDB,正在学习使用行协议。我有一些历史数据想要写入我的数据库,这是否可以使用行协议实现?你能概述一下支持的日期时间格式吗?

A:当然可以!InfluxDB 的日期时间总是以 Unix 时间表示;这是从 1970 年 1 月 1 日午夜 UTC 开始到当前时间的总秒数。

行协议(用于将点写入 InfluxDB 的基于文本的格式)中,日期时间是可选的。如果您提供日期时间,InfluxDB 将使用服务器本地 UTC 纳秒时间将点写入数据库。如果您指定了日期时间,InfluxDB 将使用该日期时间将点写入数据库。因此,回答您最初的问题:是的,您可以将历史数据写入数据库,只需在行协议中指定相关日期时间即可。

关于将日期时间写入 InfluxDB 的一些其他事项

  • 允许的最大日期时间是 92233720368547758062262-04-11 23:47:16.854775806
  • 允许的最小日期时间是 -92233720368547758061677-09-21 00:12:43.145224194。注意,InfluxDB 支持负的 Unix 时间戳,即发生在 1970 年 1 月 1 日午夜 UTC 之前的时间戳。
  • HTTP API 支持写入非纳秒日期时间。只需使用 precision 查询字符串参数来指定日期时间是微秒(u)、毫秒(ms)、小时(h)、分钟(m)或秒(s)。我们建议在写入 InfluxDB 数据时使用最粗的精度。这可以提高压缩效率。

请查看 行协议HTTP API 文档以获取更多信息!

理解系列基数中的相关标签

问:我开始了解InfluxDB的模式系列基数。对于单个测量值,系列基数是否真的只是每个标签值的数量乘积?

例如,我有一个带有标签键firstnamelastnameemail的单一测量值。如果firstname有五个不同的标签值,lastname有五个不同的值,而email有五个不同的值,那么我的系列基数是125(5 * 5 * 5)吗?

答:单个测量的系列基数实际上是存在的标签集的数量。

以您的例子为例,如果我们有标签firstnamelastnameemail,总的基数完全由email标签驱动。尽管有许多可能的名字和姓氏,但给定的电子邮件地址将只有一个关联的名字和姓氏(假设没有人更改过名字)。firstnamelastname是依赖变量,而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取得成功的故事。提交您的感言,并作为感谢获得限量版卫衣。