태그 테이블 (Tag Table)
개념
태그 테이블은 센서 데이터 처리를 위한 데이터 저장소 및 관련 부가 정보 관리를 담당한다.
TAG 테이블에서는 아래의 세가지 개념적인 데이터 처리 공간을 제공하며, 세부적인 설명은 다음과 같다.
데이터 테이블
이는 TAG 테이블이 생성될 때 사용자가 정의한 스키마를 기준으로 저장되는 내부 센서 데이터 테이블이다.
이 데이터는 TAG 테이블에 대한 SELECT 질의를 통해서 추출이 가능하다.
고속으로 초당 수만건에서 수십 만건의 센서 데이터를 로딩할 수 있다.
고속으로 초당 수만건의 센서 데이터를 시간 범위의 조건으로 검색할 수 있다.
실시간 압축을 통해 오랜 기간 동안의 센서 데이터를 저장할 수 있다.
시간 순으로 오래된 센서 데이터에 대한 순차적인 삭제가 가능하다.
저장되는 사용자의 센서 데이터는 기본적으로 시계열 데이터로서 해당 태그의 이름과 시간 그리고 64비트 실수 값을 갖는 특정한 데이터형이다.
+-------------------------------------------------------------------------------------------+
| tagname (user defined) | time (64-bit) | value (64-bit) | (user defined extended columns) |
+-------------------------------------------------------------------------------------------+
ROLLUP 테이블
이것은 데이터 테이블에 저장된 센서 데이터를 바탕으로 자동으로 통계 데이터를 생성하는 내부 테이블이다.
이는 수일 혹은 수년의 긴 시간동안의 통계 데이터를 수초내의 실시간으로 얻을 목적으로 개발되었다.
기본적으로 하나의 데이터 테이블 당 hour, minute, second 단위로 3개의 내부 Rollup 테이블이 생성되며, CREATE ROLLUP 구문을 통해 사용자 정의 Rollup 을 생성할 수 있다.
이 테이블에서는 MIN, MAX, AVG, SUM, COUNT, SUMSQ 여섯개의 통계 데이터를 지원한다.
Tag 테이블에 대한 Rollup 질의를 통해 Rollup 결과값을 얻어올 수 있다.
Meta 테이블
이것은 Sensor Storage에 저장될 태그의 이름 및 부가 메타 정보를 저장하는 별도의 테이블이다.
사용자는 이 테이블에 대해 명시적으로 INSERT를 통해 태그의 메타 정보를 등록할 수 있다.
또한, 사용자는 이 테이블에 대한 수정과 삭제도 가능하다.
중복제거기능
중복제거 설정 시 태그 테이블에 입력된 데이터 중 중복 데이터가 있으면 자동으로 삭제해 주는 기능이다.
새로운 데이터가 입력되었을 때 기존 입력된 데이터 중 설정 기간(최대 30일) 이내에 TAG NAME과 TIME이 일치하는 데이터가 있을 경우 새로 들어온 데이터를 자동으로 삭제 처리한다.
VARCHAR 저장 옵션
varchar 데이터를 고정영역에 저장할 수 있는 최대 크기이다.