设计您的模式
InfluxDB 集群的架构设计对写入和查询性能有重大影响。以下内容涵盖了一些高级考虑和建议。有关详细建议,请参阅架构设计建议。
了解标签和字段之间的区别
在 InfluxDB 数据结构 中,有三个主要“类别”的信息——时间戳、标签和字段。在设计架构时,了解哪些应该作为标签,哪些应该作为字段是非常重要的。
使用以下指南确定哪些应该是标签,哪些应该是字段
- 使用标签存储关于数据来源或上下文的信息的元数据。
- 使用字段存储测量值。
- 字段值通常随时间变化。标签值不会。
- 标签值只能是字符串。
- 字段值可以是以下数据类型中的任何一种
- 整数
- 无符号整数
- 浮点数
- 字符串
- 布尔值
有关更多信息,请参阅标签与字段。
架构限制
InfluxDB 强制实施以下架构限制
- 您不能在同一个表中使用相同的名称作为标签和字段的名称。
- 默认情况下,一个表可以有最多 250 个列。
有关更多信息,请参阅InfluxDB 架构限制。
设计以提高性能
以下指南有助于确保写入和查询性能
点击以下链接获取更多信息。
- 避免宽架构:宽架构是指具有大量列(标签和字段)的架构。
- 避免稀疏模式:稀疏模式是指许多行中,列包含空值的模式。
- 保持表模式统一:统一表模式是指每一行都有所有标签和字段的值。
- 为您的数据使用最佳数据类型:将整数写成整数,小数写成浮点数,布尔值写成布尔值。针对存储整数的字段的查询比针对字符串数据的查询表现更好。
为查询简洁性设计
以下指南有助于确保在查询数据时,模式使编写查询变得简单
点击以下链接获取更多信息。
- 保持表名、标签和字段简单:为每个数据属性使用一个标签或一个字段。如果您的源数据在一个参数中包含多个数据属性,请将每个属性拆分为自己的标签或字段。
- 避免关键字和特殊字符:表名、标签键和字段键中的保留关键字或特殊字符会使编写查询更加复杂。
这个页面有用吗?
感谢您的反馈!