开源物联网平台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
相关文章
|
1月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
28天前
|
存储 监控 数据处理
flink 向doris 数据库写入数据时出现背压如何排查?
本文介绍了如何确定和解决Flink任务向Doris数据库写入数据时遇到的背压问题。首先通过Flink Web UI和性能指标监控识别背压,然后从Doris数据库性能、网络连接稳定性、Flink任务数据处理逻辑及资源配置等方面排查原因,并通过分析相关日志进一步定位问题。
159 61
|
1月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
140 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
26天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
1月前
|
传感器 安全 算法
物联网发布者在数据传输过程中如何防止数据被篡改
在物联网数据传输中,为防止数据被篡改,可采用加密技术、数字签名、数据完整性校验等方法,确保数据的完整性和安全性。
|
1月前
|
存储 安全 算法
物联网发布者在发送数据时如何保证数据的安全性和完整性
数据加密、密钥管理和数据完整性验证是物联网安全的重要组成部分。对称加密(如AES)和非对称加密(如RSA)分别适用于大量数据和高安全需求的场景。密钥需安全存储并定期更新。数据完整性通过MAC(如HMAC-SHA256)和数字签名(如RSA签名)验证。通信协议如MQTT over TLS/SSL和CoAP over DTLS增强传输安全,确保数据在传输过程中的机密性和完整性。
|
1月前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
1月前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
170 4
|
2月前
|
缓存 数据库 数据安全/隐私保护
Discuz! X 数据库字典详解:DZ各数据表作用及字段含义
我们使用DISCUZ做网站时,有时需要对数据表进行操作,在操作数据表之前,需要对数据表进行了解。下面是DISCUZ 数据库各数据表作用及字段含义详解,方便新手更好的了解DISCUZ数据库。
71 4

热门文章

最新文章

相关产品

  • 物联网平台