Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

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

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

부가

...

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

Code Block
languagesql
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개의 컬럼만으로는 주어진 문제를 해결하기 힘든 경우가 있다.

...

Code Block
languagesql
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             <=== 추가됨 

그러나, VARCHAR 타입의 값은 부가 컬럼에 들어갈 수 없다는 점에 유의하자.

Code Block
languagesql
Mach> create tagdata table TAG (name varchar(20) primary key, time datetime basetime, value double summarized, myname varchar(100)) ;
[ERR-01851: Variable length columns are not allowed in tag table.]

문자열 타입의 경우에는 위와 같이 에러가 발생한다.

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

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

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

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

Code Block
languagesql
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으로 설정하는 예이다.