Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 7 Next »

사용자는 사용할 TAG라는 이름의  테이블을 명시적으로 생성하여야 하며, 이후에 이 테이블을 조작함으로써 센서데이터를 다양한 형태로 활용할 수 있다.

최초 데이터베이스가 설치된 경우에는 TAG 테이블이 없으므로 유의한다.

TAG 테이블은 기본적으로 사용자의 센서 데이터를 저장하기 위한 목적이므로, 반드시 아래의 세가지 필수 항목은 반드시 포함되어야 한다.

  • 이름
  • 입력 시간
  • 값 

그러나, 마크베이스의 TAG 테이블은 위의 세가지 뿐만 아니라 부가 컬럼의 입력도 허용하기 때문에 위의 필수 컬럼을 위한 키워드를 동반한다.

  • 태그 이름 : primary key
  • 태그 입력 시간 : basetime
  • 태그 값 : summarized

그리고, 이 태그 이름은 다음 장에 설명될 태그 메타 정보로서 활용된다.

기본 태그 테이블 생성

가장 간단한 태그 테이블은 아래와 같이 생성된다.

dddMach> create tagdata table TAG (name varchar(20) primary key, time datetime, value double);
[ERR-02253: Mandatory column definition (PRIMARY KEY / BASETIME / SUMMARIZED) is missing.]
==> 위와 같이 키워드를 넣지 않으면, 위와 같은 에러가 발생한다.

Mach> create tagdata table TAG (name varchar(20) primary key, time datetime basetime, value double summarized);
Executed successfully.
Elapsed time: 0.643
Mach> desc tag;
[ COLUMN ]                              
----------------------------------------------------------------
NAME                          TYPE                LENGTH        
----------------------------------------------------------------
NAME                          varchar             20                  
TIME                          datetime            31              
VALUE                         double              17                  

즉,  TAG 라는 이름을 가진 테이블이 생성되었다.

 성능 향상을 위해 4개의 파티션으로  나뉘어진 내부 테이블이 생성된다.

성능 및 메모리 사용량 조절을 위한 파티션 지정

파티션 갯수가 디폴트로 4개로 설정되어 있는데, 만일 메모리 및 CPU 사용량을 조절하려는 목적으로 이 갯수를 다음과 같이 지정해서 조절할 수 있다.

부가 프로퍼티 tag_partition_count 에 해당 값을 넣어서 생성한다.

이 값이 커지면, 병렬성이 높아져서 성능이 좋아지지만, 메모리 사용량이 늘어나고, 함께 ROLLUP 생성을 위해 CPU 사용량도 함께 늘어난다.

Mach> create tagdata table TAG (name varchar(20) primary key, time datetime basetime, value double summarized) tag_partition_count=1;
Executed successfully.
Elapsed time: 0.473
Mach> 

메모리 및 CPU 사용량의 최소화 하기 위한 목적으로 1으로 설정하는 예이다.

태그 부가 컬럼의 지정

실제로 TAG 테이블을 활용할 때 단지 3개의 컬럼만으로는 주어진 문제를 해결하기 힘든 경우가 있다.

특히, 입력되는 센서 데이터의 정보가 이름과 시간, 값 뿐만 아니라 특정 그룹이나 인터넷 주소의 경우도 있기 때문에 아래와 같이 추가할 수 있다.

Mach> create tagdata table TAG (name varchar(20) primary key, time datetime basetime, value double summarized, grpid short, myip ipv4) ;
Executed successfully.
Elapsed time: 0.633
Mach> desc tag;
[ COLUMN ]                              
----------------------------------------------------------------
NAME                          TYPE                LENGTH        
----------------------------------------------------------------
NAME                          varchar             20                  
TIME                          datetime            31              
VALUE                         double              17                  
GRPID                         short               6              <=== 추가됨. 
MYIP                          ipv4                15             <=== 추가됨 


  • No labels