Posting

Machbase의 최신 소식을 지금 만나보세요

완벽한 AIoT 구현을 위한 TSDB의 도입과 사례

Agenda

아날로그 기술 기반 시대에서부터 지금까지, 우리는 어떤 표준을 따를 것인가에 관한 질문에 봉착하곤 한다. 때로는 미시적인 고려로 치부되기도 하지만, 때로는 제품과 시스템의 전체 퍼포먼스를 좌우하는 핵심인자가 되기도 한다. 그중의 하나가 최근 AI, IoT 기술을 응용하여 원격제어, 제조자동화 등을 구축하는 산업현장에서 생기는 DB 관련 해프닝일 것이다. 실제로 마크베이스 본사에 매일 걸려오는 문의전화 중에는 잘못 도입한 DB로 인한 오류와 비효율에 관한 상담들이 많다. 본 리포트에서는 아직 인지도가 높지 않은 TSDB 관련 전반적인 특징들을 소개함으로써, 이미 다양한 산업 영역에서 본격화되고 있는 AI&IoT(이하 AIoT) 기술 관련 올바른 DB의 선택과 도입에 도움이 되고자 한다.

DB 히스토리

개관
주지하다시피 전통적인 트랜잭션 기반의 데이터베이스는 하나의 보통명사로 굳어져 기업, 공공/교육기관 등 데이터를 다루는 모든 영역에서 오라클, MySQL, MariaDB 등으로 대표되는 RDBMS가 사용되고 있다. 그리고 새로운 IoT의 등장에 맞춰 DBMS 역시 다양한 기술적인 연구와 해결책이 지난 30여 년간 지속적으로 발전되어 왔다.
그럼에도 전통적인 데이터베이스가 IoT 데이터 처리 영역에서 고전 을 면치 못하는 근본적인 이유는 트랜잭션이라는 기능을 통해 데이터를 처리하는 ‘패러다임’을 고집하기 때문이다. 다시 말해, 연속된 비즈니스 업무를 하나의 온전한 업무 단위로서 처리하기 위해 고안 된 기술이 전혀 다른 영역으로까지 확대 적용됨으로써 IoT 기술이 요구하는 대량의 사물 데이터 처리와 관리에 뚜렷한 솔루션을 제시 하지 못하고 있는 것이다. 더불어 이를 해결하기 위한 여러 변종적 ·변이적 대안들이 제시되었고 우리에게 낯익은 DB들의 출생 배경이 되기도 하다.

검색엔진 기반 솔루션 (Splunk, Elastic)
최근 특정 비즈니스 영역에서 대세로 자리 잡은 기법이다. 그러나 대량의 IoT 센서 데이터 처리에 검색엔진 기반 솔루션을 도입했다가 낭패를 당한 경우도 많다.
ㆍ역인덱스(Inverted index) 생성으로 인한 많은 시스템 비용
ㆍ모든 데이터가 일반 텍스트 형태로 구성
ㆍ저장공간의 낭비와 높은 변환 비용
ㆍ 대규모 센서 데이터의 특성을 지원할 수 없는 구조적인 한계 및 느린 성능

하둡 기반 솔루션(Hadoop)
하둡의 철학은 ‘모든 하드웨어를 동원하여 병렬로 수행’하는 것으로 당연히 고사양 시스템을 요구한다. 그런데 빅데이터 처리에 있어서 성공한 사례는 찾아보기 힘들다.
ㆍ최소 4대 이상의 클러스터 구성 필요
ㆍ정교한 데이터 파일 조작 불가
ㆍ단일 사용자 기준으로 동시 사용자 처리 불가능
ㆍ무료 라이선스나 높은 유지보수 비용

NoSQL(Cassandra, Redis)
새로운 데이터 처리 트렌드로써 성공적인 IT 이력을 가지고 있는 NoSQL은 데이터에 관한 ‘유일 키 (Unique Key)’ 관점으로 객체 인증 혹은 데이터 캐시 서비스에서 두드러진 장점이 있으나 그런 이유로 센서 데이터 처리에는 부적합하기도 하다.
ㆍ 다수의 유일 키를 조합하는 경우 집계 함수(Aggregation) 사용 불가
ㆍ시계열 데이터 저장이 현실적으로 불가능한 구조
ㆍ선형적 탐색으로 인해 시계열 데이터의 추출이 매우 느림

몽고디비(MongoDB)
오픈소스이자 대중적으로 인기 있는 몽고DB는 스스로 비정형 Document DBMS라고 정의하고 있으며 질의 언어가 SQL이 아닌 JSON형태로 동작하여 센서데이터 처리에는 부적합하다.
ㆍ스키마가 필요 없고 Key-Value 특성을 가진 점은 NoSQL로 분류
ㆍ트리 기반 인덱스 생성 측면에서는 전통적인 데이터베이스로 분류
ㆍ대량의 시계열 데이터의 입력과 추출에서 매우 느림

AIoT가 원하는 DB의 조건

