RESEARCH & REPORT/그래프 기술

IoT를 위한 그래프 기술: 데이터 관리와 고객 서비스 관점

(주)비트나인 2023. 2. 23. 17:03

 

# Smart Graph for IoT

이번 글에서는 우리의 일상을 편리하게 해주는 IoT 기술을 GDB(Graph Database)에 접목시키면 어떠한 가치를 창출할 수 있는지에 대한 내용을 설명하고자 합니다.



# IoT 란?

외출을 했을 때, 집에 있는 기기(TV, 가습기, 고데기)를 끄고 오지 않았다는 사실이 불현듯이 생각나는 경우가 있습니다. 또한, 집에 들어가기 전 장을 보려는데 냉장고 안에 어떤 식료품이 있었는지 기억해 내는 것이 마냥 쉽지 않습니다.

 

집에 있지 않아도 밖에서 집 안의 기기들을 제어할 수 있고, 냉장고 식료품 리스트를 자동으로 관리할 수 있다면 얼마나 편리해질까요?

 

이러한 것들을 가능하게 해주는 기술이 IoT(Internet of Things) 입니다.

 

 

IoT는 일상의 ‘사물(*Things)’을 인터넷과 통신할 수 있게 하는 기술입니다. 이 기술을 통해 다양한 가전제품 및 스마트폰에 이르는 많은 장치가 서로 정보를 공유할 수 있으며, 또한 통신에서 발생되는 데이터를 우리에게 전송할 수 있습니다. 이러한 기술을 통해 이제 우리는 기기와 의사소통이 가능해졌다고 할 수 있습니다. 

*Things : 장치, 센서, 기계,  사람들 사이의 통신, 인터넷 등

 

IoT는 우리가 사용하는 모든 디바이스의 연결을 통해 하나의 통합 시스템으로 관리할 수 있게 하여 우리의 일상이 좀 더 편리해지도록 많은 도움을 주고 있습니다. IoT 기술은 나날이 발전하고 있으며, IoT 디바이스의 종류도 빠르게 증가하여 사물인터넷의 영향 범위는 점점 더 넓고 깊어지고 있습니다.



# 그래프 데이터베이스, IoT 구현의 신기술

그래프 데이터베이스는 그래프 형태의 연결로 이루어진 데이터를 저장하고 관리하는데 최적의 데이터베이스입니다. IoT 디바이스에서 수집되는 데이터는 장치 및 센서 간의 연결로 이루어진 데이터로 연결 형태를 띠고 있습니다.

 

그래프 DB는 이러한 그래프 데이터를 실시간 처리 환경에서 본연의 모습을 유지하며 저장, 운영, 처리와 같은 최선의 데이터 운영 환경을 마련하기 위한 기술을 구현하는 솔루션입니다.

 

따라서 데이터 형태 자체가 연결로 이루어진 IoT 데이터 쳬계를 구축할 때 그래프 DB를 활용하면 그 성능과 효율성을 극대화할 수 있습니다. 아래와 같은 두 가지 관점이 그 방법입니다.

 

  • 데이터 관리 관점에서의 그래프 기술 활용
  • 고객 서비스 관점에서의 그래프 기술 활용

 

IoT와 그래프 데이터베이스 결합이 제공할 수 있는 두 가지 측면의 활용점에 대해 자세히 설명하도록 하겠습니다.



# 데이터 관리 관점에서의 그래프 기술 활용

IoT 기술이 발전함에 따라 IoT 디바이스 및 사용자는 증가하게 되고, 이에 따른 IoT 시스템에서 발생하는 데이터는 방대해지고 있습니다. 이러한 환경에 따라 IoT 기술을 활용하는 기업에서 효율적인 IoT 데이터 관리는 비용 감소 측면에서 필수적이라고 할 수 있습니다.

 

연결 형태의 IoT 데이터를 잘 관리하기 위해서 아래와 같이 두 가지 부분을 고려해야 합니다.

 

1) 연결되어 발생하는 IoT 데이터 형상관리

IoT 디바이스 및 애플리케이션에서는 센서 간 송수신의 수많은 데이터가 연결되어 발생합니다. 이러한 형태의 데이터를 처리하고 관리하는데 최적인 데이터베이스는 그래프 데이터베이스라고 할 수 있습니다.

 

 

여러 객체가 연결되어 발생하는 데이터를 관계형 데이터베이스(RDB)로 관리하게 된다면, 특정 이벤트가 일어날 때마다 발생되는 객체별 테이블의 조인은 증가하게 됩니다. 이를 IoT 데이터에 접목시켜 본다면, 연결되어 있는 IoT 장치의 수가 많아질수록 연산량은 과부하됩니다. 이는 IoT 데이터 관리 측면에서 상당한 비용이 소모됩니다.

 

