开源物联网平台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
相关文章
|
2月前
|
数据库 开发者
参与TiDB社区,共筑开源数据库的未来
【2月更文挑战第25天】TiDB社区作为开源数据库项目的重要一环,汇聚了众多数据库爱好者与开发者。本文旨在鼓励读者积极参与TiDB社区,通过贡献代码、分享经验、参与讨论等方式,共同推动TiDB的发展。文章将介绍TiDB社区的特点、参与方式以及贡献的意义,帮助读者了解并融入这个充满活力的开源社区。
|
2月前
|
XML 编解码 JSON
【开源视频联动物联网平台】协议包管理
【开源视频联动物联网平台】协议包管理
35 1
|
2月前
|
消息中间件 边缘计算 物联网
【开源视频联动物联网平台】如何解决物联网协议多样性问题
【开源视频联动物联网平台】如何解决物联网协议多样性问题
59 0
|
2月前
|
网络协议
【开源视频联动物联网平台】J2mod库对指令码的定义
【开源视频联动物联网平台】J2mod库对指令码的定义
38 1
|
12天前
|
关系型数据库 OLAP 分布式数据库
「杭州*康恩贝」4月26日PolarDB开源数据库沙龙,开启报名!
4月26日周五,PolarDB开源社区联合康恩贝将共同举办开源数据库技术沙龙,本次沙龙我们邀请了众多数据库领域的专家,期待大家的参与!
「杭州*康恩贝」4月26日PolarDB开源数据库沙龙,开启报名!
|
22天前
|
运维 关系型数据库 分布式数据库
「合肥 * 讯飞」4 月 19 日 PolarDB 开源数据库沙龙,报名中!
4月19日周五,PolarDB开源社区联合科大讯飞共同举办开源数据库技术沙龙,本次沙龙我们邀请了众多数据库领域的专家,期待大家的参与!
「合肥 * 讯飞」4 月 19 日 PolarDB 开源数据库沙龙,报名中!
|
1月前
|
JSON 缓存 物联网
推荐一款go语言的开源物联网框架-opengw
推荐一款go语言的开源物联网框架-opengw
36 4
|
2月前
|
NoSQL 关系型数据库 Linux
Star 1.6k!当Web遇上Linux和数据库!一站式管理平台的开源之旅!
Star 1.6k!当Web遇上Linux和数据库!一站式管理平台的开源之旅!
|
2月前
|
数据采集 JSON 小程序
GitHub 开源数据库 chinese-poetry,最全中文诗歌古典文集数据库
GitHub 开源数据库 chinese-poetry,最全中文诗歌古典文集数据库
|
2月前
|
Java API Maven
【开源视频联动物联网平台】JAIN-SIP库写一个SIP服务器
【开源视频联动物联网平台】JAIN-SIP库写一个SIP服务器
88 0

相关产品

  • 物联网平台