设计你的模式
模式设计对 InfluxDB 集群的写入和查询性能都有重大影响。以下项目涵盖了高级别的注意事项和建议。有关详细建议,请参阅 模式设计建议。
了解标签和字段之间的区别
在 InfluxDB 数据结构中,信息主要分为三个“类别”——时间戳、标签和字段。在设计模式时,了解什么是标签,什么是字段之间的区别非常重要。
使用以下指南来确定什么是标签,什么是字段
- 使用标签存储元数据,这些元数据提供有关数据来源或上下文的信息。
- 使用字段存储测量值。
- 字段值通常随时间变化。标签值则不会。
- 标签值只能是字符串。
- 字段值可以是以下任何数据类型
- 整数
- 无符号整数
- 浮点数
- 字符串
- 布尔值
有关更多信息,请参阅 标签与字段。
模式限制
InfluxDB 强制执行以下模式限制
- 在同一表中,不能对标签和字段使用相同的名称。
- 默认情况下,一个表最多可以有 250 列。
有关更多信息,请参阅 InfluxDB 模式限制。
为性能而设计
以下指南有助于确保写入和查询性能
请点击以下链接获取更多详细信息。
- 避免宽模式:宽模式是指具有大量列(标签和字段)的模式。
- 避免稀疏模式:稀疏模式是指在许多行中,列包含空值的模式。
- 保持表模式同构:同构表模式是指每行都具有所有标签和字段值的模式。
- 为你的数据使用最佳数据类型:将整数写为整数,将小数写为浮点数,并将布尔值写为布尔值。针对存储整数的字段的查询性能优于针对字符串数据的查询。
为查询简单性而设计
以下指南有助于确保在查询数据时,模式使编写查询变得容易
请点击以下链接获取更多详细信息。
- 保持表名、标签和字段简单:每个数据属性使用一个标签或一个字段。如果你的源数据在单个参数中包含多个数据属性,请将每个属性拆分为其自己的标签或字段。
- 避免关键字和特殊字符:表名、标签键和字段键中的保留关键字或特殊字符会使编写查询更加复杂。
此页内容是否对您有帮助?
感谢您的反馈!
支持与反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供对 InfluxDB Clustered 和本文档的反馈和错误报告。如需获得支持,请使用以下资源
拥有年度或支持合同的客户可以 联系 InfluxData 支持。