物联网开源平台开发系列015 – Thingsboard postgresql数据库基本配置

Thingsboard 默认使用postgresql,在时序数据存储上, 可以有三种选择:

  • PostgreSQL – 将所有实体和遥测存储在 SQL 数据库中。建议使用 PostgreSQL,这是 ThingsBoard 支持的主要 SQL 数据库。可以使用 HSQLDB 进行本地开发。
  • PostgreSQL + Cassandra – 将所有实体存储在 PostgreSQL 数据库中,将时间序列数据存储在 Cassandra 数据库中。
  • PostgreSQL + TimescaleDB – 将所有实体存储在 PostgreSQL 数据库中,将时间序列数据存储在 Timescale 数据库中。
物联网开源平台开发系列015 – Thingsboard postgresql数据库基本配置

使用thingsboard.yml文件配置此选项。有关更多详细信息,请参阅数据库配置页面

database:
  ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
  ts:
    type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
  ts_latest:
    type: "${DATABASE_TS_LATEST_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)

基础数据配置项:

环境变量 默认值 描述
SQL_ATTRIBUTES_BATCH_SIZE 10000 持久属性更新的批量大小
SQL_ATTRIBUTES_BATCH_MAX_DELAY_MS 100 属性条目队列轮询的最大超时。以毫秒为单位设置的值
SQL_ATTRIBUTES_BATCH_STATS_PRINT_MS 10000 打印属性更新统计信息的时间间隔(以毫秒为单位)
SQL_ATTRIBUTES_BATCH_THREADS 4 执行属性批量插入/更新语句的线程数
SQL_TS_BATCH_SIZE 10000 持久时间序列插入的批量大小
SQL_TS_BATCH_MAX_DELAY_MS 100 时间序列条目队列轮询的最大超时。以毫秒为单位设置的值
SQL_TS_BATCH_STATS_PRINT_MS 10000 打印时间序列插入统计信息的时间间隔(以毫秒为单位)
SQL_TS_BATCH_THREADS 4 对时序数据执行批量insert/update语句的线程数
SQL_TS_LATEST_BATCH_SIZE 10000 用于持久保存最新遥测更新的批量大小
SQL_TS_LATEST_BATCH_MAX_DELAY_MS 100 最新遥测条目队列轮询的最大超时。设置的值以毫秒为单位
SQL_TS_LATEST_BATCH_STATS_PRINT_MS 10000 打印最新遥测更新统计数据的时间间隔(以毫秒为单位)
SQL_TS_LATEST_BATCH_THREADS 4 执行批量插入/更新最新数据语句的线程数
SQL_TS_UPDATE_BY_LATEST_TIMESTAMP TRUE 仅当新记录的时间戳大于或等于先前保存的最新值的时间戳时,才更新最新值。
最新值与历史值分开存储,以便从数据库快速查找。
无论如何,历史价值的插入都会发生。
SQL_BATCH_SORT FALSE 指定批量更新前是否对实体进行排序。应启用集群模式以避免死锁
SQL_REMOVE_NULL_CHARS TRUE 指定在插入之前是否从属性和时间序列的 strValue 中删除空字符
SQL_LOG_QUERIES FALSE 记录慢速 SQL 查询。使用 SQL_LOG_QUERIES_THRESHOLD 阈值确定慢查询
SQL_LOG_QUERIES_THRESHOLD 5000 要记录的慢 SQL 查询的阈值
SQL_POSTGRES_TS_KV_PARTITIONING MONTHS 指定时间戳键值存储的分区大小。示例:DAYS, MONTHS, YEARS, INDEFINITE
SQL_RELATIONS_MAX_LEVEL 50 该值必须足够小,以尽早防止无限递归

系列文章

物联网开源平台开发系列001 – 开源平台Thingsboard 介绍

物联网开源平台开发系列002 – Thingsboard 用户系统分析

物联网开源平台开发系列003 – Thingsboard OAuth2 – Google身份验证登陆

物联网开源平台开发系列004 – Thingsboard的实体、资产、设备一般说明及数据存储 – 陈皮王五de杂记

物联网开源平台开发系列005 – Thingsboard的API简述 – 陈皮王五de杂记

物联网开源平台开发系列006 – 在Thingsboard内创建一个设备 – 陈皮王五de杂记

物联网开源平台开发系列007 – Thingsboard的批量导入设备 – 陈皮王五de杂记

物联网开源平台开发系列008 – 浅谈物联网传输协议 – 陈皮王五de杂记

物联网开源平台开发系列009 – Thingsboard服务器对IoT设备下发指令 – 陈皮王五de杂记

物联网开源平台开发系列010 – Thingsboard规则引擎简介 – 陈皮王五de杂记

物联网开源平台开发系列011 – Thingsboard规则节点Originator Telemetry – 陈皮王五de杂记

物联网开源平台开发系列012 – Thingsboard 设备离线Alarm设置 – 陈皮王五de杂记

物联网开源平台开发系列013 – Thingsboard 遥测产生告警Alarm – 陈皮王五de杂记

物联网开源平台开发系列014 – Thingsboard遥测时序数据存储结构及分区策略 – 陈皮王五de杂记

物联网开源平台开发系列015 – Thingsboard postgresql数据库基本配置 – 陈皮王五de杂记

物联网开源平台开发系列016 – 再谈Thingsboard的设备注册 – 陈皮王五de杂记

物联网开源平台开发系列017 – Thingsboard的设备联动场景 – 陈皮王五de杂记

物联网开源平台开发系列018 – Thingsboard获取和处理天气信息 – 陈皮王五de杂记

物联网开源平台开发系列019 – Thingsboard设备数据传播给资产 – 陈皮王五de杂记

物联网开源平台开发系列020 – Thingsboard的实体视图Entity View – 陈皮王五de杂记

物联网开源平台开发系列021 – Thingsboard的网关gateway – 陈皮王五de杂记

物联网开源平台开发系列022 – 通过Thingsboard网关gateway动态创建设备 – 陈皮王五de杂记

物联网开源平台开发系列023 – Thingsboard设备列表仪表盘 – 陈皮王五de杂记

物联网开源平台开发系列024 – Thingsboard接入摄像头方案 – 陈皮王五de杂记

物联网开源平台开发系列025 – Thingsboard规则链节点的JS代码调试 – 陈皮王五de杂记

原创文章,作者:Gary,如若转载,请注明出处:https://www.cpw5.top/994.html

淘宝小店:陈皮王五工作室

(0)
GaryGary
上一篇 2025-02-22 上午11:07
下一篇 2025-02-22 下午7:03

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(20条)