기타 파라미터

다음은 기타 파라미터 정보로 각 파라미터의 타입과 설정 가능한 값의 범위는 다음과 같다.

파라미터 이름

타입

기본값

최소값

최대값

service

string

 

 

 

server

string

 

 

 

ha_mode

string

off

 

 

index_scan_in_oid_order

bool

no

 

 

single_byte_compare

bool

no

 

 

insert_execution_mode

int

1

1

7

java_stored_procedure

bool

no

 

 

pthread_scope_process

bool

yes

 

 

auto_restart_server

bool

yes

 

 

index_unfill_factor

float

0.05

0

0.5

use_orderby_sort_limit

bool

yes

 

 

session_state_timeout

int

21600(6시간)

60(1분)

31536000(1년)

multi_range_optimization_limit

int

100

0

100

access_ip_control

bool

no

 

 

access_ip_control_file

string

 

 

 

service

service는 CUBRID 서비스 시작 시 자동으로 시작하는 프로세스를 등록하는 파라미터로 server, broker, manager의 세 종류 프로세스가 있다. 일반적으로 service=server,broker,manager와 같이 세 종류 프로세스를 모두 등록한다.

server

server는 CUBRID 서비스 시작 시 자동으로 시작하는 데이터베이스 서버 프로세스를 등록하는 파라미터이다.

ha_mode

ha_mode는 CUBRID HA 기능을 설정하기 위한 파라미터이며, 기본값은 off이다.

CUBRID HA 기능을 사용하기 위해서는 ha_mode 파라미터의 설정 뿐만 아니라 cubrid_ha.conf 파일에서 HA 관련 파라미터를 설정해야 한다. 자세한 내용은 CUBRID HA를 참고한다.

index_scan_in_oid_order

index_scan_in_oid_order는 인덱스를 스캔한 후 검색 결과 데이터를 가져오는 순서를 OID 순으로 지정하기 위한 파라미터이다. 기본값인 no로 설정하면 데이터 순서대로 결과를 가져오고, yes로 설정하면 OID 순서대로 결과를 가져온다.

single_byte_compare

single_byte_compare은 문자열 비교(string compare)를 1바이트 단위로 수행하기 위한 파라미터이다. 기본값인 no로 설정하면 2바이트 단위로 문자열 비교를 수행한다. yes로 설정하면 1바이트 단위로 문자열 비교를 수행하므로 유니코드(UTF-8) 환경에서 저장된 데이터에 대해 정상적으로 문자열 비교/검색을 수행할 수 있다.

insert_execution_mode

insert_execution_modeINSERT가 서버 측에서 바로 수행되도록 하는 파라미터로서, 최소값은 1, 최대값은 31이다. 일반적으로 질의는 클라이언트에서 수행되고, 커밋 후에 서버에 반영된다. 그러나 insert_execution_mode 파라미터를 설정하면, 설정된 실행 모드에 해당하는 INSERT 문은 서버 측에서 바로 수행되고, 나머지 실행 모드에 해당하는 INSERT 문은 클라이언트에서 수행된다. 이는 INSERT한 데이터의 더티 읽기(dirty read)가 요구되는 환경 또는 클라이언트 메모리 용량이 제한적인 환경에서 서버 측 INSERT 문을 수행하기 위해 설정할 수 있다.

지원되는 INSERT 문의 실행 모드는 5가지이며, 각 실행 모드에 대응하는 정수 값의 조합을 통해 파라미터를 설정할 수 있다.

위의 각 실행 모드에 대응되는 정수 값의 합계를 파라미터 값으로 설정하여, 서버 측에서 바로 수행될 INSERT 문의 종류를 지정할 수 있다.

java_stored_procedure

java_stored_procedure는 Java 가상 머신(Java Virtual Machine, JVM)을 실행하여 Java 저장 프로시저(Java stored procedure)를 사용하게 하기 위한 파라미터이다. 기본값인 no로 설정하며 JVM이 실행되지 않고, yes로 설정하면 JVM이 실행되어 Java 저장 프로시저(Java stored procedure)를 사용할 수 있다. 따라서, Java 저장 프로시저를 사용할 계획이 있는 경우에는 파라미터를 yes로 설정해야 한다.

pthread_scope_process

pthread_scope_process는 스레드의 경쟁 범위를 설정하는 파라미터로 AIX 시스템에서만 적용된다. no로 설정하면 경쟁 범위가 PTHREAD_SCOPE_SYSTEM이 되고, yes로 설정하면 PTHREAD_SCOPE_PROCESS가 된다. 기본값은 yes이다.

auto_restart_server

