울산·경남지역혁신플랫폼 스마트제조ICT사업단과 마크베이스와의

산학협력으로 진행되는

시계열 데이터베이스 강좌 소개

담당센터	빅데이터공유플랫폼센터
센터장	이 창 석
직원	여 성 일

2022. 10.

	울산·경남지역혁신플랫폼 스마트제조ICT사업단

Ⅰ		개요

□ 배경 및 필요성

<스마트X 시대>	<최근 24개월 DBMS 동향>

□ 4차 산업혁명 시대에 주도권을 확보하기 위해 도입이 늘고 있는 스마트X(스마트빌딩, 스마트홈, 스마트팜 등)의 산업용 IoT 장비와 센서로부터 생성되는 태그 데이터를 실시간으로 수집, 저장, 처리할 수 있는 소프트웨어가 시계열 DBMS

□ 시계열 DBMS는 데이터를 시계열(일정 시간 간격으로 배치된 데이터의 수열)로 저장하고 처리하는 시스템으로 개발됨

□ 1초에 100만 개의 데이터가 쌓여도 일주일이면 약 6000억 개의 데이터가 쌓이게 됨. 하지만 지금까지 많이 활용되고 있는 관계형 데이터베이스 관리 시스템(Relational Database Management System, 이하 RDBMS)은 데이터가 초당 수만 건만 돼도 처리하지 못하는 한계점을 드러내고 있음. RDBMS는 모든 데이터를 행과 열의 테이블로 저장하고 처리하는 시스템을 말하며, 대표적으로 오라클과 MS SQL 서버가 있음

□ 이를 극복할 수 있는 대안으로 데이터베이스 처리 솔루션으로 시계열 DBMS가 최근 각광받고 있음

□ 마크베이스의 시계열 DBMS는 초당 100만 개 이상의 데이터를 처리할 수 있으며, TPC(Transaction Processing Performance Council, 세계 성능 평가 협회)의 TPCx-IoT분야(IoT 데이터를 처리하는 DBMS 성능 평가) 공식 검증을 통해 세계 최고의 성능임을 국제적으로 인정받아 스마트X 분야에서 가장 유용한 데이터베이스 관리 시스템으로 발돋움 함

Ⅱ		시계열 데이터베이스

□ 센서 데이터의 특징

<센서 데이터>

□ 기존 DBMS의 한계

- RDBMS: Transaction based “Expensive data”

- Hadoop: Completely “Unstructured data” with full-scan

- NoSQL: Key-Value based “easy clustering & partition”

- RTDB: Single node based “Solution” not DBMS

□ IIOT의 특성

□ IIOT(Industrial internet of things) 제품의 요구사항

- 고속 입력: 초당 수십만 건 이상의 데이터 입력이 가능한 아키텍처

- 실시간 압축: 저장소 효율성 극대화를 위한 압출 알고리즘

- 센서 스키마: IIOT 센서를 대표하는 저장 구조 지원

- 고속 시계열 질의: 시간 범위에 대한 빠른 검색 성능

- 실시간 통계: 실시간 통계 기능 지원

- Scale-out & High Availability: 대규모 센서 빅데이터 지원

- Embedded Architecture: 에지 컴퓨팅(Ege Computing)의 필수 요소

- SQL support: 개발 편의성 및 기존 지식 재활용

□ Tree 기반 기술

- 시간 순서 센서 데이터는 서로 섞이므로 한 개 센서 데이터 검색 범위가 크게 증가함

- 데이터 량, 센서 개수 증가 시 입력/검색 성능은 선형적으로 저하됨

- 모든 Tree 기반 구조는 동일한 약점을 보유

□ Tag Table 기반 기술

- 각각의 센서 데이터가 Clustering 됨

- 특정시간 범위는 센서 데이터 접근시 효율성 증대

- 데이터 량, 센서 개수 증가에도 입력/검색 성능은 미비하게 저하됨

- 수백억 건 저장 기준 밀리 초안에 추출 가능한 성능

Ⅲ		제품 구조

□ 제품 형태

□ 특화된 테이블 제공

가. 메모리

- Volatile Table: 휘발성 데이터, Snapshot 데이터, PK기반 입력/수정/삭제

- Lookup Table: 기준 정보 데이터, 디스크 저장 유지, PK기반 입력/수정/삭제

나. 디스크

- Log Table: 시계열 로그 데이터, Historical 데이터, 입력/선택적 삭제

- Tag Table: 센서 데이터, 자동 통계 데이터 생성, 입력/선택적 삭제

□ Volatile Table

가. 특징

- Primary Key 기반의 Momery Table

- 유일 키를 가지는 임의의 데이터를 초고속으로 저장/갱신/삭제

- 메모리 한계 만틈의 저장 공간

- Shutdown 시에 데이터 유지 안됨

- 가장 빠르게 데이터를 저장하고 읽는 방법

나. 목적

- 갱신이 빈번한 센서 데이터의 최신 Snapshot 유지

- 임시적인 작업용으로 Temp 테이블 필요시

다. 성능

- 하나의 세션에서 초당 10만 건 입력/갱신 가능

- 다중 세션 수행시 초당 50만 건 입력/갱신 가능

□ Volatile/Lookup Table

- Primary Key 기반의 실시간 입력/수정/삭제 가능

- 로그 테이블과의 Join을 통한 데이터 분석 가능

- 메모리상에 존재, LookUp Table은 디스크에 저장

□ Log Table