반면 그래프 데이터베이스는 새롭게 입력되는 객체를 노드로 추가하고, 이와 연결되어 발생하는 또 다른 객체와의 관계를 선(엣지)으로 연결하여 저장하는 스토리지입니다. IoT 시스템에서 발생하는 연결 형태의 데이터를 직관적으로 저장할 수 있는 데이터베이스라고 할 수 있습니다.

 

따라서 IoT 데이터를 그래프 데이터베이스로 관리하게 된다면, IoT의 메타 정보를 그래프화하여 좀 더 효율적으로 관리할 수 있게 되고, 연결 형태의 데이터를 조회할 때도 빠른 탐색이 가능합니다.



2) IoT 디바이스에서 발생하는 다양한 유형의 데이터 처리

IoT 장치 및 애플리케이션의 종류는 증가하고 있는 추세이며, 각 장치에서 발생하는 데이터 유형은 다양합니다. 새로운 장치에서 발생하는 IoT 데이터의 형식을 예측하는 것은 힘들기 때문에, 데이터를 유연하게 관리할 수 있는 데이터 스토리지가 필요합니다.

 

NoSQL 데이터베이스를 활용하면 예측하기 어려운 여러 유형 장치에서 발생하는 데이터를 쉽게 수용할 수 있습니다. NoSQL 데이터베이스는 스키마리스(schemaless)한 구조를 가지고 있으며 데이터 모델의 모든 키와 데이터 타입을 데이터베이스에 미리 정의할 필요가 없습니다. 그러므로 여러 유형의 IoT 디바이스에서 발생하는 데이터들은 입력되는 형태 그대로 저장할 수 있습니다.

 

대표적인 NoSQL 데이터베이스인 그래프 데이터베이스는 뛰어난 유용성을 가지고 있어 IoT 데이터를 그래프 데이터베이스로 관리한다면, 엔지니어의 추가 작업 없이 다양한 유형의 데이터를 유연하게 관리할 수 있습니다.

 



#고객 서비스 관점에서의 그래프 기술 활용

IoT 기술을 활용하는 기업은 데이터 관리를 효율적으로 하는 것도 중요하지만, IoT를 사용하는 고객에게 제공하는 서비스의 품질을 고려하는 것도 중요합니다. 서비스의 질을 높이기 위해서는 정확성, 개인 맞춤화, 사용 편리성 등을 고려해야 합니다. IoT 기술에 그래프 기술을 활용한다면, 서비스 품질 요소가 고려된 서비스를 고객에게 제공할 수 있습니다.

 

고객 서비스 관점에서 그래프 활용을 통해 제공할 수 있는 서비스는 아래 같이 세 가지로 구분하여 설명하겠습니다.

 

1) IoT 시스템 장애 모니터링 서비스(정확성)

2) 사용자 행동 패턴 예측을 통한 맞춤 IoT 디바이스 추천(개인 맞춤화) 

3) 지식그래프를 활용한 IoT 시스템 자동화(사용 편리성)

 

 

1) IoT 시스템 장애 모니터링 서비스

IoT 데이터는 장치와 센서 간의 연결로 이루어져 있으며, 특정 장치 및 센서에서 장애가 발생하여 수신이 불가능한 이벤트가 발생할 수 있습니다. 이러한 장애 문제의 원인을 빠르게 찾는 것이 IoT 서비스 품질의 중요한 요소입니다.

 

장애 이벤트가 발생했을 때, 관계형 데이터베이스(RDB)는 장치 및 센서 테이블의 조인을 수행하여 어떤 장치에서 문제가 발생했는지에 대해 찾아야 합니다. 장치 및 센서의 종류가 많을 경우의 큰 연산이 발생하여 장애의 원인을 찾는데 시간이 소요됩니다. 반면에 그래프 데이터베이스로 데이터를 관리하게 된다면, 오류가 발생한 장치와 연결되어 있는 장치 및 센서만 탐색하면 되기 때문에 큰 연산량이 발생하지 않습니다. 

 

이와 같이 IoT 데이터를 그래프 데이터베이스로 관리하여 IoT 시스템에서 발생하는 문제사항을 빠르게 파악하기 위해 선행되어야 할 과정은 IoT 데이터를 그래프 형태로 모델링하는 것입니다.

 

IoT시스템에서 발생할 수 있는 데이터는 다양하며, 아래와 같은 데이터를 활용하여 그래프 모델링을 할 수 있습니다.

 