토마스 쿤의 저서 <과학혁명의 구조>에서 과학은 연구집단의 객관적 관찰과 진리의 축적에 의한 진보가 아닌 ‘단절적 파열’에 의해 새로운 패러다임이 생성되고 이를 통해 과학의 발전역사가 형성된 다고 한다.
즉, 기존의 지배적인 패러다임으로 설명할 수 없고 해결할 수 없는 사안에 대해서 전혀 새로운 시각과 방법을 주장하는 새로운 패러다임이 등장하고 기존 패러다임을 압도하는 전환이 있을 때에라야 발전이 뒤따른다고 한다. 이를 데이터베이스 분야로 치환했을 때 AI, IoT는 기존 트랜잭션 기반의 DBMS로는 설명할 수 없는 사안이다.

빅데이터 처리
AIoT시대에 우선 요구되는 퍼포먼스는 각종 디바이스, 로봇 등에서 초당 만 건 혹은 수십만 건으로 쏟아지는 빅데이터를 즉각적으로 처리할 수 있는가 이다. 반도체 제조의 경우 초당 1,000만 건이 넘는 경우가 다반사이며 12,000~18,000Hz인 진동센서의 경우 센서 하나에서 초당 2만 건, 센서 열 개에서는 초당 20만 건의 데이터를 저장해야 한다.

빠른 데이터 추출
데이터를 추가(append)하는 방식으로 텍스트에 기록하는 것은 빠른 저장 방법이지만, 역으로 특정 시간의 데이터를 얻기 위해서 모든 파일을 순차적으로 검색하는 것은 데이터 추출의 속도를 떨어뜨리는 원인이 된다. AIoT시대에 걸맞는 DB라면 사용자 질의문에 대한 신속한 처리, 실시간 통계 기능 등이 지원되어야 한다.


SQL 지원
전통적으로 OT(Operational Technology 산업 데이터 처리) 분야에서는 SQL이 지원되지 않는 것을 해당 분야의 고유 특성인 양 받아들여져 왔다. 그러나 IT기술의 발전과 ‘스마트 팩토리’가 대두되면서 데이터베이스의 추출과 이를 통한 시스템 관리가 요구되고 있으며, 이를 위해 SQL은 필수적인 요소이다.


임베디드 아키텍처 지원
최근 들어 엣지 컴퓨팅(Edge Computing)이라는 개념이 대두되기 시작했고, 이 영역에서 가장 중요한 요소 중의 하나가 바로 엣지 부분, 즉 임베디드(Embedded) 장비에서도 잘 동작하는 데이터 처리 소프트웨어(DBMS)가 필요해진 것이다. ‘라즈베리파이’ 혹은 ‘라떼판다’와 같은 하드웨어에서도 대규모 데이터 처리를 위한 DBMS가 원활히 작동되어야 한다.

주요 DB 성능 비교표

TSDB도입을 위한 사전 체크사항

초고속 데이터 입력이 가능한가?
시계열 데이터베이스가 가져야 할 가장 기본적인 능력은 고속으로 시계열 데이터를 입력할 수 있어야 한다는 것이다. 물론, 이 입력보다는 추출에 더 관점을 맞춘 시계열 데이터베이스도 있기는 하나, 기본적으로 일반 PC급 장비(4코어 CPU, 4GB 메모리, SSD 환경 가정)에서 초당 수십만 건 이상 입력이 가능한 수준이어야 한다.


시간 처리에 최적화된 인덱스가 지원되는가?
최근의 시계열 데이터베이스는 시간축으로 모인 태그 아이디마다, 대량의 데이터에 대한 새로운 형태의 인덱스를 구성함으로써 문제를 해결한다. 예를 들어, 마크베이스의 경우에는 시간축으로 데이터를 분리(partition)하고, 태그 아이디에 대해 클러스터(cluster)로 모아서 처리하는 복합적인 구조의 인덱스를 통해 이 문제를 해결한다.


SQL 기반 시계열 질의가 지원되는가?
시계열 데이터베이스를 쓰는 가장 큰 이유는 시계열 데이터에 대한 다양한 형태의 요청을 처리할 수 있도록 해 주는 것이고, 성능 또한 탁월하기 때문이다. 이는 특정한 시간에 해당하는 사용자의 분석 요구사항을 잘 표현할 수 있는 질의 언어 측면에서 이해할 수 있다. 그리고 그 질의 언어가 널리 알려진 SQL을 기반으로 동작하도록 설계되어, 기존의 데이터베이스 사용자가 큰 어려움 없이 적응할 수 있다는 장점이 있다.


실시간 데이터 압축효율이 높은가?
오랫동안 저장되는 시계열 데이터의 디스크 용량은 때때로 상상을 초월하는 경우가 많다. 그렇기 때문에 데이터베이스 엔진 내부에서 데이터를 압축하는 기능을 제공한다. 물론, 사용자는 데이터의 압축 여부를 알 필요는 없지만, 이 기능을 통해 보다 긴 기간의 시계열 데이터를 보관할 수 있도록 저장공간을 효율화할 수 있다.

주요 TSDB 종류

InfluxData(오픈소스)
2013년 미국에서 창업된 시계열 데이터베이스 제품이다. 특이하게 이 엔진은 Go 언어를 통해서 개발되었으며, 전 세계에서 가장 빠르게 성장하고 있다. SQL과 유사한 조작 언어를 제공하고 있으며, 다양한 프로그래밍 언어를 제공하는 것이 특징이다.