auto_restart_server는 데이터베이스 서버 프로세스에 심각한 오류가 발생해서 프로세스가 중단될 경우에 자동으로 재시작할 것인가를 지정하는 파라미터이다. auto_restart_server를 yes로 설정하면 서버 프로세스는 정상적인 종료 절차(CUBRID 서버의 STOP 명령)가 아닌 잘못 중단된 경우에 자동으로 재시작한다.

index_unfill_factor

최초 인덱스 생성 후 INSERTUPDATE를 실행할 때 인덱스 페이지가 꽉 차서 여유 공간이 없으면 인덱스 페이지 노드의 분할(split)이 발생하게 되는데, 이는 오퍼레이션 시간을 증가시켜 성능에 영향을 미친다. index_unfill_factor는 인덱스를 생성할 때 각 인덱스 페이지 노드의 여유 공간을 확보하는 비율을 지정하는 파라미터이다. index_unfill_factor 설정값은 인덱스를 처음 생성할 때만 적용되며, 페이지에 지정된 빈 공간의 비율을 동적으로 유지하지 않는다. 값의 범위는 0부터 0.5까지이고 기본값은 0.05이다.

인덱스를 생성할 때 인덱스의 페이지 노드에 여유 공간이 없이(index_unfill_factor=0) 생성한다면, 추가로 삽입할 때마다 매번 인덱스 페이지 노드의 분할이 발생하여 성능에 영향을 끼치게 된다.

index_unfill_factor 값이 크면 인덱스 생성 시 노드 여유 공간을 많이 확보한다. 따라서 최초 인덱스 생성 후 노드 여유 공간이 꽉 찰 때까지 상대적으로 긴 시간 동안 인덱스 노드의 분할이 발생하지 않으므로, 상대적으로 성능이 나을 수 있다.

이 값이 작으면 인덱스 생성 시 노드 여유 공간이 작기 때문에, 인덱스 노드의 여유 공간이 금방 꽉 차게 될 가능성이 높으므로, 상대적으로 INSERTUPDATE에 의한 인덱스 노드 분할의 발생 가능성이 높다.

use_orderby_sort_limit

use_orderby_sort_limitORDER BY … LIMIT row_count 절을 포함하는 구문에서 질의의 정렬 및 합병(sort and merge) 과정의 중간 결과를 row_count만큼만 유지할 것인지를 지정하는 파라미터이다. yes이면 중간 정렬 결과를 row_count만큼만 유지하기 때문에 불필요한 비교 및 합병 과정을 줄일 수 있다. 기본값은 yes이다.

session_state_timeout

session_state_timeout은 CUBRID 세션 데이터가 유지되는 시간을 정의하는 파라미터이다. 세션 데이터는 드라이버가 연결을 종료하거나 세션 기간이 만료될(expired) 때 삭제된다. 세션 기간은 클라이언트가 session_state_timeout에 의해 지정한 시간 동안 요청이 없으면 만료된다.

기본값은 21600(6시간)이고, 단위는 초이다.

multi_range_optimization_limit

multi_range_optimization_limit은 다중 범위(col IN (?, ?, …,?))의 조건을 가지며 인덱스 사용이 가능한 질의에서, LIMIT 절이 지정하는 행의 개수가 이 파라미터가 지정하는 숫자 이내이면 인덱스 정렬 방식에 대한 최적화를 수행한다. 기본값은 100이다.

예를 들어, 이 파라미터의 값이 50일 때 LIMIT 10이면 이 파라미터가 지정한 값 이내이므로 각 조건에 해당하는 범위의 값을 정렬하면서 결과를 생성한다. LIMIT 60이면 파라미터 설정값을 초과하므로 각 조건에 해당하는 범위의 값을 모두 가져온 후 정렬한다.

이 값의 설정에 따라 중간 값의 정렬을 진행하면서(on-the-fly) 결과를 수집하느냐, 결과 값을 먼저 수집한 후 정렬하느냐의 차이가 발생하므로, 이 값이 너무 크면 오히려 성능에 불리할 수 있다.

access_ip_control

access_ip_control은 서버 접속을 허용하는 IP를 제한하는 기능을 지정하는 파라미터이다. 기본값은 no이다. 자세한 내용은 데이터베이스 서버 접속 제한을 참고한다.

access_ip_control_file

access_ip_control_fileaccess_ip_control 값이 yes인 경우 서버가 허용하는 IP 목록을 저장한 파일 이름을 지정하는 파라미터이다. 기본값은 no이다. 자세한 내용은 데이터베이스 서버 접속 제한을 참고한다.