Documentation

设计你的模式

模式设计对 InfluxDB 集群的写入和查询性能都有重大影响。以下项目涵盖了高级别的注意事项和建议。有关详细建议,请参阅 模式设计建议

了解标签和字段之间的区别

InfluxDB 数据结构中,信息主要分为三个“类别”——时间戳、标签和字段。在设计模式时,了解什么是标签,什么是字段之间的区别非常重要。

使用以下指南来确定什么是标签,什么是字段

  • 使用标签存储元数据,这些元数据提供有关数据来源或上下文的信息。
  • 使用字段存储测量值。
  • 字段值通常随时间变化。标签值则不会。
  • 标签值只能是字符串。
  • 字段值可以是以下任何数据类型
    • 整数
    • 无符号整数
    • 浮点数
    • 字符串
    • 布尔值

有关更多信息,请参阅 标签与字段

模式限制

InfluxDB 强制执行以下模式限制

  • 在同一表中,不能对标签和字段使用相同的名称。
  • 默认情况下,一个表最多可以有 250 列。

有关更多信息,请参阅 InfluxDB 模式限制

为性能而设计

以下指南有助于确保写入和查询性能

请点击以下链接获取更多详细信息。

  • 避免宽模式:宽模式是指具有大量列(标签和字段)的模式。
  • 避免稀疏模式:稀疏模式是指在许多行中,列包含空值的模式。
  • 保持表模式同构:同构表模式是指每行都具有所有标签和字段值的模式。
  • 为你的数据使用最佳数据类型:将整数写为整数,将小数写为浮点数,并将布尔值写为布尔值。针对存储整数的字段的查询性能优于针对字符串数据的查询。

为查询简单性而设计

以下指南有助于确保在查询数据时,模式使编写查询变得容易

请点击以下链接获取更多详细信息。

  • 保持表名、标签和字段简单:每个数据属性使用一个标签或一个字段。如果你的源数据在单个参数中包含多个数据属性,请将每个属性拆分为其自己的标签或字段。
  • 避免关键字和特殊字符:表名、标签键和字段键中的保留关键字或特殊字符会使编写查询更加复杂。

此页内容是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

InfluxDB 3 开源版现已公开发布 Alpha 版本

InfluxDB 3 开源版现已可用于 Alpha 测试,根据 MIT 或 Apache 2 许可授权。

我们正在发布两个产品作为 Alpha 版本的一部分。

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

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