tencent cloud

时序数据库 CTSDB

动态与公告
产品动态
公告
产品简介
产品概述
系统架构
应用场景
关键概念
实例类型与规格
购买指南
产品定价
购买实例
续费说明
欠费说明
退费说明
快速入门
连接并写入数据
操作指南
访问管理
管理实例
自动备份
系统监控
库管理
账号管理
管理安全组
外网访问
InfluxQL 兼容性
数据库管理
Schema 查询
数据类型
数据查询
InfluxQL 函数
客户端
SDK 参考
influx CLI 客户端
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Database APIs
Data Types
Error Codes
实践教程
数据表定义推荐
接入 Grafana 服务
接入 Telegraf 服务
性能白皮书
测试环境
测试工具
写入性能测试
查询性能测试
常见问题
词汇表
CTSDB 政策
隐私政策
数据处理和安全协议
联系我们

数据表定义推荐

PDF
聚焦模式
字号
最后更新时间: 2025-04-29 23:14:55
在设计数据表时,有一些需要遵循的准则和需要避免的误区,详情请参见官方文档 InfluxDB schema design and data layout。本文也给出创建数据表的建议,以帮助您创建高效的时序数据库。

数据库表命名

在定义 InfluxDB 数据表名称时,应该使用有意义的名称,以便可以轻松识别和理解表的内容。以下是一些有关定义有意义名称的建议:
使用描述性的名称,例如,如果您正在存储传感器数据,则可以使用传感器名称作为数据表名称。
避免使用缩写或简写词,因为这可能会导致混淆和不必要的困惑。
使用小写字母和连字符(-)来分隔单词,这样可以使名称更易于阅读和理解。
在命名数据表时,尽量避免使用特殊字符,因为这可能会导致查询和其他操作出现问题。
尽量使用短而简洁的名称,以避免在查询和其他操作中输入过多的字符。

Tag 与 Field

Tag 通常用于描述和标识数据,例如设备 ID、网络地址和地理位置等。它们有助于提高查询性能和优化系统资源的开销。Tag 值在查询时用于过滤和分组(如 Group by),因此在选择 Tag 值时应避免不必要的冗余和嵌套。
Field 通常用于描述和记录数据的趋势和变化,例如温度、电量、流量和速度等。Field 值可用于进行数学计算和统计分析,例如求平均值、最大值和最小值等。与 Tag 相比,由于 Field 值需要进行聚合和计算,Field 值的存储和查询开销较高,因此需要更多的 CPU 和内存资源支持。

将数据存储在 Tag 中

在 InfluxDB 中,Tag 是用于标识和描述数据的元数据。将数据存储在 Tag 中,可以提高数据库查询性能,更有效地管理和组织数据。以下是有关将数据存储在Tag 中的建议:
存储常用的元数据:如果某个数据是与其他数据相关的元数据,例如传感器名称、位置信息、数据源等,则将其存储在 Tag 中,这样可方便查询和过滤数据。
GROUP BY()中使用:如果您计划在 GROUP BY()语句中使用某个数据,则将其存储在 Tag 中。在 GROUP BY()中指定 Tag 名称,可以将查询结果按照 Tag 的值进行分组。
快速查询:如果您需要对某个数据进行快速查询,则将其存储在 Tag 中。由于 Tag 被索引, 在 Tag 上进行查询比在 Field 上进行查询效率更高。

将数据存储在 Field 中

在 InfluxDB 中,Field 是用于存储数据的元素。将数据存储在 Field 中可以方便进行 InfluxQL 函数操作,并且可以将其解释为除字符串之外的其他类型。以下是一些有关将数据存储在 Field 中的建议:
存储数值数据:如果您需要对数据进行数值计算或比较,则将其存储在 Field 中,这样可以方便地使用 InfluxQL 函数对数据进行操作。
存储时间戳数据:如果您需要对数据进行时间序列分析,则将其存储在 Field 中。InfluxDB 支持时间戳类型的 Field ,并提供了一些用于时间序列分析的函数。
避免存储重复的数据:如果某个数据已经存储在 Tag 中,则不需要再将其存储在 Field 中。这样可以避免数据重复,并使查询效率更高。
使用正确的数据类型:在定义 Field 时,应该使用正确的数据类型。例如,如果您正在存储数值数据,则应该使用数值类型的 Field,而不是字符串类型的Field。

数据 Field 分组

在 InfluxDB 中,Field 是用于存储数据的元素。在定义数据表时,将 Field 分组为相关的测量类型,有助于组织和管理数据,并使查询效率更高。以下是一些有关将 Field 分组的建议:
根据测量类型分组:将具有相同测量类型的 Field 分组到一起。例如,如果您正在存储传感器数据,则可以将温度、湿度、压力等测量类型分别分组。
使用连字符分隔单词:在命名 Field 时,使用连字符(-)而不是下划线(_)来分隔单词。因为 InfluxDB 中下划线用于分隔 Field 和 Tag,使用连字符(-)可以避免混淆。
组织数据表结构:在定义数据表时,考虑将不同测量类型的 Field 分组为不同的表结构,这样有助于更好地组织和管理数据,并使查询效率更高。
使用通配符进行查询:在查询时,可以使用通配符来查询相同测量类型的所有 Field 。例如,如果您想要查询所有温度字段,则可以使用通配符“*”来查询所有以“temp”结尾的 Field。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