时序数据库IoTDB与EdgeX Foundry集成适配服务介绍
一、背景介绍
- EdgeX Foundry:由Linux基金会运维的开放源码边缘计算软件框架,自2017年开源后广泛应用于全球各行业场景。VMware自2018年起在中国社区推广EdgeX技术,拓展生态,并持续贡献代码。
- IoTDB:由Apache基金会运维的时序数据库管理系统,提供数据收集、存储和分析服务。创始团队来自清华大学软件学院,领导IoTDB社区的开发和推广。
二、EdgeX Foundry与IoTDB的现状与挑战
- EdgeX Foundry v2.x:自2020年起使用Redis作为元数据存储服务,但Redis不适用于保存大量采集的数据。用户需自行集成第三方软件以满足边缘侧数据保存需求。
- IoTDB边缘版:针对时间序列数据收集、存储与分析一体化的数据管理引擎,具有体量轻、性能高、易使用的特点,适用于工业物联网应用。
- 互不兼容:EdgeX Foundry与IoTDB的数据模型和类型不兼容,EdgeX Foundry无法直接调用IoTDB接口存储数据。
三、适配服务解决方案
- 功能:实现EdgeX Foundry与IoTDB集成的适配服务,自动设置存储空间、存储路径、数据模型转换等配置,使EdgeX Foundry采集的数据自动转储到IoTDB边缘版实例中。
- 基本策略:
- 默认存储空间名称为
edgexfoundry
,支持修改。 - 默认丢弃不支持的数据类型。
- 以EdgeX模型
Reading
中的时间戳作为IoTDB所保存序列的时标。
- 默认存储空间名称为
- 运行模式:支持原码和容器双模式运行。运行前需确保EdgeX Foundry和IoTDB在同一主机(虚机或物理机)上运行。
四、运行命令
- Docker模式:
docker run -d -p 59990:59990 \ -e DATABASES_PRIMARY_HOST=iotdb_host \ -e MESSAGEQUEUE_HOST=edgex-redis \ --network edgex-network \ --name edgex-iotdb-adapter \ huaqiaoz/edgex-iotdb-adapter:0.1.0
- 原码模式:
make build cd cmd ./adapter-server
五、注意事项
- IoTDB内置的同步工具(tsfile sync tool)可定期将本地实例中的tsfile文件上传至云侧IoTDB服务,但暂不支持在外部主机运行,因此未集成到本适配服务中,尤其是在容器模式场景下。
六、资源获取
- 源代码:已开放至GitHub。
- 容器镜像:可到Docker Hub下载。