文档文档

InfluxDB 数据元素

InfluxDB 2.7 包括以下数据元素

以下示例数据表示存储在 InfluxDB 中的时间序列记录,用于说明数据元素概念。将鼠标悬停在突出显示的术语上,以熟悉 InfluxDB 术语和布局。

存储桶: my_bucket

_time_measurementlocationscientist_field_value
2019-08-18T00:00:00Zcensusklamathandersonbees23
2019-08-18T00:00:00Zcensusportlandmullenants30
2019-08-18T00:06:00Zcensusklamathandersonbees28
2019-08-18T00:06:00Zcensusportlandmullenants32

时间戳

存储在 InfluxDB 中的所有数据都具有 _time 列,用于存储时间戳。在磁盘上,时间戳以纪元纳秒格式存储。InfluxDB 格式的时间戳以与数据关联的 RFC3339 UTC 格式显示日期和时间。当您写入数据时,时间戳精度非常重要。

测量

_measurement 列显示测量名称 census。测量名称是字符串。测量充当标签、字段和时间戳的容器。使用描述您的数据的测量名称。名称 census 告诉我们字段值记录了 beesants 的数量。

字段

字段包括存储在 _field 列中的字段键和存储在 _value 列中的字段值。

字段键

字段键是一个字符串,表示字段的名称。在前面的 示例数据 中,beesants 是字段键。

字段值

字段值表示关联字段的值。字段值可以是字符串、浮点数、整数或布尔值。示例数据中的字段值显示了指定时间的 bees 数量:2328 以及指定时间的 ants 数量:3032

字段集

字段集是与时间戳关联的字段键值对的集合。示例数据 包括以下字段集

census bees=23i,ants=30i 1566086400000000000
census bees=28i,ants=32i 1566086760000000000
       -----------------
           Field set

字段未编制索引

InfluxDB 数据中需要字段,并且字段未编制索引。过滤字段值的查询必须扫描所有字段值以匹配查询条件。因此,对标签的查询比对字段的查询性能更高。

了解如何 使用标签和字段 使您的模式更易于查询。

标签

示例数据中的列 locationscientist 是标签。标签包括标签键和标签值,它们存储为字符串和元数据。

标签键

示例数据中的标签键是 locationscientist有关标签键要求的更多信息,请参阅 行协议 – 标签集

标签值

标签键 location 有两个标签值:klamathportland。标签键 scientist 也有两个标签值:andersonmullen有关标签值要求的更多信息,请参阅 行协议 – 标签集

标签集

标签键值对的集合构成标签集。示例数据包括以下四个标签集

location = klamath, scientist = anderson
location = portland, scientist = anderson
location = klamath, scientist = mullen
location = portland, scientist = mullen

标签已编制索引

标签是可选的。您的数据结构中不需要标签,但通常建议包含标签。由于 InfluxDB 对标签进行索引,因此查询引擎无需扫描存储桶中的每个记录即可查找标签值。了解如何 使用标签来提高查询性能

为什么您的模式很重要

您在数据中构建测量、字段和标签的方式可以使查询更易于编写且性能更高。良好的 模式设计 可以防止 高序列基数,从而提高查询性能。

序列

现在您已经熟悉了测量、字段集和标签集,是时候讨论序列键和序列了。

在 InfluxDB OSS (TSM) 中,序列键 是测量和标签集的唯一组合。

例如,示例数据 包括两个唯一的序列键

测量标签集
censuslocation=klamath,scientist=anderson
censuslocation=portland,scientist=mullen

序列 包括给定序列键的时间戳和字段值 – 例如,示例数据包含以下序列键和相应的序列

示例数据序列

  • census,location=klamath,scientist=anderson
    • 2019-08-18T00:00:00Z 23
    • 2019-08-18T00:06:00Z 28

设计模式 和在 InfluxDB 中处理数据时,理解序列的概念至关重要。

包括序列键、字段值和时间戳 – 例如,来自 示例数据 的单个点

2019-08-18T00:00:00Z census ants 30 portland mullen

存储桶

所有 InfluxDB 数据都存储在存储桶中。存储桶 结合了数据库和保留期(每个数据点持续的时间长度)的概念。存储桶属于组织。有关存储桶的更多信息,请参阅 管理存储桶

组织

InfluxDB 组织用户 组的工作区。所有 仪表盘任务、存储桶和用户都属于组织。有关组织的更多信息,请参阅 管理组织

如果您是 InfluxDB 的新手,请参阅如何 开始使用 写入和查询数据。

要概述这些元素如何在 InfluxDB 的数据模型中互连,请观看以下视频


此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在一样使用它,而无需对代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近期数据引擎,可实时收集和处理数据,并将其持久存储到本地磁盘或对象存储。InfluxDB 3 Enterprise 以 Core 的基础为构建,增加了高可用性、读取副本、增强的安全性以及数据压缩,从而实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看