InfluxDB 数据元素
InfluxDB Cloud 包含以下数据元素:
以下示例数据代表存储在InfluxDB中的时间序列记录,用于说明数据元素的概念。将鼠标悬停在突出显示的术语上,以熟悉InfluxDB的术语和布局。
存储桶: my_bucket
| 时间 | 测量 | 位置 | 科学家 | 字段 | 值 |
|---|---|---|---|---|---|
| 2019-08-18T00:00:00Z | 普查 | 克拉马斯 | 安德森 | 蜜蜂 | 23 |
| 2019-08-18T00:00:00Z | 人口普查 | 波特兰 | 穆伦 | 蚂蚁 | 30 |
| 2019-08-18T00:06:00Z | 普查 | 克拉马斯 | 安德森 | 蜜蜂 | 28 |
| 2019-08-18T00:06:00Z | 人口普查 | 波特兰 | 穆伦 | 蚂蚁 | 32 |
时间戳
存储在InfluxDB中的所有数据都有一个_time列,用于存储时间戳。在磁盘上,时间戳以纪元纳秒格式存储。InfluxDB格式的时间戳以RFC3339 UTC格式显示与数据关联的日期和时间。写入数据时,时间戳的精度很重要。
测量
_measurement 列显示测量名称 census。测量名称是字符串。测量作为标签、字段和时间戳的容器。使用描述您数据的测量名称。名称 census 告诉我们字段值记录了 bees 和 ants 的数量。
字段
一个字段包括存储在 _field 列中的字段键和存储在 _value 列中的字段值。
字段键
字段键是一个表示字段名称的字符串。在前面的 示例数据 中, bees 和 ants 是字段键。
字段值
字段值表示关联字段的值。字段值可以是字符串、浮点数、整数或布尔值。示例数据中的字段值显示了在指定时间的bees数量:23,和28,以及在指定时间的ants数量:30和32。
字段集合
字段集是一组与时间戳相关的字段键值对。示例数据包括以下字段集:
census bees=23i,ants=30i 1566086400000000000
census bees=28i,ants=32i 1566086760000000000
-----------------
Field set
字段未被索引
在InfluxDB数据中,字段是必需的,并且未被索引。过滤字段值的查询必须扫描所有字段值以匹配查询条件。因此,对标签的查询比对字段的查询更有效。
查看如何 使用标签和字段 以使您的架构更容易查询。
标签
示例数据中的列,location 和 scientist,是标签。
标签包括作为字符串和元数据存储的标签键和标签值。
标签键
示例数据中的标签键是 location 和 scientist。
有关标签键需求的信息,请参见 Line protocol – Tag set。
标签值
标签键 location 有两个标签值: klamath 和 portland。
标签键 scientist 也有两个标签值: anderson 和 mullen。
有关标签值要求的信息,请参见 Line protocol – Tag set。
标签集
标签键值对的集合构成了一个标签集。示例数据包括以下四个标签集:
location = klamath, scientist = anderson
location = portland, scientist = anderson
location = klamath, scientist = mullen
location = portland, scientist = mullen
标签被索引
标签是可选的。 您在数据结构中不需要标签,但通常包含它们是个好主意。 因为 InfluxDB 索引标签,查询引擎不需要扫描桶中的每一条记录来定位标签值。 查看如何 使用标签来提高查询性能。
为什么你的模式很重要
您在数据中如何构建度量、字段和标签,可以使查询更易于编写并提高性能。良好的 模式设计 可以防止 高系列基数,从而提高查询性能。
系列
现在您已熟悉测量、字段集合和标签集合,接下来是讨论系列键和系列的时间。
在InfluxDB Cloud (TSM)中,系列键是测量、标签集和字段键的唯一组合。
例如,示例数据 包含两个唯一的系列密钥:
| 测量 | 标签集 | 字段键 |
|---|---|---|
| 人口普查 | 位置=klamath,科学家=anderson | 蜜蜂 |
| 人口普查 | location=portland,scientist=mullen | 蚂蚁 |
一个 系列 包含给定系列键的时间戳和字段值—例如,示例数据包含以下系列键和相应的系列:
样本数据系列
- 人口普查,地点=克拉马斯,科学家=安德森 蜜蜂
- 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的数据模型中互相连接的概述,请观看以下视频: