/
Property

Property


프로퍼티란 $MACHBASE_HOME/conf/machbase.conf 파일에 정의되어 있는 키-값 의 쌍을 의미한다.

이 값들은 마크베이스 서버가 시작할 때 설정되고 실행시 지속적으로 이용된다. 성능 튜닝을 위해서 이 값을 변경하려면 이 값들에 대한 의미를 이해하고, 주의 깊게 설정하여야 한다.


CPU_AFFINITY_BEGIN_ID

마크베이스 서버가 사용할 CPU의 시작 번호이다. 마크베이스 서버의 CPU사용량을 조절하기 위해서 사용한다.


Value
최소값0
최대값2 ^ 32 - 1
기본값0

CPU_AFFINITY_COUNT

마크베이스 서버가 사용할 CPU의 수이다. 0으로 설정하면 마크베이스 서버가 모든 CPU를 사용한다.


Value
최소값0
최대값2 ^ 32 - 1
기본값0

CPU_COUNT

시스템에 설정된 CPU의 수를 지정한다. 이 값을 기반으로 마크베이스의 스레드 수를 결정한다. 0으로 지정한 경우에는 시스템의 모든 CPU를 사용한다.


Value
최소값0 (시스템에 물리적으로 설치된 CPU수)
최대값2^32 -1
기본값0

CPU_PARALLEL

CPU당 생성할 스레드의 수를 지정한다. 만약 이 값이 2이고 cpu의 수가 2인 경우, 두개의 CPU마다 병렬 스레드가 2개씩 생성되므로 병렬처리 스레드의 수가 4가 된다. 이 값이 너무 큰 경우, 메모리가 빨리 소모될 수 있다.


Value
최소값1
최대값2^32 -1
기본값1

DBS_PATH

마크베이스 서버의 기본 데이터가 저장될 경로를 지정한다. 기본값은 "?/dbs"로, $MACHBASE_HOME/dbs 를 의미한다.


Value
기본값?/dbs

DEFAULT_LSM_MAX_LEVEL

LSM인덱스의 기본 레벨을 설정한다. 인덱스를 생성할 때 MAX_LEVEL값을 입력하지 않으면 이 값이 적용된다.


Value
최소값0
최대값3
기본값2

DISK_BUFFER_COUNT

디스크 입출력을 위한 버퍼의 수를 지정한다.


Value
최소값1
최대값4G (4 * 1024 * 1024 * 1024)
기본값16

DISK_COLUMNAR_INDEX_CHECKPOINT_INTERVAL_SEC

인덱스에 대한 체크포인트 주기를 설정한다. 너무 길게 설정할 경우, 인덱스 빌드에 오류가 발생할 수 있다.


Value
최소값1 (sec)
최대값2^32 -1 (sec)
기본값120 (sec)

DISK_COLUMNAR_INDEX_FDCACHE_COUNT

오픈한 인덱스 파티션 파일 디스크립터의 수를 지정한다.


Value
최소값0
최대값2^32 -1
기본값0



DISK_COLUMNAR_INDEX_SHUTDOWN_BUILD_FINISH

마크베이스 서버를 종료할 때, 인덱스 정보를 디스크에 모두 반영할 것인지를 설정한다. 이 값을 '1'로 설정하면 모든 인덱스 정보를 디스크에 반영하고 종료하므로 종료시 대기 시간이 길어질 수 있다.


Value
최소값0 (False)
최대값1 (True)
기본값0 (False)

DISK_COLUMNAR_PAGE_CACHE_MAX_SIZE

페이지 캐쉬의 최대 크기를 설정한다.


Value
최소값0
최대값2^64 - 1
기본값2 * 1024 * 1024 * 1024

DISK_COLUMNAR_TABLE_CHECKPOINT_INTERVAL_SEC

테이블 데이터의 체크포인트 주기를 설정한다. 이 값이 너무 크면 재시작시 복구 시간이 매우 길어지고, 이 값이 너무 작으면 I/O가 자주 발생하여 전체 성능이 저하될 수 있다.


Value
최소값1 (sec)
최대값2^32 -1 (sec)
기본값120 (sec)

DISK_COLUMNAR_TABLE_COLUMN_FDCACHE_COUNT

테이블의 컬럼 데이터에 대한 오픈된 파일 설명자의 최대 수를 지정한다.


Value
최소값0
최대값2^32 - 1
기본값0

DISK_COLUMNAR_TABLE_COLUMN_MINMAX_CACHE_SIZE

_ARRIVAL_TIME 컬럼에 설정되는 기본 MINMAX 캐쉬의 크기를 설정한다.


Value
최소값0
최대값2^64 - 1
기본값100 *1024 * 1024

DISK_COLUMNAR_TABLE_COLUMN_PART_FLUSH_MODE

컬럼 파티션 파일의 자동 플러쉬 주기를 설정한다.


Value
최소값0 (sec)
최대값2^32-1 (sec)
기본값60 (sec)

DISK_COLUMNAR_TABLE_COLUMN_PART_IO_INTERVAL_MIN_SEC

파티션 파일을 디스크에 반영하는 주기를 설정한다. 파티션이 설정된 갯수보다 더 많은 데이터를 입력받으면 이 주기와 관계없이 디스크에 반영된다.


Value
최소값0 (sec)
최대값2^32-1 (sec)
기본값3 (sec)

DISK_COLUMNAR_TABLE_COLUMN_PARTITION_PRECREATE_COUNT

테이블에 대해서 사용할 예정인 컬럼 파티션 객체의 사전 생성 수를 정의한다.


Value
최소값1
최대값2^32-1
기본값3

DISK_COLUMNAR_TABLE_TIME_INVERSION_MOD

설정된 값 만큼 _ARRIVAL_TIME컬럼의 값이 감소하더라도 입력을 허용한다. 만약 0인 경우 _ARRIVAL_TIME컬럼 값의 최대값보다 작은 값이 입력되면 이는 오류로 처리된다.


Value
최소값0 (False)
최대값1 (True)
기본값1 (True)

DISK_COLUMNAR_TABLESPACE_DWFILE_EXT_SIZE

시작시 복구를 위해서 사용되는 더블 라이트 파일이 한번에 증가하는 크기를 지정한다.


Value
최소값1024 * 1024
최대값2^32 - 1
기본값1024 * 1024

DISK_COLUMNAR_TABLESPACE_DWFILE_INT_SIZE

파일 생성시에 더블라이트 파일이 확보하는 용량을 지정한다.


Value
최소값1024 * 1024
최대값2^32 - 1
기본값2* 1024 * 1024

DISK_COLUMNAR_TABLESPACE_MEMORY_EXT_SIZE

컬럼 파티션을 위해서 확보하는 메모리의 블록 크기를 지정한다.


Value
최소값1024 * 1024
최대값2^64 - 1
기본값2* 1024 * 1024

DISK_COLUMNAR_TABLESPACE_MEMORY_MAX_SIZE

로그 테이블에 의하여 할당된 최대 메모리 크기를 지정한다. 만약 서버가 이 값 이상의 메모리를 할당하게 되면, 메모리 사용량이 이 값 이하로 줄어들 때 까지 메모리 할당이 대기하므로 성능이 저하된다. 이 값은 물리적 메모리의 50~80% 정도로 설정할 것을 추천한다.


Value
최소값256 * 1024 * 1024
최대값2^64 - 1
기본값8 * 1024 * 1024 * 1024

DISK_COLUMNAR_TABLESPACE_MEMORY_MIN_SIZE

마크베이스 서버가 시작할 때, 메모리 할당에 의한 성능 저하를 막기 위해서 이 값 만큼 메모리를 사전 확보한다. 데이터 입력 버퍼로만 이 메모리를 사용하므로, 메모리가 충분할 경우에만 사용할 것을 추천한다.

Table 24. Range of values


Value
최소값1024 * 1024
최대값2^64 - 1
기본값100 * 1024 * 1024

DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_HIGH_LIMIT_PCT

컬럼 데이터 파일을 위한 메모리 사용량이 제한 값을 이 값을 다음과 같이 이용하여 계산하고, 초과한 경우 입력 성능을 저하시킨다.

DISK_COLUMNAR_TABLESPACE_MEMORY_MAX_SIZE * (DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_HIGH_LIMIT_PCT / 100)



Value
최소값0
최대값100
기본값80

DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_MSEC

컬럼 데이터 파일을 위한 메모리 사용량이 기준을 초과한 경우, 매 레코드 입력시에 다음의 대기 시간을 설정한다.


Value
최소값0 (msec)
최대값2^32 - 1 (msec)
기본값1 (msec)

DISK_IO_THREAD_COUNT

데이터를 디스크에 기록하는 입출력 스레드의 수를 설정한다.


Value
최소값1
최대값2^32 -1
기본값3

DISK_TABLESPACE_DIRECT_IO_FSYNC

Direct I/O를 실행할 경우, 데이터 파일에 대해서 fsync는 불필요하다. Direct I/O 를 사용할 경우 fsync를 사용하지 않도록 하면 데이터 I/O 성능을 향상시킬 수 있다 (0으로 설정).
Fsync를 수행하지 않아도 일반적 상황에서는 데이터 유실이 없으나 전원이 꺼지는 등의 장애 상황이 발생할 수 있는 경우에는 fsync를 수행하도록 설정해야 한다.


Value
최소값0
최대값1
기본값0

DISK_TABLESPACE_DIRECT_IO_READ

데이터 읽기 연산에 DIRECT I/O 를 사용할 것인지를 설정한다.


Value
최소값0
최대값1
기본값0

DISK_TABLESPACE_DIRECT_IO_WRITE

데이터 쓰기 연산에 DIRECT I/O 를 사용할 것인지 설정한다.


Value
최소값0
최대값1
기본값1

DUMP_APPEND_ERROR

이 값을 1로 설정하면 Append API 가 실패한 경우 $MACHBASE_HOME/trc/machbase.trc 파일에 에러 내용을 기록한다.
이 상황에서 append 성능이 매우 저하될 수 있으므로 테스트용으로만 사용할 것을 권장한다.

사용자 application에서 에러를 검사하고 싶으면 SQLAppendSetErrorCallback API 를 사용하는 것이 도움이 된다.


Value
최소값0
최대값1
기본값0

DUMP_TRACE_INFO

서버는 일정한 주기로 DBMS 시스템 상태 정보를 machbase.trc 파일에 주기적으로 기록하는데, 이 주기를 설정한다.
0으로 설정하면 기록하지 않는다.


Value
최소값0 (sec)
최대값2^32 - 1 (sec)
기본값60 (sec)

DURATION_BEGIN

DURATION 절을 지정하지 않은 SELECT 문에 대해서 기본을 설정하는 duration 값 중 시작시점을 설정한다.
만약 60을 설정해 두었다면, 현재 시각에서 60초 이전의 데이터를 검색하게 된다.

기본값은 0으로 모든 데이터를 검색한다.


Value
최소값0
최대값2^32 - 1
기본값0

DURATION_GAP

DURATION 절을 지정하지 않은 SELECT 문에 대해서 기본을 설정하는 duration 값 중 기간을 설정한다.

  • 만약 60을 설정해 두었다면, 현재 시각에서 60초 동안의 데이터를 검색하게 된다.
  • DURATION_BEGIN 값도 60이라면, 현재 시각에서 60초 이전부터 60초 동안의 데이터를 검색하게 된다.

기본값은 0으로 모든 데이터를 검색한다.


Value
최소값0
최대값Non-zero
기본값0

FEEDBACK_APPEND_ERROR

Append API 실행시 오류가 발생하였을 경우, 오류 데이터를 클라이언트에 전송할지를 설정한다. 0이면 클라이언트에 오류 데이터를 전송하지 않으며 1이면 클라이언트에 오류 정보를 전송한다.


Value
최소값0
최대값1
기본값1

GRANT_REMOTE_ACCESS

원격지에서 데이터베이스에 접근할 수 있는지를 결정한다. 0이면 원격지 접속이 차단된다.


Value
최소값0 (False)
최대값1 (True)
기본값1 (True)

INDEX_BUILD_MAX_ROW_COUNT_PER_THREAD

인덱스 빌드 스레드가 인덱싱 되지 않은 레코드의 수가 이 값 이상이 되면 인덱스를 추가하기 시작한다.


Value
최소값1
최대값2^32 - 1
기본값100000

INDEX_BUILD_THREAD_COUNT

인덱스 생성 스레드의 수를 지정한다. 0으로 설정되면 인덱스를 생성하지 않는다.


Value
최소값0
최대값2 ^ 32 - 1
기본값3

INDEX_FLUSH_MAX_REQUEST_COUNT_PER_INDEX

인덱스당 최대 flush 요청 수를 지정한다.


Value
최소값0
최대값2 ^ 32 - 1
기본값3

INDEX_LEVEL_PARTITION_AGER_THREAD_COUNT

LSM 인덱스 생성시에 필요없는 인덱스 파일의 삭제를 위한 스레드의 갯수를 지정한다.


Value
최소값0
최대값1024
기본값1

INDEX_LEVEL_PARTITION_BUILD_MEMORY_HIGH_LIMIT_PCT

