1 ThingsBoard数据库总览

ThingsBoard软件版本为 3.3.2
ThingsBoard使用的数据库类型为关系型数据库PostgreSQL

1.1 数据库信息

1.1.1 数据库名称

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

1.1.3 数据库用户名及密码

默认的用户名和密码均为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存放软件告警信息,如告警信息的程度、处理状态
14OTA实体空中下载升级包信息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地址、浏览器信息、操作系统信息
24OAuth2授权服务注册oauth2_registration存放授权注册信息,如访问令牌URI、授权用户信息
25OAuth2授权服务注册oauth2_client_registration_template存放客户端注册信息模板,如GitHub的授权信息所需配置项、Apple的授权信息所需的配置项
26OAuth2授权服务注册oauth2_params存放授权用户信息,如租户信息
27OAuth2移动端授权oauth2_mobile存放移动端授权登录信息,如应用包名、应用令牌
28OAuth2授权域信息oauth2_domain存放授权域相关信息,如域名、域访问协议
29OAuth2授权域信息oauth2_client_registration_info存放授权客户端注册相关信息,如域名、域访问协议
30OAuth2授权域信息oauth2_client_registration存放授权域相关信息,如域名、域协议
31边缘计算边缘计算edge存放边缘计算服务信息
32边缘计算边缘计算事件edge_event存放边缘计算发生的事件数据,如事件信息
33实体视图实体视图entity_view类似数据库的视图功能,存放视图信息,如分配视图的起止时间
34资源资源resource存放资源数据信息,如秘钥文件信息
35rpc远程过程调用rpc存放远程过程调用数据,如请求数据、响应数据
36关系实体关系数据relation存放实体间的关系,如资产与资产的包含类型、起始实体类型数据
37事件实体事件event存放各实体类事件的信息,如事件类型、事件数据
38设置管理员设置admin_setting存放设置信息,如基本设置、邮件设置
39接口接口状态api_usage_state存放接口使用信息,如各类展示卡片激活状态
40版本版本设置tb_schema_settings存放软件版本信息

2 遥测数据存放数据表

2.1 分区表

遥测数据存放表名为ts_kv,按照时间(月份)进行分区表设计,如下图所示。
在这里插入图片描述

2.2 字段

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

public enum DataType {

    STRING, LONG, BOOLEAN, DOUBLE, JSON;

}

最新遥测数据保存表名为ts_kv_latest,当表达到预定行数值后将数据复制到表ts_kv中。
在这里插入图片描述

2.3 压缩

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

3 一些字段命名问题

3.1 create_time字段必有

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