开源物联网平台ThingsBoard数据库40张数据表设计一览

简介: 开源物联网平台ThingsBoard数据库40张数据表设计一览

1 ThingsBoard数据库总览


ThingsBoard软件版本为 3.3.2。

ThingsBoard使用的数据库类型为关系型数据库PostgreSQL。


1.1 数据库信息


1.1.1 数据库名称


数据库名称为thingsboard,数据库名一般和应用名称保持一致。


1.1.2 数据库用户名及密码


默认的用户名和密码均为postgres。


1.1.3 数据库表


数据库包含共计40张数据表。


1.2 数据库表命名规范


  1. 首先确定单个单词能否涵盖业务的全部功能;
  2. 其次按照“业务名称_表的作用”进行细分;
  3. 最后按照“业务名称_表的作用_状态信息”继续细分;


1.3 40张数据表信息


按照功能单元分类如下表所示。

序号 业务名称 功能 表名 描述
1 规则引擎 规则链 rule_chain 存放规则链信息,如规则链的模式
2 规则引擎 规则链节点 rule_node 存放规则节点信息,如节点的配置信息
3 规则引擎 规则链节点状态 rule_node_state 存放规则节点的状态数据
4 设备实体 设备信息 device 存放设备基本信息,如设备配置文件、固件及软件版本
5 设备实体 设备鉴权 device_credentials 存放设备鉴权信息,如鉴权类型、鉴权号码
6 设备实体 设备配置 device_profile 存放设备配置文件数据,如设备的图标、配置详情信息
7 资产实体 资产信息 asset 存放资产信息数据,如资产的类型、资产的描述
8 租户实体 租户信息 tenant 存放租户数据,如租户的地址、电话信息
9 租户实体 租户配置 tenant_profile 存放租户数据,如租户的地址、电话信息,租户的租用能力
10 客户实体 客户信息 customer 存放客户数据,如客户的详细地址、所归属的租户
11 用户实体 用户信息 tb_user 存放软件用户信息,如用户所属的客户及租户
12 用户实体 用户鉴权 user_credentials 存放软件用户鉴权信息,如用户的用户名、密码,重置令牌
13 告警实体 告警信息 alarm 存放软件告警信息,如告警信息的程度、处理状态
14 OTA实体 空中下载升级包信息 ota_package 存放设备升级软件包的信息,如软件的版本、文件名、校验码
15 仪表盘实体 用户信息 dashboard 存放软件看板信息,如看板的配置、分配客户的信息
16 属性实体 属性信息 attribute_kv 存放属性键值对信息,如属性的类型、属性值
17 遥测实体 遥测信息 tb_kv 存放遥测键值对数据,如遥测的键及其值
18 遥测实体 最新遥测信息 tb_kv_latest 存放最新的遥测键值对数据,如遥测的键及其值
19 遥测实体 遥测字典 tb_kv_dictiontry 存放遥测键的字典数据
20 组件 组件描述 component_descriptor 存放规则引擎组件的描述信息,如配置数据
21 部件 部件类型 widget_type 存放部件信息
22 部件 部件库 widget_bundle 存放部件库信息,相当于将部件归类
23 审计 审计日志信息 aduit_log 存放审计日志数据,如用户使用本软件的ip地址、浏览器信息、操作系统信息
24 OAuth2 授权服务注册 oauth2_registration 存放授权注册信息,如访问令牌URI、授权用户信息
25 OAuth2 授权服务注册 oauth2_client_registration_template 存放客户端注册信息模板,如GitHub的授权信息所需配置项、Apple的授权信息所需的配置项
26 OAuth2 授权服务注册 oauth2_params 存放授权用户信息,如租户信息
27 OAuth2 移动端授权 oauth2_mobile 存放移动端授权登录信息,如应用包名、应用令牌
28 OAuth2 授权域信息 oauth2_domain 存放授权域相关信息,如域名、域访问协议
29 OAuth2 授权域信息 oauth2_client_registration_info 存放授权客户端注册相关信息,如域名、域访问协议
30 OAuth2 授权域信息 oauth2_client_registration 存放授权域相关信息,如域名、域协议
31 边缘计算 边缘计算 edge 存放边缘计算服务信息
32 边缘计算 边缘计算事件 edge_event 存放边缘计算发生的事件数据,如事件信息
33 实体视图 实体视图 entity_view 类似数据库的视图功能,存放视图信息,如分配视图的起止时间
34 资源 资源 resource 存放资源数据信息,如秘钥文件信息
35 rpc 远程过程调用 rpc 存放远程过程调用数据,如请求数据、响应数据
36 关系实体 关系数据 relation 存放实体间的关系,如资产与资产的包含类型、起始实体类型数据
37 事件实体 事件 event 存放各实体类事件的信息,如事件类型、事件数据
38 设置 管理员设置 admin_setting 存放设置信息,如基本设置、邮件设置
39 接口 接口状态 api_usage_state 存放接口使用信息,如各类展示卡片激活状态
40 版本 版本设置 tb_schema_settings 存放软件版本信息

2 遥测数据存放数据表


2.1 分区表


遥测数据存放表名为ts_kv,按照时间(月份)进行分区表设计,如下图所示。

1666266768195.jpg


2.2 字段


遥测的数据类型有五种,包括:


public enum DataType {
    STRING, LONG, BOOLEAN, DOUBLE, JSON;
}

最新遥测数据保存表名为ts_kv_latest,当表达到预定行数值后将数据复制到表ts_kv中。

1666266849463.jpg


2.3 压缩


键名字段key是数值,在表ts_kv_dictionary有其对应关系,当遥测数据中含有相应的键名时,在ts_kv使用数字进行对应存储,可以节省磁盘空间。

1666266868484.jpg


3 一些字段命名问题


3.1 create_time字段必有


大致看一下这40张表的字段,create_time字段的出现的频次极高,因为数据的创建时间对后期运维有很大参考价值。

1666266896377.jpg

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
11天前
|
SQL Linux 数据库
|
12天前
|
关系型数据库 分布式数据库 数据库
PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。
【7月更文挑战第3天】PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。通过数据分片和水平扩展支持微服务弹性,保证高可用性,且兼容MySQL协议,简化集成。示例展示了如何使用Spring Boot配置PolarDB,实现服务动态扩展。PolarDB缓解了微服务数据库挑战,加速了开发部署,为云原生应用奠定基础。
153 3
|
12天前
|
关系型数据库 分布式数据库 PolarDB
**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群
【7月更文挑战第3天】**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群。采用存储计算分离架构,适用于大规模OLTP和OLAP。先准备硬件和软件环境,包括Linux、Docker和Git。然后,克隆源码,构建Docker镜像,部署控制节点和计算节点。使用PDCli验证集群状态,开始探索PolarDB的高性能与高可用性。在实践中深化学习,贡献于数据库技术创新。记得在安全环境下测试。
87 1
|
27天前
|
关系型数据库 MySQL Java
关系型数据库mysql的开源与授权
【6月更文挑战第12天】
221 3
|
10天前
|
数据库
MybatisPlus3---常用注解,驼峰转下滑线作为表明 cteateTime 数据表中的 cteate_time,@TableField,与数据库字段冲突要使用转义字符“`order`“,is
MybatisPlus3---常用注解,驼峰转下滑线作为表明 cteateTime 数据表中的 cteate_time,@TableField,与数据库字段冲突要使用转义字符“`order`“,is
|
1月前
|
关系型数据库 数据管理 数据库
数据管理DMS产品使用合集之如何极速恢复RDS(关系型数据库服务)中的数据表
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
12天前
|
运维 Cloud Native 安全
荣誉加身!陶建辉被授予 GDOS 全球数据库及开源峰会荣誉顾问
**第二十三届 GOPS 全球运维大会暨 XOps 峰会在京召开,聚焦开源数据库与技术创新。涛思数据CEO陶建辉获GDOS全球数据库及开源峰会荣誉顾问称号,因其在TDengine数据库的开源与研发上的贡献。TDengine,高性能时序数据库,已在多个行业广泛应用,推动数据库技术发展。陶建辉将持续为开源生态和行业创新贡献力量。
19 0
|
2月前
|
存储 关系型数据库 物联网
【PolarDB开源】PolarDB在物联网(IoT)数据存储中的应用探索
【5月更文挑战第27天】PolarDB,阿里云的高性能云数据库,针对物联网(IoT)数据存储的挑战,如大规模数据、实时性及多样性,展现出高扩展性、高性能和高可靠性。它采用分布式架构,支持动态扩展,保证99.95%的高可用性,并能处理结构化、半结构化和非结构化数据。通过SDK实现数据实时写入,支持SQL查询和冷热数据分层,有效降低成本。随着IoT发展,PolarDB在该领域的应用将更加广泛。
142 1
|
2月前
|
SQL 关系型数据库 分布式数据库
【PolarDB开源】PolarDB Proxy配置与优化:提升数据库访问效率
【5月更文挑战第27天】PolarDB Proxy是阿里云PolarDB的高性能数据库代理,负责SQL请求转发和负载均衡。其关键配置包括:连接池管理(如最大连接数、空闲超时时间),负载均衡策略(轮询、权重轮询、一致性哈希),以及SQL过滤规则。优化方面,关注监控与调优、缓存策略、网络优化。通过这些措施,可提升数据库访问效率和系统稳定性。
141 1
|
27天前
|
存储 NoSQL Java
HBase是一个开源的、分布式的、面向列的NoSQL数据库系统
HBase是一个开源的、分布式的、面向列的NoSQL数据库系统
50 0

热门文章

最新文章

相关产品

  • 物联网平台