8
MINMAX Cache www.infiniflux.com

InfiniFlux Minmax Cache

Embed Size (px)

Citation preview

MINMAX Cache

www.infiniflux.com

개념

데이터의 특성이 시간에 따라 값이 증가하는 경우

• 세션 id 등의 값• 매 세션 마다 새로운 세션ID값이 생성되는 경우

• 데이터 생성 시간• 서버에 입력되는 시점에 따라 _ARRIVAL_TIME과 정확히 일치하거나 완전히 정렬되지는 않지만 대체로 증가하는 값임.

• Bitmap 색인은 Unique한 값이 있는 경우 효율적이지 않음• 검색속도 및 disk io가 많이 발생

• 만약 키 값이 시간에 따라 증가한다면 각 데이터 파티션에 대한 minmax값을이용하여 파티션 pruning이 가능하다.

개념

검색 절차

• 각 데이터 파티션에 대해서• 그 파티션의 칼럼값 중, <최소, 최대값>을 유지하고 있으며• 시스템에서 그 최대 최소값의 리스트를 캐시하고 있다.

• 위 조건에서 특정 범위에 대한 조건검색이 실행되면• 검색대상 범위를 포함하는 <최소, 최대값>을 갖는 파티션에 대해서만 검색을수행하고 그 외의 파티션에 대해서는 검색을 하지 않는다.

설정방법

• Table 생성시 설정• CREATE TABLE t1

( id integer property(MINMAX_CACHE_SIZE = 10240), name varchar(100)

);

• Minmax cache를 설정할 칼럼에 대해서 property MINMAX_CACHE_SIZE 값을 설정한다.

• 이미 생성한 Table에 Alter column 명령을 이용하여 변경 가능함.• ALTER TABLE table_name MODIFY COLUMN column_name SET

MINMAX_CACHE_SIZE=value;• ALTER TABLE t1 MODIFY COLUMN id SET

MINMAX_CACHE_SIZE=1048576;

성능측정

• 1억건 data에서 830만건 검색• Minmax 설정 유무에 의해 검색 속도 측정• 색인은 생성하지 않음• 결과 33.6초 (minmax cache disable) : 4.3초 (minmax cache enable)

0

5

10

15

20

25

30

35

40

No minmax minmax

수행시간

결론

• 데이터의 분포에 따라 색인을 생성하지 않아도 검색 속도를 증가시킬 수 있는

방법이 있다.

• 데이터가 시간에 따라 증가하거나, 감소하는 등의 양상을 보이는 경우

minmax cache를 설정하면 성능이 증가한다.

• InfiniFlux DBMS는 색인을 생성하지 않아도 검색 성능을 향상 시킬 수 있는 다

양한 옵션을 제공한다.

The World's Fastest Time Series DBMSfor IoT and BigData

[email protected]

InfiniFlux