(출처 : 소프트웨어 센터 웹진 자료)
IoT 사례 연구 - 빅데이터와 연계
IoT(Internet of Things)의 시대에는 빅데이터를 빼놓고 말할 수 없을 만큼 중요한 요소이다. 엄청난 양(Volume)의 다양한(Variety) 데이터가 엄청난 속도(Velocity)로 쏟아지기 때문이다. 반대로, 빅데이터는 대량의 데이터가 입력되지 않으면 가치를 찾기 어렵기 때문에 빅데이터와 IoT는 뗄 수 없는 관계일 수 밖에 없다. 이번 회에서는 IoT와 빅데이터를 활용하기 위해 사용되는 구성에 대해 알아보기로 한다. 상호 보완적 개념인 빅데이터와 IoT를 연결한 컴퓨팅 구성을 이해하는데 도움이 되기를 기대한다.
사례 연구 전 확인 사항
IoT와 빅데이터
IoT는 사물이 다양한 센서를 통해 수집한 데이터를 네트워크를 통해 전달하는 것이 일반적인 역할이라고 할 수 있다(그림1). IoT에서 수집하는 데이터는 실시간 데이터가 대부분이기 때문에 사물이 24시간 동안 인터넷에 접속되어 있으면서 쉬지 않고 데이터를 수집한다. 이러한 일을 위해 과거에는 많은 비용과 기술이 필요했지만 현재는 디바이스가 점점 소형화 되면서 비용도 함께 내려가는 추세다. 따라서, 지금은 거의 모든 산업에서 IoT를 이용해 빅데이터를 수집하고 있다.
<그림1> IoT의 데이터 수집과 전달
출처: http://www.tkt.cs.tut.fi/research/waps/
IoT와 빅데이터, 그리고 클라우드
IoT, 클라우드(Cloud), 빅데이터를 ‘제3의 IT혁명’이라고 불리고 있다. IoT 센서를 통해 빅데이터를 수집하고, 수집된 빅데이터를 정제하고 분석, 이를 다시 서비스하기까지 클라우드 환경이 구축되어 있어야 가능하기 때문이다. 실제 세상의 정보를 센서를 통해 수집하고, 이를 디지털화하여 정제, 분석한 후 디지털 세상에 저장하고, 분석된 결과를 실제 세상에 다시 제공한다. 실제 세상과 디지털 세상을 이어주는 역할을 클라우드가 하게 된다(그림2).
<그림2> IoT, Cloud, Big data의 연결
출처: SK Telecom - The ERA of Smart things
지금까지도 수집된 데이터는 대부분 실시간으로 저장하는 경우가 많았다. 하지만, IoT가 쏟아내는 빅데이터의 양은 시간이 갈수록 기하급수적으로 늘어나기 때문에 데이터센터를 구축해도 감당하기 힘든 경우도 발생할 수 있다. 따라서, 센서에서 수집되는 데이터를 효율적으로 수집하고 분석하는 것도 중요하지만 효율적인 데이터 전송, 저장 방법도 중요한 요소로 남아있는 상태다(그림3).
<그림3> IoT, Cloud, Big data의 연결의 예
출처: Cisco blog - IoT Platform Architecture
IoT를 통한 실시간 빅데이터 분석의 필요성 증대
IoT에서 수집하는 빅데이터의 증가로 인해 수집된 빅데이터를 분석하기 위해 저장할 수 있는 시간과 공간이 점차 줄어들고 있다. 이로 인해, 필요성이 증가하고 있는 것이 실시간 빅데이터 분석이다. 일반적인 데이터 분석은 데이터의 생성 시점과 분석 시점을 크게 고민할 필요가 없지만, 실시간 분석은 데이터가 생성되는 시점에 분석을 해야 하기 때문에 다양한 방법들이 연구되고 있다. 센서나 소셜 미디어에서 생성되는 시계열 데이터나 로그 데이터가 주 대상이며, 머신 데이터는 빅데이터 중에서도 증가세가 가장 빠른 영역이다. IoT 활용에서 실시간 빅데이터 분석의 중요성이 강조되는 이유는 IoT에서 수집하는 데이터가 워낙 방대하기 때문에 계속 쌓아놓고 데이터를 볼 경우 원하는 IoT 활용이 어렵기 때문이다. 그림4와 같은 방법으로 IoT를 활용한 실시간 데이터 분석이 가능하다.
<그림4> 실시간 데이터 분석 방법
출처: http://www.openwith.net/?page_id=976
<참고사이트>
- 실시간 빅데이터 분석 원리 http://d2.naver.com/helloworld/694050
사례 연구
시스코(Cisco) - 포그 컴퓨팅(Fog Computing)
IoT의 확산과 빅데이터의 양과 실시간 처리의 필요성이 증가하고 센서 디바이스의 한계로 인해 클라우드 컴퓨팅의 영역보다 더 확대된 역할이 필요하게 되었다. 클라우드 컴퓨팅을 실제 네트워크에 보다 근접한 경계 영역까지 확장하는 새로운 아키텍처가 제시되었는데 이 것이 포그 컴퓨팅이다(그림5).
<그림5> 포그 컴퓨팅의 구성
출처: Cisco
포그 컴퓨팅은 센서나 디바이스에서 생성된 데이터를 실시간으로 처리할 수 있는 노드를 기지국처럼 두고 컴퓨팅 파워가 필요한 데이터만 클라우드로 넘겨서 처리하는 방식이다. 노드에는 컴퓨팅에 필요한 메모리나 저장 기능을 가지고 있어 즉각적인 데이터 분석이 가능하도록 되어 있다. 스마트폰과 같은 디바이스에서 생성된 데이터를 근거리 통신망을 이용해 포그 노드에 연결하여 분석하고, 그 이상의 컴퓨팅 파워가 필요한 작업은 클라우드로 보내 처리하게 한다. 이러한 방식은 간단한 데이터 분석은 포그 노드에서 해결하기 때문에 데이터 분석에 필요한 비용과 시간을 절약할 수 있고, 대부분 데이터 분석이 완료된 데이터가 네트워크를 통해 저장되기 때문에 빅데이터 저장공간도 줄일 수 있는 장점이 있다. 아키텍처를 보면 컴퓨터, 네트워크, 저장장치가 있고, 사용자 위치 파악해 주는 엔진과 그 위에서 애플리케이션이 구동된다. 이러한 아키텍처가 라우터나 셋톱박스, AP 등에 탑재될 수 있다. 즉, 전통적인 컴퓨팅 모델과 비교하면, 물리적인 디바이스와 인터넷 사이에 분산 플랫폼을 가지고 있는 것이다.(그림6).
<그림6> 전통적 컴퓨팅 모델과 포그 컴퓨팅 모델의 비교
출처: Cisco
파스트림(ParStream)
고성능 압축 비트맵 인덱스(HPCI; High Performance Compressed Index) 기술을 특허 등록하여 사용하는 파스트림은 수십억 건의 데이터도 1초 이내 분석 결과를 도출할 수 있다고 알려져 있다. IoT를 통한 빅데이터 분석에 강점이 있는 이유가 여기에 있다. 파스트림의 가장 큰 특징은 하둡 기반이 아닌 관계형 데이터베이스 기술을 적용한다는 점이다. 이 것은 사용자가 기존에 사용하던 SQL과 관련 기술을 그대로 사용할 수 있다는 장점이 있다. HPCI 기술은 압축 해제 없이 바로 쿼리가 가능하도록 한 것(그림7)으로 압축 해제에 필요한 CPU나 메모리의 성능 저하나 처리 시간이 필요 없다는 장점을 가지고 있다.
<그림7> HPCI 개념
출처: 파스트림
데이터스트림즈의 TeraStream Bass
데이터스트림즈에서는 IoT를 통한 빅데이터 실시간 분석을 위한 메모리 기반 플랫폼을 제시하고 있다(그림8). 전력장비, 보안장비, 로그데이터 등을 실시간으로 수집하여 실시간 인덱싱 후 데이터를 메모리에 분산 저장하는 방식이다. 오래된 데이터나 사용자 설정을 벗어나는 데이터는 Hadoop의 HDFS에 분산 저장 처리하여 실시간 처리 요건과 Batch처리 요건을 동시에 만족할 수 있는 Hybrid 분석 기능을 제공하는 것이 특징이다. 수집된 데이터를 메모리와 디스크에 분산 저장하기 때문에 사용 빈도가 높은 것은 메모리에 위치할 수 있어 분석과 검색 속도가 빠르다는 장점이 있다. 메타데이터를 활용해 메모리와 하둡에 저장하는 데이터를 구분하는 것도 좀더 체계적인 기준으로 데이터를 분산 배치할 수 있다.
<그림8> 데이터스트림즈의 IoT를 통한 실시간 데이터 처리
출처: 데이터스트림즈
기대 효과와 결론
IoT와 빅데이터 간의 연계는 소프트웨어적인 요소보다는 아키텍처적 요소가 많이 반영되어 있지만 센서나 디바이스의 네트워크 연계, 빅데이터의 분석, 저장 등을 위한 입력 데이터의 연계 방법에 대해 알고 있어야 효율적으로 전체 아키텍처를 구성할 수 있다. IoT를 통한 빅데이터 활용의 최근 트렌드는 실시간 분석이기 때문에 IoT의 센서나 디바이스의 데이터 수집 부담과 데이터를 분석하고 저장하는 부담을 줄이기 위한 노력이 계속되고 있다.
출처 : http://www.sw-eng.kr/member/customer/Webzine/BoardView.do?boardId=00000000000000045319&currPage=1&searchPrefaceId=&titOrder=&writeOrder=®DtOrder=&searchCondition=TOT&searchKeyword=IoT+%EC%82%AC%EB%A1%80+%EC%97%B0%EA%B5%AC