开源物联网平台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

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
4月前
|
关系型数据库 MySQL 数据库
MyEMS开源系统安装之数据库
本文详细讲解MyEMS的安装步骤,重点介绍数据库架构与脚本部署。MyEMS支持MySQL 8.0、MariaDB 10.5及SingleStore 7.0等数据库服务器。通过命令行或客户端工具执行SQL脚本完成安装,包括多个数据库(如myems_billing_db、myems_energy_db等)。此外,提供解决常见问题的方法,如“用户拒绝访问”、“COLLATE设置”和“MAX_ALLOWED_PACKET错误”。注意,不建议在生产环境中将数据库安装于Docker容器内。
122 1
|
5月前
|
人工智能 运维 关系型数据库
|
6月前
|
传感器 人工智能 物联网
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
840 19
|
5月前
|
SQL 人工智能 数据可视化
16.1k star! 只需要DDL就能一键生成数据库关系图!开源神器ChartDB让你的数据结构"看得见"
ChartDB是一款开源的数据库可视化神器,通过一句智能查询就能自动生成专业的数据库关系图。无需安装客户端、不用暴露数据库密码,打开网页就能完成从数据建模到迁移的全流程操作,堪称开发者的"数据库透视镜"。
1111 67
|
4月前
|
存储 Cloud Native 关系型数据库
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
265 3
|
4月前
|
SQL 关系型数据库 分布式数据库
PolarDB开源数据库入门教程
PolarDB是阿里云推出的云原生数据库,基于PostgreSQL、MySQL和Oracle引擎构建,具备高性能、高扩展性和高可用性。其开源版采用计算与存储分离架构,支持快速弹性扩展和100%兼容PostgreSQL/MySQL。本文介绍了PolarDB的安装方法(Docker部署或源码编译)、基本使用(连接数据库、创建表等)及高级特性(计算节点扩展、存储自动扩容、并行查询等)。同时提供了性能优化建议和监控维护方法,帮助用户在生产环境中高效使用PolarDB。
1606 21
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源:云原生数据库的新篇章
阿里云自研的云原生数据库PolarDB于2023年5月正式开源,采用“存储计算分离”架构,具备高性能、高可用及全面兼容性。其开源版本提供企业级数据库解决方案,支持MySQL、PostgreSQL和Oracle语法,适用于高并发OLTP、核心业务系统等场景。PolarDB通过开放治理与开发者工具构建完整生态,并展望更丰富的插件功能与AI集成,为中国云原生数据库技术发展贡献重要力量。
450 17
|
6月前
|
存储 监控 安全
工业物联网关应用:PLC数据通过智能网关上传阿里云实战
本文介绍如何使用智能网关将工厂PLC数据传输至阿里云平台,适合中小企业远程监控设备状态。硬件准备包括三菱FX3U PLC、4G智能网关和24V电源。接线步骤涵盖PLC编程口与网关连接、运行状态检测及天线电源接入。配置过程涉及通讯参数、阿里云对接和数据点映射。PLC程序关键点包括数据上传触发和温度值处理。阿里云平台操作包含实时数据查看、数据可视化和规则引擎设置。最后提供常见故障排查表和安全建议,确保系统稳定运行。
556 1
|
7月前
|
关系型数据库 分布式数据库 数据库
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
132 1
|
7月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课18 通过pg_bulkload适配pfs实现批量导入提速
本文介绍了如何修改 `pg_bulkload` 工具以适配 PolarDB 的 PFS(Polar File System),从而加速批量导入数据。实验环境依赖于 Docker 容器中的 loop 设备模拟共享存储。通过对 `writer_direct.c` 文件的修改,替换了一些标准文件操作接口为 PFS 对应接口,实现了对 PolarDB 15 版本的支持。测试结果显示,使用 `pg_bulkload` 导入 1000 万条数据的速度是 COPY 命令的三倍多。此外,文章还提供了详细的步骤和代码示例,帮助读者理解和实践这一过程。
252 0

相关产品

  • 物联网平台