산업용 사물 인터넷 빅데이터 처리를 위한 온-프리미스 기반 분산 처리 프레임워크
Explore the docs »
🎥 View Demo
Table of Contents
산업계에서 작업 효율과 안전을 높이기 위해 산업 사물 인터넷(IIoT) 데이터의 활용이 점점 중요해지고 있습니다. 많은 제조 기업들이 센서 데이터 파이프라인을 통해 IIoT 빅데이터를 수집하고 저장하고 있지만, 대용량 데이터를 효과적으로 전송하고 처리할 수 있는 소프트웨어 인프라는 부족한 상태입니다.이를 해결하기 위해, Apach Kafka와 Apache Spark를 기반으로 한 온-프리미스 IIoT 빅데이터 처리 플랫폼인 HOBIT 시스템을 제안합니다. HOBIT 시스템은 데이터 수집과 저장, 고속 분석을 강화하여 기존 REST API 방식보다 데이터 전송 처리 속도를 10배 이상 향상시킬 수 있었으며, AI 모델 학습에 있어서도 병렬 분산 컴퓨팅을 통해 속도를 단일 컴퓨팅 환경 대비 4배 빠르게 향상시켰습니다. 이를 통해 제조 기업들이 클라우드 비용을 절약하며 실시간으로 경제적이고 효율적인 빅데이터 처리 및 분석을 할 수 있을 것으로 기대됩니다.
-
IoT Platform : IoT 데이터 수집 및 전달
- CSV to Protobuf : 시계열 IoT 데이터셋(.csv)을 활용하여 센서를 시뮬레이션 (MQTT Producer)
- Influx MQTT Connector : 실시간으로 InfluxDB에 센서 데이터를 적재 (MQTT Consumer)
- IoT Server : 적재된 IoT 데이터를 요청에 따라 병렬적으로 Kafka 브로커에 전송 (Kafka Producer)
- InfluxDB : IoT 데이터 저장소
-
HOBIT : IoT 전용 빅데이터 처리 플랫폼
- MQTT Broker : MQTT를 통한 실시간 IoT 데이터 파이프라인
- Spark Cluster : 대규모 데이터 처리용 통합 분석 엔진
- Kafka Cluster : 분산 스트리밍 오픈소스 플랫폼
-
Application : IoT플랫폼과 HOBIT을 이용하는 어플리케이션 계층
- React : 서버로부터 받은 데이터 시각화, API에 대한 UI/UX 제공
- FastAPI Server : 어플리케이션 API 제공. 주로 사용자 요구에 따라, IoT 서버와 HOBIT의 모듈로 IoT 데이터 전송 및 가공을 요청 (Spark Driver에 해당)
- MySQL : 해당 어플리케이션 운영에 필요한 데이터 저장소
Category | Technology |
---|---|
Sensor Simulation | |
IoT Platform | |
HOBIT | |
Application | |
Development Environment |
k8s Cluster ( >= 3 node)
OS | Ubuntu 20.04.6 LTS (Focal Fossa) |
CPU | Intel Core i7-10700K 3.80GHz |
RAM | 64GB DDR4, 3200 MT/s, 16GB x 4 |
Other spare servers ( for Iot Platform / Application layer )
OS | Ubuntu 20.04.6 LTS (Focal Fossa) |
CPU | Intel Core i7-10700K@3.80GHz |
RAM | 32GB DDR4, 3200 MT/s, 16GB x 2 |
Optional, but Recommand
Sensor Simulation (in Our case, x7 use)
Model | Raspberry Pi 4 Model B Rev 1.4 |
OS | Ubuntu 22.04.1 LTS (Jammy JeIlyfish) |
k8s Cluster | v1.28.7+k3s1 |
Helm | v3.11.3 |
Rook-Ceph | v1.13.7 |
Spark Cluster | 3.5.1 ( Standalond on K8s) |
Strimzi | 0.40.0 |
Kafka Cluster | 3.7.0 ( Kraft Mode ) |
InfluxDB | InfluxDB OSS v2.7.4 |
Golang | go1.22.2 linux/amd64 (common) |
Protobuf Compiler | libprotoc 27.0 |
For other Library or Language versions, please refer to the respective repositories.
클릭하면 각 모듈에 대한 Repo로 이동.
Required steps for setting up HOBIT.
- IoT Platform
- HOBIT
- Application