가. 특징

- 시계열 로그성 데이터에 대한 고속 저장/검색이 가능한 Disk Table

- 저장된 데이터에 대한 갱신 불가능, 일정 시간 이전 삭제 지원

- 실시간 압출 저장 및 디스크 한계 만큼의 저장 공간

- 빅데이터 성격의 로그성(통계성) 데이터를 저장하고 읽는 방법

나. 목적

- 끊임없이 생산되는 통계 및 로그성 데이터를 저장/분석할 때

- 다양한 Type의 Column으로 구성된 데이터 저장 및 장기 보관할 때

다. 성능

- 하나의 세션에서 초당 50만 건 이상 입력 가능

- 50억 건 저장소에 대한 3초 이내 데이터 검색/분류/질의 가능

라. Nano Timestamp

- 입력 데이터 저장은 입력 순서로 저장

- 데이터 입력 시 자동으로 nano second 단위의 timestamp 기록

- timestamp값은 숨은 Column인 _ARRIVAL_TIME Column에 저장

- 데이터 조회할 때에는 시간의 역순, 즉 최근 입력한 데이터부터 출력

마. Columnar Store (OLAP에 최적화된 Columnar Store)

- 컬럼 단위로 저장, 컬럼의 값들을 서로 연속된 디스크 혹은 메모리 공간에 위치

- 서로 다른 레코드의 컬롬도 시스템에 큰 부하 없이 검색 가능

- 데이터 분석 성능은 ROW 기반에 비해 수십배 빠름

- 데이터 압출이 용이함

바. LSM INDEX

- 빠른 데이터 증가 환경에서 고속 검색 지원 기술

- 로컬 인덱스와 글로벌 인덱스의 장점을 취해 만든 혁신적 인덱스 기술

- 일반 서버 환경에서 10억 건 중 1건 검색시간 0.5초

사. Compression

- 논리적, 물리적 2단계 데이터 압축 저장

- 원본 대비 수 배~수십 배 압축

- 시스템 부하 최소화 및 데이터 입력/검색 성능 향상

아. Backup & Mount

- 마운트(Mount): 백업된 데이터 정보를 데이터 로딩 없이 즉시 조회할 수 있는 기능

- 데이터베이스 단위 및 테이블 단위 백업, 마운트 지원

- 로컬 디스크, NFS, HDFS 저장공간에 백업, 마운트 가능

□ Tag Table

가. 특징

- <Id, Time, Value> 로 구성된 센서 데이터 처리를 위한 디스크 테이블

- 저장된 데이터에 대한 갱신 불가능, 일정 시간 이전 삭제 지원

- 디스크 한계 만큼의 저장 공간, Shutdown 시 데이터 유지

- 센서 데이터에 대한 초고속 저장 및 추출에 대한 극강의 성능 지원

나. 목적

- 끊임없이 생산되는 센서 데이터를 저장/추출/분석해야 하는 경우

- 센서 데이터에 대한 자동 통계 및 대시보드 작성이 필요한 경우

다. 성능

- 하나의 세션에서 초당 50만 건 이상 입력 가능

- 200억 건 데이터에서 시간범위에 대한 질의 1초 이내 수행 가능

라. Rollup Table

- Tag Table 생성 시 자동으로 생성, 사용자 레벨에서 조작 불가

- 집계 시간 단위는 Second, Minute, Hour

- 집계 함수는 Minimum, Maximum, Average, Sum, Count

마. Tag Analyzer

- Tag 데이터에 대한 Fast Trend Monitoring이 가능한 웹기반 대시보드

- 년, 월, 일, 시, 분, 초, RAW 데이터에 대한 Drill Down Borwsing 기능

바. Tag Table 시스템 구성도

Ⅳ		활용 예

□ 음료 생산 공정 설비 데이터 수집

가. 도입배경

- 전체 생산 설비 데이터를 수집/저장 요구사항 발생

- 현재 MS-SQL로 알람 내역만 저장 가능

- SCADA 연동하여 모든 설비 데이터 수집 목표

나. 적용효과

- 8대 X-DAS로부터 최대 초당 20만건 데이터 수집

- 주기적인 풀 백업과 증분 백업으로 데이터 관리

- DataLake 구성 및 분석으로 생산 공정 품질 개선

□ 열차 운행 정보 모니터링 시스템(TOFA)

가. 도입배경

- 열차의 RAW 데이터를 바이너리 파일로 저장(데이터 분석에 한계가 있음)

- CBM을 위한 빅데이터 처리 솔루션 검토

- 실시간 열차 고장 정보 모니터링 필요

나. 적용효과

- 실시간 차량 모니터링 가능

- 관제실과 기관사 동일 데이터 관제

- 고급 분석 및 머신 러닝 분석을 위한 기초 마련

□ 선박 운전정보 모니터링 시스템

□ 에너지 빅데이터 플랫폼

- Hadoop Ecosystem Architecture (Before)

- MachBase Ecosystem Architecture (After)

□ 차량용 모터 생산 공정 데이터 수집

가. 도입배경

- 각 생산 라인별 TAG 데이터 수집

- SIMATIC, MELSEC 프로토콜 지원 필요

- 알람, 진척 데이터를 MS-SQL에 프로시저 호출 입력

나. 적용효과

- 7대 EMC를 이용하여 PLC 데이터 수집

- 총 3만 태그, 초당 15,000 태그 수집 가능

- EMS를 통한 EMC 및 Tag 등록/관리