跳到主要内容

2.8_远程数据库

数据库支持类型

MySQL:广泛使用的开源关系型数据库,适用于中小规模的数据存储与分析。 SQL Server :微软推出的关系型数据库,适用于企业级应用与大规模数据管理。 PostgreSQL:功能强大的开源关系型数据库,支持复杂查询与高并发场景。 TDengine: TDengine 是一个高性能、分布式的时序数据库。

功能简介

将设备运行数据实时推送至远程数据库,便于集中监控与分析。

功能配置

网关支持远程访问数据库,对数据库中的表进行相关操作。

目前支持mysql、SqlServer、PostgreSQL、influxDB、TDengine等数据库远程连接。

点击添加远程数据库连接链路。

图1 添加链路

图2 数据库类型 下面使用使用mysql远程数据库做演示示例,参数如下:
  • 数据库类型:选择需要远程的数据库类型支持mysql、SqlServer、PostgreSQL、influx1.x、influx2.x、TDengine;
  • IP地址:远程数据库的IP地址;
  • 端口号:远程数据库的端口号;
  • 用户名:远程数据库的用户名;
  • 密码:远程数据库的密码;
  • 数据库名称:远程数据库的DataBase名称。
  • SQL语句:对远程数据库的结构化查询语句;
  • 存储模式:包含周期存储、准点存储、变化存储3种方式;

图3 远程数据库总览 添加设备
  • 名称:设备名称;
  • SQL语句:对远程数据库的结构化查询语句;
  • 行存储:支持数据库表行存储;
  • 存储模式:包含周期存储、准点存储、变化存储3种方式;

图4 添加设备

添加远程数据库数据推送点。

图5 远程数据库添加数据点

图6 远程数据库配置完成 存储模式:包含周期存储、准点存储、变化存储3种方式;
  • 周期存储:在指定周期内数据写入数据库,如下图所示,周期设置10秒;
  • SQL示例:INSERT INTO history(tagId,value,status,timestamp) VALUES( $Id, $Value, $Status, from_unixtime($Timestamp) );

图7 周期存储配置 根据时间戳可以看出,数据每隔10s存储一条数据。

图8 数据库周期存储数据
  • 准点存储:在指定整点时间时写入数据库,如下图所示;
  • SQL示例:INSERT INTO history(tagId,value,status,timestamp) VALUES( $Id, $Value, $Status, from_unixtime($Timestamp) );

图9 准点存储配置 根据选择的整点时间,网关会在整点将数据写入数据库。

图10 数据库准点存储数据
  • 变化存储:在上传点值变化时写入数据库,如下图所示;
  • SQL示例:INSERT INTO history(tagId,value,status,timestamp) VALUES( $Id, $Value, $Status, from_unixtime($Timestamp) );

图11 变化存储配置 网关会将变化数据写入数据库。

图12 数据库变化存储数据
  • 行存储:行存储,如下图所示;
  • SQL示例
INSERT INTO history2(time,$Columns)VALUES(from_unixtime($CurrentTimestamp),$Values) ;
$CurrentTimestamp为当前时间戳
$Columns为右侧表格中填写的column列
$Values为右侧表格中数据点的值

图13 数据库变化存储数据

图14 行存储

InfluxDB数据库连接注意事项


warning Tag&Field:{"tag":{"id":"tagId"},"field":{"val":"val","status":"status","timestamp":"timestamp"}}

内容默认使用上述格式。


行存储

InfluxDB支持行存储功能

TDengine数据库远程连接配置请参考远程数据库--TDengine推送