OpenTSDB(오픈소스)
제품명에서 알 수 있듯이 오픈소스를 지향하는 시계열 데이터베이스인데, 2011년 개발이 시작된 것으로 가장 오래된 제품 중의 하나라고 볼 수 있다. 이렇게 오래된 역사 덕분인지는 모르겠지만, 알게 모르게 국내에서도 간간이 적용되어 활용되고 있다. 개발 언어가 자바라 성능에 있어서 비교적 약점이 있을 수 있지만, 반면 하둡과 같은 다양한 개발 환경과의 유연한 연동과 높은 브랜드 인지도가 장점이다.


Prometheus(오픈소스)
시계열 데이터베이스로 인식되기보다는 다른 시계열 데이터베이스와의 연동을 통한 매우 탁월한 모니터링 솔루션으로 주로 인식된다. 그래서 다른 제품과의 연동을 통한 모니터링 사례를 쉽게 찾아 볼 수 있고 많은 기업에서도 그러한 용도로 활용하고 있다. 모니터링을 위한 시각화 측면에서 강점을 가지는 제품으로 ‘사용기술지원’을 통한 상업화를 지향하고 있으며, 제품 자체는 무료로 제공된다.


마크베이스(비오픈소스)
마크베이스(Machbase)는 2013년 대한민국에서 시작한 시계열 데이터베이스로 C언어로 개발되었으며 AI, IoT 기술이 요구하는 사항을 대부분 지원한다. 무엇보다 버전5 기준 일반 PC급 장비에서 초당 백만 건 이상의 센서 데이터를 처리할 수 있으며 국제공인 성능평가기구인 TPC로부터 IoT 부문에서 4회 연속 1위를 차지한 바 있다. 최근 AIoT 기술 발전을 위한 인프라로서의 사업비전을 공표한적 있다.
관련기사(중앙일보 https://news.joins.com/article/24062355)


[참조] 국제공인기관 TPC의 테스트
TPC(Transaction Processing Performance Council)는 DBM SW와 HW를 테스트하고 공인인증 성능치를 발행하는 비영리 기관이다. DBMS를 도입하려는 고객들은 성능 결과를 바탕으로 자신들이 원하는 장비와 소프트웨어를 선정하는데 참조할 수 있다. 인텔,AMD, 시스코, HP, Oracle 등의 회원사들이 있고 한국에서는 TTA가 국산 장비와 소프트웨어를 대상으로 TPC 공인인증을 받도록 해 주는 지원 과제를 진행하고 있다.

응용사례
퍼마일자동차보험에 적용된 센서 데이터 기술

비교적 짧은 시간에 캐롯보험이 온디맨드 보험시장을 개척하면서 동시에 리딩컴퍼니가 된 데에는 주력상품 퍼마일자동차보험의 인기 덕분이다. 퍼마일자동차보험은 AI, IoT 기술을 응용하여 탄 만큼 후불로 결제하고, 그로 인해 MZ세대를 포함해 합리적 소비를 지향하는 고객들에게 주목받고 있다. 이 획기적인 보험상품을 구성하는 핵심기술 하나가 마크베이스의 시계열 DBMS이다.

고객사 요구사항
ㆍ차량 주행 정보를 수집하기 위한 데이터베이스 필요
ㆍ 시거잭에 연결해서 사용하는 캐롯플러그로부터 나오는 차량의 위치정보 필요
ㆍ 고가용성(High Availability), 즉 고장 없이 99%의 정상 가동을 보장하는 클러스터 시스템 필요


마크베이스의 솔루션
ㆍ 마크베이스 클러스터 에디션을 통해 캐롯플러그로부터 생성되는 데이터를 수집/저장
ㆍ안정적인 고가용성 시스템에 맞는 클러스터 에디션 사양을 권장
ㆍ 자체 장애극복(Failover) 기능을 통해 시스템 내 문제 발생시 지속적인 서비스 가능

캐롯보험의 인기는 통상 ‘다이렉트 보험’이라 불리는 온라인 가입채널의 경제성에 기인한 것이 아니다. AIoT 기술을 접목하여 고객이 별도의 조작이나 신경을 쓰지 않아도 운행거리만큼 비용이 청구되고 그만큼 합리적 소비를 가능케 하는 일상 속에 반영된 고도의 디지털 기술 때문이다.

연관 포스트

AI 예지보전을 위한 TSDB의 활용

제조설비 예지보전 제조설비 예지보전(Predictive Maintenance)은 최근 PHM(Prognostics and Health Management)이라는 보다 큰 의미의 용어로 불리고 있으며, 설비 이상에 대한 사전 진단 및 설비, 부품 등의

세상을 뒤덮는 IoT 데이터

김성진 대표, 마크베이스 이번 글에서는 IoT 데이터의 발생에 있어서 어떠한 영역에서 이를 활용하고 있는지, 그리고 이런 데이터를 통해 실제로 어떤 문제를 해결하고 있는지에 대해 구체적인