SqlDBProducer
概述
SqlDBProducer 是 ThingsGateway 中用于适配关系型数据库的插件,可以定时或基于变化存储变量数据,也可以实时更新数据到实时表。该插件支持多种关系型数据库,为物联网设备数据提供持久化存储方案。
核心功能
- 实时数据存储:将设备变量的实时数据更新到实时表
- 历史数据存储:定时或基于变化将设备变量数据存储到历史表
- 数据库类型支持:支持多种关系型数据库
- 灵活的上传模式:支持定时上传、变化上传或两者同时生效
- 数据缓存:支持内存队列和文件缓存,确保数据可靠性
- 动态脚本:支持通过脚本自定义数据处理逻辑
应用场景
- 工业监控系统:存储设备运行状态和参数,用于实时监控和历史分析
- 能源管理系统:存储能耗数据,用于能耗分析和优化
- 环境监测系统:存储环境参数数据,用于环境质量评估
- 设备管理系统:存储设备维护记录和状态变更,用于设备生命周期管理
插件属性配置
配置界面
详细配置项
| 配置项 | 说明 | 默认值 | 建议值 |
|---|---|---|---|
| 启用实时表 | 开启实时更新数据功能 | False | 根据实际需求启用 |
| 启用历史表 | 开启历史存储功能 | True | 建议开启,用于数据归档 |
| 实时表名称 | 实时表名称 | - | 使用有意义的表名,如 realtime_data |
| 历史表名称 | 历史表名称 | - | 使用有意义的表名,如 history_data |
| 数据库类型 | 数据库类型 | - | 根据实际使用的数据库选择 |
| 链接字符串 | 数据库连接字符串 | - | 参考下方数据库连接字符串示例 |
| 实时表定时上传间隔 | 实时表定时上传间隔(秒) | 1 | 根据数据更新频率设置 |
| 分组上传 | 启用后,无论是定时还是变化模式,始终会上传变量分组属性为key分组的全部变量 | False | 批量数据场景建议启用 |
| 是否选择全部变量 | 是否选择全部变量,true时不需要单个变量添加业务属性 | False | 变量较多时建议启用 |
| 上传模式 | 数据上传模式:间隔/变化/变化和间隔同时生效 | 间隔 | 根据数据采集需求选择 |
| 定时上传间隔 | 间隔执行时间(秒) | 10 | 根据数据更新频率设置 |
| 严格入队模式 | 启用后,每次定时上传时,保证一组数据在同一时间点可见 | - | |
| 启用缓存 | 是否启用缓存 | False | 网络不稳定或数据量大时建议启用 |
| 缓存文件最大长度(mb) | 缓存文件最大长度 | 100 | 根据磁盘空间和数据量设置 |
| 上传每页条数 | 每一次上传的列表最大数量 | 1000 | 根据数据库性能和网络带宽调整 |
| 内存队列最大数量 | 内存队列的最大数量,超出或失败时转入文件缓存 | 10000 | 根据系统内存和数据量调整 |
| 历史库动态脚本 | 历史库数据处理脚本 | - | 参考下方脚本示例 |
| 实时库动态脚本 | 实时库数据处理脚本 | - | 参考下方脚本示例 |
脚本与实体
脚本接口
SqlDBProducer 支持通过动态脚本自定义数据处理逻辑,脚本接口与 TDengineDBProducer 相同。
详细格式说明请参考 文档。