<IoT에서 발생할 수 있는 데이터 종류>

  • 장치의 특성 및 상태
  • 장치로 들어오고 나가는 데이터 
  • 장치에 액세스 할 수 있는 응용 프로그램(애플리케이션)
  • 센서
  • 제조사
  • 장치 담당 부서
  • 장치 사용자 
  • 장치 사용자
  • 명령 음성 데이터

 

IoT 시스템에서 발생하는 데이터 그 자체가 연결로 되어있는 구조로 직관적인 그래프로 표현할 수 있습니다. 아래 표와 같이 노드를 7가지로 정의하고 노드 데이터에서 발생하는 연결 데이터는 엣지로 연결하여 표현할 수 있습니다.

 

노드 설명
장치(Thing) 실제 IoT 장치
장치 유형(Thing Type) IoT 장치 유형
장치 상태(Status) 장치의 상태
센서(Sensor) 장치에 부착된 센서
제조사(Manufacturer) 장치를 제조한 기업 
애플리케이션(Application) 장치를 사용하는 앱
부서(Department) 앱을 통해 장치를 담당하는 관리 부서

 

정의한 노드 토대로 그래프 모델링을 한 스키마 구조는 아래와 같습니다. 

 

[IoT 시스템 그래프 모델링 스키마 구조 예시]

 

 

이와 같은 직관적인 그래프 모델링을 통해 아래와 같이 IoT 시스템에서 발생하는 장애 이벤트를 좀 더 빠르게 파악하여 서비스의 품질을 향상시킬 수 있습니다. 

 

  • 장치와 연결되어 있는 담당 부서 직관적 조회
    특정 장치에 이상이 생겼을 경우 장치와 연결되어 있는 애플리케이션과 해당 애플리케이션을 담당하고 있는 부서를 한 번에 조회할 수 있습니다. 따라서 문제가 발생하였을 시 좀 더 빠른 대처를 할 수 있습니다.

 

  • 빠르게 확인할 수 있는 장치 정보배터리 장치일 경우 효율 및 상태를 파악하는 것은 IoT 서비스를 원활하게 하기 위해 필수적인 요소입니다. 따라서 장치 상태 노드가 방전으로 되어있는 노드와 연결된 장치 노드를 한번에 검색하여 IoT 시스템을 관리할 수 있습니다.



2) 사용자 행동 패턴 예측을 통한 맞춤 IoT 디바이스 추천

IoT 디바이스를 사용하는 사용자들은 개인의 취향에 맞게 장치를 연결하여 일상을 좀 더 편리하게 살아가고 있습니다. 이러한 사용자를 위한 서비스 품질 향상 방법으로는 사용자의 행동 패턴 파악을 통한 잠재적인 니즈를 파악하는 것입니다. 사용자 패턴 파악을 통해 일상에서 필요한 장치 및 기능을 미리 파악하게 된다면, 개인화된 장치 및 기능을 추천할 수 있게 됩니다. 이를 통해 사용자의 서비스 경험을 향상시킬 것입니다.

 

따라서 IoT 서비스를 제공하는 관리자나 기업에서는 사용자의 행동 패턴을 예측하는 것은 중요하다고 할 수 있습니다.

 

IoT 사용자의 행동 패턴을 파악하기 위해서는 먼저 행동 기반 그래프를 구축해야 합니다. 사용자의 행동 기반 그래프를 구축한다면 아래 그림과 같이 예시로 설명할 수 있습니다. 아래 그림은 사용자 A가 IoT 장치를 사용한 행동을 그래프로 표현한 것입니다.



[사용자 A의 IoT 사용 패턴]

 

사용자 A는 아침 7시마다 알람시계가 울리면, 조명을 켜고, 블라인드를 걷는 패턴을 가지고 있습니다. 사용자 A에게 아침에 사용하면 좋을 IoT 디바이스를 추천해 주기 위해선, 사용자 A와 비슷한 행동 패턴을 가지고 있는 사용자 패턴을 찾아야 합니다. 아침에 ‘알람시계 -> 조명’ 패턴을 가지고 있는 사용자 행동 패턴의 확장을 통해 아래와 같은 노드를 발견할 수 있습니다.

 

[알람시계에서 조명 경로의 패턴 확장 탐색]

 

 

‘알람시계-> 조명’ 패턴으로 행동을 하는 사용자들은 그다음으로 블라인드 외 스피커도 많이 사용하는 것을 알 수 있기 때문에 사용자 A에게 스피커를 구매하도록 추천할 수 있습니다. 만약 사용자 A에게 스피커가 이미 있는 경우, 사용자 A의 만족도를 향상시키기 위해 아침에 음악을 자동으로 들려주는 서비스를 제공할 수도 있습니다.

 

