Documentation

定义自定义分区

使用influxctl CLI 在创建数据库或表时定义自定义分区策略。 默认情况下,InfluxDB Clustered 按天分区数据。

数据库或表的分区策略由一个分区模板确定,该模板定义了分区键的命名模式。分区键唯一标识每个分区。当分区模板应用于数据库时,它成为该数据库中所有表的默认模板,但在创建表时可以被覆盖。

分区模板只能在创建时应用

您只能在创建数据库或表时应用分区模板。 您无法更新现有资源上的分区模板。

使用以下命令标志来识别 分区模板部分

  • --template-tag: 一个 InfluxDB 标签 用于分区模板中。
  • --template-tag-bucket: 一个 InfluxDB 标签 以及将标签值分组的“桶”的数量。 提供标签键和用于将标签值分组的桶的数量,使用逗号分隔: tagKey,N.
  • --template-timeformat: 一个 Rust strftime 日期和时间 字符串,用于指定分区模板中的时间格式,并确定分区的时间间隔。

一个分区模板最多可以包含7个标签和标签桶部分,且只能包含1个时间部分。

查看 分区模板部分限制

使用自定义分区时始终提供时间格式

当使用任何 influxctl --template-* 标志为您的数据库或表定义自定义分区模板时,请始终包含 --template-timeformat 标志以及您要在分区模板中使用的时间格式。否则,InfluxDB 将从分区模板中省略时间,并且不会压缩分区。

使用自定义分区模板创建数据库

以下示例创建一个新的 example-db 数据库,并应用一个分区模板,该模板通过两个标签(roomsensor-type)的不同值进行分区,使用 customerID 标签的分桶值,并按天分区,时间格式为 %Y-%m-%d

influxctl database create \
  --template-tag room \
  --template-tag sensor-type \
  --template-tag-bucket customerID,500 \
  --template-timeformat '%Y-%m-%d' \
  example-db

使用自定义分区模板创建表

以下示例在指定的数据库中创建一个新的 example-table 表,并应用一个分区模板,该模板通过两个标签 (roomsensor-type) 的不同值进行分区,通过 customerID 标签的分桶值,以及按月份进行分区,使用时间格式 %Y-%m

influxctl table create \
  --template-tag room \
  --template-tag sensor-type \
  --template-tag-bucket customerID,500 \
  --template-timeformat '%Y-%m' \
  
DATABASE_NAME
\
example-table

在您的命令中替换以下内容:

  • DATABASE_NAME: 你的 InfluxDB 集群 数据库

示例分区模板

给定以下 行协议 带有 2024-01-01T00:00:00Z 时间戳:

prod,line=A,station=weld1 temp=81.9,qty=36i 1704067200000000000
按不同标签值进行分区
描述标签部分时间部分结果分区键
按日(默认)%Y-%m-%d2024-01-01
按月份%Y-%m2024-01
按年份%Y2024
按天单一标签line%Y-%m-%dA | 2024-01-01
按月的单个标签line%Y-%mA | 2024-01
按年单标记line%YA | 2024
多标签,按天line, station%Y-%m-%dA | weld1 | 2024-01-01
按月份的多个标签line, station%Y-%mA | weld1 | 2024-01
按年份的多个标签line, station%YA | weld1 | 2024
按标签分区桶
描述标签部分标签桶部分时间部分结果分区键
按天的不同标签、标签桶linestation,100%Y-%m-%dA | 3 | 2024-01-01
按月的不同标签、标签桶linestation,500%Y-%mA | 303 | 2024-01


Flux的未来

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

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看: