thingsboard(2.4 postgresql版)数据库表结构说明

本文描述的表结构是根据thingsboard2.4(postgresql版)数据库中整理出来的,不一定完整,后续有新的发现再补充文档。

一、数据库E-R关系

Thingsboard2.4社区版共22个表,主要包括实体信息表、关系信息表、字典表和系统配置表。

thingsboard(2.4 postgresql版)数据库表结构说明

 

二、数据库表结构

1、admin_settings 系统设置表

存储系统设置信息,目前的设置信息包括系统的访问URL地址,以及邮件发送相关配置信息。

thingsboard(2.4 postgresql版)数据库表结构说明

Key为配置项,如general、mail,json_value是一个json字符串,是配置项对应的一个或多个键值对信息组成一个json字符串。


2、alarm 警告信息表Key为配置项,如general、mail,json_value是一个json字符串,是配置项对应的一个或多个键值对信息组成一个json字符串。

thingsboard(2.4 postgresql版)数据库表结构说明

 

3、asset资产信息表

可能与其他设备和资产相关的抽象物联网实体。例如工厂,油田,车辆。 

thingsboard(2.4 postgresql版)数据库表结构说明

 

4、attribute_kv属性信息表

存储实体信息的属性信息,属性信息可以是静态和动态的,属性信息以键值对方式存储。

thingsboard(2.4 postgresql版)数据库表结构说明

 

5、audit_log审计日志

存储客户、用户、资产、设备、实体视图、仪表盘和规则链等实体信息的操作日志。

thingsboard(2.4 postgresql版)数据库表结构说明
action_data字段按照json字符串的格式存储操作对象的信息。例如action_type字段是ADDED\UPDATED时,action_data字段的值是对象的键值对信息。

 

6、component_descriptor数据处理规则组件表

这是一个字典表,存储规则链库中具体各个数据处理规则组件信息。每个规则组件都有一个对应的java类,存储在clazz字段中。configuration_descriptor以json格式存储规则组件的说明、接口、js文件等相关配置信息。

thingsboard(2.4 postgresql版)数据库表结构说明


7、customer客户信息表

存储客户信息。客户也是一个独立的业务实体:购买或使用租户设备和/或资产的个人或组织;客户可能拥有多个用户和数百万设备和/或资产。客户信息是通过租户(tenant_id)进行隔离的,不同租户有不同的客户。

thingsboard(2.4 postgresql版)数据库表结构说明


8、dashboard仪表盘信息表

存储用于展示设备属性和遥测数据的仪表板信息。可视化您的物联网数据以及通过用户界面控制特定设备的能力。

thingsboard(2.4 postgresql版)数据库表结构说明

configuration字段以json字符串存储仪表板的配置信息,仪表板中各个显示组件的配置信息,配置项及其信息比较多。


9、device设备信息表

存储设备基本信息。这里的设备是可能产生遥测数据和处理RPC命令的基本物联网实体。例如传感器,致动器,开关。

thingsboard(2.4 postgresql版)数据库表结构说明

10、device_credentials设备凭据表

存储设备的凭证信息,每一个设备都需要有相应的凭证。

设备凭证是物联网设备和物联网平台连通的重要依据,是物联网平台对外访问接口的安全访问控制信息。

thingsboard(2.4 postgresql版)数据库表结构说明

11、entity_view实体视图表

实体视图类似于SQL数据库视图,它限制了基础表暴露给外部世界的程度,实体视图限制了设备或资产遥测和属性暴露给客户的程度。作为租户管理员,您可以为每个设备或资产创建多个实体视图,并将其分配给不同的客户。

thingsboard(2.4 postgresql版)数据库表结构说明

 

12、event事件表

存储客户、资产、设备、实体视图、规则链和规则节点等实体对象处理事件的信息。

thingsboard(2.4 postgresql版)数据库表结构说明

 

13、relation 实体关系记录表

存储设备、资产、实体视图、租户、客户、仪表板、规则链和规则节点间的连接关系,其中规则节点和规则节点之间的连接关系较为复杂。

thingsboard(2.4 postgresql版)数据库表结构说明

relation_type字段的值主要包括如下内容:

(1)在规则链中描述规则节点之间的链接关系(relation_type)包括如下几种类型(不同节点关系会有所不同):

  1. Post attributes
  2. Post telemetry
  3. RPC Request from
  4. Device
  5. RPC Request to Device
  6. Activity Event
  7. Inactivity Event
  8. Connect Event
  9. Disconnect Event
  10. Entity Created
  11. Entity Updated
  12. Entiry Deleted
  13. Entity Assigned
  14. Entity Unassigned
  15. Attributes Updated
  16. Attributes Deleted
  17. Alarm Acknowledged
  18. Alarm Cleared
  19. Other
  20. Failure
  21. True
  22. False

(2)其它实体间的关系类型还有:Contains

 

14、rule_chain 规则链信息表

存储规则链定义信息。

thingsboard(2.4 postgresql版)数据库表结构说明

15、rule_node 规则节点信息表

存储规则链中各个规则节点的信息。

thingsboard(2.4 postgresql版)数据库表结构说明

 

16、tb_user 用户

存储系统用户信息,包括系统管理员、租户管理员和客户的用户。用户是系统的使用者,系统管理员是内置的,系统管理员创建租户及其管理员,租户创建客户及其用户。

thingsboard(2.4 postgresql版)数据库表结构说明

additional_info是一个json字符串,包含下面的信息:

(1)用户描述信息;

(2)默认面板(仪表板需要先授权给该客户),系统会存储面板的ID;

(3)是否始终全屏。

 

17、tenant租户信息表

存储租户基本信息,所有的实体信息表中都有租户ID,都是按照租户隔离了数据。

thingsboard(2.4 postgresql版)数据库表结构说明

 

18、ts_kv时间序列key-value数据集

存储设备的历史遥测数据。

thingsboard(2.4 postgresql版)数据库表结构说明

 

19、ts_kv_latest最新的key-value数据

存储设备最新的遥测数据。

thingsboard(2.4 postgresql版)数据库表结构说明

 

20、user_credentials用户凭据

存储用户的登录凭证信息。

thingsboard(2.4 postgresql版)数据库表结构说明

 

21、widget_type仪表板显示组件信息表

存储仪表板显示组件的详细信息。通过alias字段和widgets_bundle表的alias字段关联,区别不同的分类。Descriptor中通过json字符串的方式,详细描述了显示组件的信息。

thingsboard(2.4 postgresql版)数据库表结构说明

 

22、widgets_bundle仪表板显示组件分类表

存储仪表板显示组件的分类信息。

thingsboard(2.4 postgresql版)数据库表结构说明