LSM 인덱스 생성을 위한 최대 메모리 사용량의 퍼센트로 설정한다. 이 퍼센트는 마크베이스가 사용하는 최대 메모리사용량 대비하여 설정된다. 메모리 사용량이 한도를 초과하면, LSM 파티션 병합은 중지된다.


Value
최소값0
최대값100
기본값70

INDEX_LEVEL_PARTITION_BUILD_THREAD_COUNT

LSM 인덱스의 생성을 위한 병합 연산을 수행하는 스레드의 수를 결정한다.


Value
최소값1
최대값1024
기본값3

MAX_QPX_MEM

GROUP BY, DISTINCT, ORDER BY 절을 수행하기 위해서 질의처리기가  이용하는 메모리의 최대 양을 설정한다.
하나의 질의문이 이보다 큰 값으로 메모리를 사용하게 되면 질의는 취소된다. 이때, 에러메시지를 클라이언트에 전송하고, machbase.trc 파일에 관련 내용이 기록된다.


Value
최소값1024 * 1024
최대값2^64 - 1
기본값500 * 1024 * 1024

MEMORY_ROW_TEMP_TABLE_PAGESIZE

Volatile table및 lookup 테이블을 위한 임시 테이블 스페이스의 페이지 크기를 설정한다. Volatile 테이블 및 lookup 테이블의 레코드들은 페이지에 저장되므로 volatile을 위한 최대 레코드 크기보다 커야 한다.
페이지에 N개의 레코드를 입력하고 싶으면 이 값을 최대 레코드 크기 * N으로 설정해야 한다.


Value
최소값8 * 1024
최대값2^32 - 1
기본값32 * 1024

PID_PATH

마크베이스 서버 프로세스의 PID파일이 기록되는 위치를 지정한다. 기본값은 "?/conf"이며 이는 $MACHBASE_HOME/conf 를 의미한다.


Value
기본값?/conf
PID_PATH 값PID 파일 위치 경로
지정되지 않음$MACHBASE_HOME/conf/machbase.pid
?/test$MACHBASE_HOME/test/machbase.pid
/tmp/tmp/machbase.pid

PORT_NO

마크베이스 서버 프로세스가 클라이언트와 통신하기 위한 TCP/IP 포트를 지정한다. 기본값은 5656이다.


Value
최소값1024
최대값65535
기본값5656

PROCESS_MAX_SIZE

마크베이스 서버 프로세스인 machbased 프로그램이 사용하는 최대 메모리 사이즈를 지정한다. 이 제한값 이상의 메모리를 사용하려고 하면 서버는 다음과 같이 동작하여 메모리의 사용량을 줄이려고 시도한다. 메모리 제한을 초과한 경우, 다음의 방법으로 메모리 사용량을 줄인다.

  • 데이터 입력을 중지하거나 오류로 처리
  • 인덱스 생성 속도를 떨어뜨림

이 경우, 성능이 매우 저하되므로, 메모리 과다 사용 원인을 찾아서 해결하여야 한다.


Value
최소값1024 * 1024 * 1024
최대값2^64 - 1
기본값8 * 1024 * 1024 * 1024

QUERY_PARALLEL_FACTOR

병렬 질의 실행기의 실행 스레드의 수를 지정한다.


Value
최소값1
최대값100
기본값8

RS_CACHE_APPROXIMATE_RESULT_ENABLE

결과값 캐쉬의 추측 모드(approximate result mode)를 사용할지의 여부를 결정한다. 이 값이 1이면 결과값 캐쉬를 사용할 때, 추측 값을 얻고(매우 빠르지만 데이터가 부정확할 수 있다.) 0 이면 정확한 값을 얻는다.


Value
최소값0 (False)
최대값1 (True)
기본값0 (False)

RS_CACHE_ENABLE

결과값 캐쉬를 사용할 지의 여부를 결정한다.


Value
최소값0 (False)
최대값1 (True)
기본값1 (True)

RS_CACHE_MAX_MEMORY_PER_QUERY

결과값 캐쉬가 사용할 메모리의 양을 설정한다. 특정 질의 결과의 메모리 사용량이 이 값을 초과하면, 해당 질의의 결과는 결과값 캐쉬에 저장되지 않는다.


Value
최소값1024
최대값2^64 - 1
기본값16 * 1024 * 1024

RS_CACHE_MAX_MEMORY_SIZE

결과값 캐쉬의 최대 메모리 사용량을 지정한다.


Value
최소값32 * 1024
최대값2^64 - 1
기본값512 * 1024 * 1024

RS_CACHE_MAX_RECORD_PER_QUERY

결과값 캐쉬에 저장되는 최대 레코드 갯수이다. 만약 질의의 결과 레코드의 수가 이 값 이상이면 해당 질의 결과값은 캐쉬에 저장하지 않는다.


Value
최소값1
최대값2^64 - 1
기본값10000

RS_CACHE_TIME_BOUND_MSEC

특정 질의가 매우 빠르게 실행된 경우에는 그 결과값을 결과값 캐쉬에 저장하지 않는 것이 메모리 사용량을 줄일 수 있으므로 캐쉬에 저장하지 않는것이 좋다.

이 값은 어느 정도 빨리 실행된 질의를 캐쉬에 저장하지 않을지를 결정한다. 0으로 설정된 경우에는 모든 질의결과를 결과집합캐쉬에 저장한다.


Value
최소값0 (msec)
최대값2^64 - 1 (msec)
기본값1000 (msec)

SHOW_HIDDEN_COLS

_ARRIVAL_TIME 컬럼은 기본 설정으로는 SELECT * FROM 질의에 의해서 표시되지 않는다. 그러나 이 값이 1로 설정된 경우에는 해당 컬럼을 표시한다.


Value
최소값0
최대값1
기본값0

TAGDATA_AUTO_META_INSERT

5.5 에서는 TAGDATA_AUTO_NAME_INSERT 이다. 값의 범위도 0/1 이다.
5.7 이하에서는 기본값이 1 이다.


0 : 입력이 실패한다.TAGDATA 테이블에 APPEND/INSERT 를 통해 데이터를 입력할 때, 일치하는 TAG_NAME 이 없을 경우 어떻게 처리할 것인지를 정한다.

  • 1 : 입력을 원하는 TAG_NAME 값을 입력한다. 추가 메타데이터 컬럼이 존재할 경우, 해당 컬럼의 값은 모두 NULL 로 입력된다.
  • 2 : 입력을 원하는 TAG_NAME 값과 함께, 추가 메타데이터 컬럼 값도 같이 입력한다.
    • APPEND 에서만 유효한 설정이며, INSERT 는 추가 메타데이터 컬럼 값을 입력할 수 없기 때문에 1과 같이 작동한다.
    • 이 설정을 한 이후에는, APPEND 에서 반드시 메타데이터 컬럼 값까지 포함시킨 APPEND Parameter 로 입력해야 한다.

Value
최소값0
최대값2
기본값2

TRACE_LOGFILE_COUNT

TRACE_LOGFILE_PATH에 생성되는 로그 트레이스 파일의 최대 수를 지정한다. 디스크 공간을 절약하기 위해서, 최대 갯수 이상의 로그파일이 생성되면 가장 오래된 로그파일을 삭제한다.


Value
최소값1
최대값2^32 - 1
기본값5

TRACE_LOGFILE_PATH

로그 트레이스 파일들(machbase.trc, machadmin.trc, machcollector.trc, machsql.trc)의 경로를 설정한다.
이 파일들은 마크베이스의 시작, 종료, 실행시 내부 정보를 지속적으로 기록한다. 기본값인 ?/trc의 의미는 $MACHBASE_HOME/trc 를 의미한다.


Value
기본값?/conf


TRACE_LOGFILE_PATH 값trc 디렉터리 위치
지정되지 않음$MACHBASE_HOME/trc/
?/test$MACHBASE_HOME/test/
/tmp/tmp/

TRACE_LOGFILE_SIZE

 로그 트레이스 파일의 최대 크기를 설정한다. 만약 크기 이상의 데이터를 기록하여야 한다면, 신규로 log 파일을 생성할 것이다.


Value
최소값10 * 1024 * 1024
최대값2^32 - 1
기본값10 * 1024 * 1024

UNIX_PATH

Unix domain socket 파일의 경로를 설정한다. 사용자가 설정하지 않았을 경우의 기본 값은 ?/conf/machbase-unix 이다.


Value
기본값?/conf/machbase-unix

VOLATILE_TABLESPACE_MEMORY_MAX_SIZE

시스템의 모든 volatile, lookup 테이블의 메모리 사용량 총계의 한도를 설정한다.


Value
최소값0
최대값2^64 - 1
기본값2 * 1024 * 1024 * 1024

DISK_BUFFER_COUNT

디스크 I/O를 수행하기 위한 버퍼의 수를 지정한다.


Value
최소값1
최대값2^32 - 1
기본값16

Related content