3) 지식그래프를 활용한 IoT 시스템 자동화

IoT 디바이스를 사용하는 사람들은 주로 음성으로 직접 명령을 내려 디바이스를 작동 시키거나, 애플리케이션으로 미리 지정하여 작동하게 합니다. 하지만 IoT 서비스의 사용 편리성을 높이기 위해서는 사용자의 직접적인 장치 명령 및 예약 설정 없이도 간단한 명령만으로도 자동으로 디바이스가 작동될 수 있도록 해야 합니다.

 

IoT 시스템에서 수집되는 사용자의 명령 데이터를 지식그래프로 구축한다면 자동화된 IoT 서비스를 제공할 수 있습니다. 구축된 지식그래프 기반으로 IoT 사용자의 라이프 사이클 데이터를 자율적으로 분석하고 이해할 수 있도록 기계 학습을 결합할 수도 있습니다. IoT 데이터 기반 지식 그래프는 IoT 시스템 동작을 학습하여 인간과 기기의 상호 작용을 보다 자연스럽고 직관적으로 만들어줍니다.

 

IoT 사용자 명령 데이터를 지식그래프로 활용하여 제공할 수 있는 서비스로 건물 내 온도 자동 조절 예시를 들어보겠습니다.

 

건물의 온도 센서에서 얻을 수 있는 데이터는 온도 값, 건물 내 센서의 위치 등 이 있습니다. 

온도 센서에서 기록되는 온도 수치 값의 변화를 파악할 수 있으며, 지식그래프를 통해 어떤 요인으로 건물 실내 온도가 바뀌는지 알 수 있습니다.

 

건물 내 있는 사람이 “여기 너무 더워!”라고 말했을 때, ‘여기’와 ‘더워’라는 단어를 추출합니다. 그다음 구축되어 있는 지식그래프에서 ‘덥다’라는 노드에 접근하고, ‘여기’라는 노드에 접근하여 실제 사람 위치 내에 가까운 센서를 찾아냅니다. 

 

 

발견된 센서에서 측정되는 온도 값이 높은지 확인하고, 온도를 낮출 수 있는 방안을 고안하기 위해 연결되어 있는 노드를 탐색합니다. 

 

 

 

사용자의 위치가 실제 온도에 민감한 창문에 있다는 사실을 알게 되었을 때, 블라인드를 자동 조정하거나, 에어컨을 가동하여 온도를 낮출 수 있습니다.

 

이처럼 IoT 데이터에서 발생할 수 있는 사람의 지시어 및 장치 정보를 지식그래프로 구축하여 IoT 시스템을 자동화할 수 있게 되고, 사용자에게 좀 더 편리한 IoT 서비스를 제공할 수 있습니다. 또한 이런 접근법은 소매 및 자동차와 같은 산업 전반에 확장하여서도 활용할 수 있습니다.



#결론

앞에서 언급한 내용을 토대로 IoT 기술을 그래프 DB로 활용, 고도화할 수 있는 방법을 다시 한번 정리하자면 아래와 같습니다.

 

1) 데이터 관리 관점에서의 그래프 활용기술

- 연결되어 발생하는 IoT 데이터 실시간 형상관리

- IoT 디바이스에서 발생하는 다양한 유형의 데이터 처리

 

2) 고객 서비스 관점에서의 그래프 활용기술

- IoT 시스템 장애 모니터링 서비스

- 사용자 행동 패턴 예측을 통한 맞춤 IoT 디바이스 추천

- 지식그래프를 활용한 IoT 시스템 자동화

 

IoT 기술은 우리의 삶의 밀접하게 연결되어 있기 때문에 데이터의 보안도 중요한 요소라고 할 수 있습니다. 최근에는 IoT 데이터를 그래프화 하여 GNN, 머신러닝 기반 병목 현상 및 이상 탐지에 대한 연구도 이루어지고 있습니다. 나날이 발전하는 IoT 기술을 좀 더 효율적으로 사용하기 위해서는 그래프 DB의 활용이 반드시 필요할 것입니다.

 

글: 김성희 선임 (비트나인 그래프서비스분석팀) 

 

#참고

https://www.google.com/url?q=https://www.ibm.com/blogs/internet-of-things/iot-digital-twins-foster-innovation/&sa=D&source=editors&ust=1676560584093202&usg=AOvVaw3TnKKmIr1P92sBdumortWX

 

https://medium.com/@muntasirjoarder/iot-data-modeling-in-neo4j-graph-db-f5b57f377614

 


제품 및 기술문의

070-4800-3517  |   agens@bitnine.net