파라미터

본 장에서는 ProSort를 실행하는 데 필요한 파라미터를 설명한다. 변경된 파라미터는 종류에 따라 정적 혹은 동적으로 시스템에 반영된다.

1. 성능 관련 파라미터

다음은 ProSort의 성능과 관련 있는 파라미터에 대한 설명이다.

성능을 최대화하기 위한 이론적인 추천값을 기술한다. 하지만 파라미터 값을 다양하게 바꿔 가면서 ProSort를 수행해 보는 것이 최적의 파라미터 값을 찾는 유일한 방법이다.

파라미터 설명

SORT_THREAD_COUNT

연산 수행에 사용되는 스레드의 개수를 설정한다. (기본값 : 2)

SORT_READ_BLK_SIZE

SORT 연산을 수행할 때 설정한 블록 크기만큼 입력 파일을 한꺼번에 읽는다. (기본값: 4MB)

SORT_WRITE_BLK_SIZE

SORT 연산을 수행할 때 설정한 블록 크기만큼 출력 파일을 한꺼번에 기록한다. (기본값: 4MB)

USE_SYSTEM_QUICK_SORT

C 표준 라이브러리의 qsort 함수 사용 여부를 설정한다. (기본값: N)

USE_AIO_READ

비동기 입력의 사용 여부를 설정한다. (기본값: Y)

USE_AIO_WRITE

비동기 출력의 사용 여부를 설정한다. (기본값: Y)

MERGE_READ_BLK_SIZE

MERGE 연산을 수행하는 경우 설정한 블록 크기만큼 입력 파일들을 한꺼번에 읽는다. (기본값: 2MB)

MAXIMIZE_MEM_RUN_SIZE

입력 파일을 최대한 메모리에 읽어들여 처리할지 여부를 설정한다. (기본값: Y)

USE_SYSTEM_MALLOC

C 표준 라이브러리의 malloc 함수 사용 여부를 설정한다. (기본값: N)

MEMORY

입력 파일 크기가 MEMORY 파라미터 값보다 작으면 1-pass 정렬을 수행하고, 그렇지 않으면 2-pass 정렬을 수행한다.

(기본값: 0, 0은 (메모리 용량) * 0.1 을 의미한다.)

USE_STRICT_MEMORY

MEMORY 파라미터 값에 따라 메모리 사용량 제한 여부를 설정한다. (기본값: N)

USE_ALTERNATIVE_TP_TYPE

TP 데이터 타입의 경우 양수를 표현하는 방식을 설정한다.

SUM_OVERFLOW_OPTION

합계 필드(Summary field)에서 오버플로우가 발생했을 때 수행할 동작을 설정한다.

USE_BI_KEY_CONV

정렬 대상의 데이터 타입이 BI인 경우 변환 함수를 사용할지 여부를 설정한다.

USE_CH_EBCDIC

정렬 대상의 데이터 타입이 CH인 경우 EBCDIC과 ASCII 중에 어떤 문자 세트를 사용할지를 설정한다.

USE_BI_EBCDIC

정렬 대상의 데이터 타입이 BI인 경우 EBCDIC과 ASCII 중에 어떤 문자 세트를 사용할지를 설정한다.

USE_AQ_EBCDIC

정렬 대상의 데이터 타입이 AQ인 경우 기본적인 정렬 순서(base sequence)를 설정한다.

EBCDIC_CODEPAGE

EBCDIC 정렬 시 어떤 코드 페이지를 사용할지를 설정한다.

USE_OF_CONVERSION_RULE

OpenFrame의 EBCDIC 변환 규칙을 사용할지 여부를 설정한다. (기본값 : N)

OF_CPM

OpenFrame의 EBCDIC 변환 규칙 사용 시 어떤 CPM을 사용할지를 설정한다.

1.1. SORT_THREAD_COUNT

정렬에 사용하는 스레드의 개수를 설정하는 파라미터이다. 값은 크게 설정할수록 성능이 향상되지만, CPU 프로세서 개수를 넘지 않도록 설정한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    Integer

    기본값

    2

    범위

    0 ~ 255

  • 예제

    다음은 0으로 설정한 경우 스레드를 사용하지 않는다는 의미이다.

    SORT_THREAD_COUNT=0

1.2. SORT_READ_BLK_SIZE

정렬할 때 파일을 읽는 데 사용할 블록의 크기를 설정하는 파라미터이다.

설정 값은 운영체제의 블록 크기의 배수이어야 한다. 설정 값은 성능 에 큰 영향을 주지 않으나, 너무 작거나 크게 설정하면 성능 저하되므 로 기본값 사용을 권장한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    Integer

    기본값

    4194304

    범위

    64K ~ 512M

1.3. SORT_WRITE_BLK_SIZE

정렬을 수행한 결과를 파일에 기록할 때 사용할 블록의 크기를 설정하는 파라미터이다.

설정 값은 운영체제의 블록 크기의 배수이어야 한다. 설정 값은 성능에 큰 영향을 주지 않으나, 너무 작거나 크게 설정하면 성능 저하되므로 기본값 사용을 권장한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    Integer

    기본값

    4194304

    범위

    64K ~ 512M

1.4. USE_SYSTEM_QUICK_SORT

운영체제가 지원하는 qsort 함수를 사용할 것인지를 설정하는 파라미터이다.

일반적으로 qsort 함수보다 ProSort에 내장된 정렬 함수가 성능이 향상되지만, 기본값 사용을 권장한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 예제

    다음은 ProSort에 내장된 정렬 함수 대신 운영체제가 지원하는 qsort 함수를 사용하는 설정이다.

    USE_SYSTEM_QUICK_SORT=Y

1.5. USE_AIO_READ

파일을 읽을 때 Asynchronous I/O(비동기 입출력)을 사용할 것인지를 설정하는 파라미터이다. 단, Asynchronous I/O를 지원하는 운영체제에서만 사용할 수 있다.

비동기 입출력을 지원하는 운영체제에서는 Y로 설정하는 것이 성능이 향상되지만, 비동기 입출력을 지원하지 않는 운영체제에서는 N으로 설정해야 한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    Y

    범위

    Y | N

1.6. USE_AIO_WRITE

연산 결과를 파일에 기록할 때 Asynchronous I/O를 사용할 것인지를 설정하는 파라미터이다. 단, Asynchronous I/O를 지원하는 운영체제에서만 사용할 수 있다.

비동기 입출력을 지원하는 운영체제에서는 Y로 설정하는 것이 성능이 향상되지만, 비동기 입출력을 지원하지 않는 운영체제에서는 N으로 설정해야 한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    Y

    범위

    Y | N

1.7. MERGE_READ_BLK_SIZE

병합할 때 파일을 읽는 데 사용할 블록의 최대 크기를 설정하는 파라미터이다. 외부 정렬을 할 때 내부적으로 병합을 수행하므로, 해당 파라미터에 설정된 값의 영향을 받는다.

설정 값은 운영체제의 블록 크기의 배수여야 한다. 값은 크게 설정할수록 성능이 향상되지만, (메모리 용량) / (입력 파일 개수) 보다 크게 설정하면 성능 저하된다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    Integer

    기본값

    2097152

    범위

    64K ~ 512M

1.8. MAXIMIZE_MEM_RUN_SIZE

메모리에서 처리할 수 있는 입력 파일의 크기를 최대화할 것인지를 설정하는 파라미터이다. 일반적으로 Y로 설정하는 것이 성능이 향상되므로, 기본값 사용을 권장한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    Y

    범위

    Y | N

  • 예제

    다음은 메모리에서 처리할 수 있는 입력 파일의 크기를 최대화한다는 의미이다.

    MAXIMIZE_MEM_RUN_SIZE=Y

1.9. USE_SYSTEM_MALLOC

운영체제가 지원하는 malloc 함수를 사용할 것인지를 설정하는 파라미터이다. 일반적으로 malloc 함수보다 ProSort에 내장된 메모리 할당 함수가 성능이 향상되므로, 기본값 사용을 권장한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 예제

    다음은 ProSort에 내장된 메모리 할당 및 해제 함수 대신 운영체제가 지원하는 malloc 함수를 사용하는 설정이다.

    USE_SYSTEM_MALLOC=Y

1.10. MEMORY

정렬에 사용할 메모리의 크기를 설정하는 파라미터이다. 해당 파라미터를 설정하지 않을 경우에는 스크립트 파일에 설정된 값을 사용하게 된다.

입력 파일 크기가 MEMORY 파라미터 값보다 작으면 1-pass 정렬을 수행하고, 그렇지 않으면 2-pass 정렬을 수행한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    Integer

    기본값

    0 (0은 (메모리 용량) * 0.1 을 의미한다.)

    범위

    0 ~ 1125899906842624

1.11. USE_STRICT_MEMORY

MEMORY 파라미터에 설정된 값을 어떻게 사용할지를 결정하는 파라미터이다. 이 파라미터에 설정된 값에 따라 MEMORY 파라미터의 값을 물리적인 메모리의 사용량을 제한하는 용도로 사용하거나 또는 정렬 방식을 선택하는 용도로만 사용한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 설정값

    성능과는 무관하나 설정 값의 특성에 따라 지정한다.

    설정값 설명

    Y

    MEMORY 파라미터의 값에 따라 메모리 사용량이 제한된다.

    N

    MEMORY 파라미터 값은 단지 정렬 방식을 선택하는 용도로만 사용된다. (기본값)

  • 예제

    다음은 물리적인 메모리의 사용량을 제한하도록 설정하는 예이다.

    USE_STRICT_MEMORY=Y

    다음은 정렬 방식을 선택하도록 설정하는 예이다.

    USE_STRICT_MEMORY=N

1.12. USE_ALTERNATIVE_TP_TYPE

TP 데이터 타입의 경우 양수를 표현하는 2가지 방식이 있다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 설정값

    • 방식1

      해당 파라미터의 값이 N으로 설정된 경우 방식 1로 TP 데이터 타입을 표현한다.

      '{', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'
    • 방식2

      해당 파라미터의 값이 Y로 설정된 경우 방식 2로 TP 데이터 타입을 표현한다. ZD 포맷 코드도 방식 2와 같이 표현한다.

      '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'

1.13. SUM_OVERFLOW_OPTION

합계 필드(Summary field)에서 오버플로우가 발생했을 때 수행할 동작을 설정하는 파라미터이다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    RC4

    범위

    RC0 | RC4 | RC16

  • 예제

    다음은 RC0로 설정된 예이다. 오버플로우가 발생했을 때 반환값을 0으로 설정하고 합계 연산을 계속한다. 단, 오버플로우를 발생시킨 레코드는 합계 연산에 제외된 상태로 남아 있는다.

    SUM_OVERFLOW_OPTION=RC0

    다음은 RC4로 설정된 예이다. 오버플로우가 발생했을 때 반환값을 4로 설정하고 합계 연산을 계속한다. 단, 오버플로우를 발생시킨 레코드는 합계 연산에 제외된 상태로 남아 있는다.

    SUM_OVERFLOW_OPTION=RC4

    다음은 RC16으로 설정된 예이다. 오버플로우가 발생했을 때 합계 연산을 중단하고, 16을 반환한다.

    SUM_OVERFLOW_OPTION=RC16

1.14. USE_BI_KEY_CONV

정렬 대상의 데이터 타입이 BI인 경우 변환 함수를 사용할지를 설정하는 파라미터이다. 단, BI 타입과 관련된 문제가 발생한 경우에만 사용할 것을 권장한다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

1.15. USE_CH_EBCDIC

정렬 대상의 데이터 타입이 CH인 경우, EBCDIC과 ASCII를 사용할 수 있는데, 둘 중에 어떤 문자 세트를 사용할지를 설정하는 파라미터이다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 예제

    다음은 EBCDIC을 사용하도록 설정하는 예이다.

    USE_CH_EBCDIC=Y

    다음은 ASCII를 사용하도록 설정하는 예이다.

    USE_CH_EBCDIC=N

1.16. USE_BI_EBCDIC

정렬 대상의 데이터 타입이 BI인 경우, EBCDIC과 ASCII를 사용할 수 있는데, 둘 중에 어떤 문자 세트를 사용할지를 설정하는 파라미터이다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 예제

    다음은 EBCDIC을 사용하도록 설정하는 예이다.

    USE_BI_EBCDIC=Y

    다음은 ASCII를 사용하도록 설정하는 예이다.

    USE_BI_EBCDIC=N

1.17. USE_AQ_EBCDIC

정렬 대상의 데이터 타입이 AQ인 경우, 기본적인 정렬 순서(base sequence)를 설정하는 파라미터이다. EBCDIC이나 ASCII를 지정할 수 있다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 예제

    다음은 EBCDIC을 사용하도록 설정하는 예이다.

    USE_AQ_EBCDIC=Y

    다음은 ASCII를 사용하도록 설정하는 예이다.

    USE_AQ_EBCDIC=N

1.18. EBCDIC_CODEPAGE

EBCDIC 정렬 시 어떤 코드 페이지를 사용할지를 설정하는 파라미터이다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    CP500

    범위

    EBCDIK | CP500 | CP298

  • 예제

    다음은 EBCDIC 정렬할 때 코드 페이지 298을 사용하도록 설정하는 예이다.

    EBCDIC_CODEPAGE=CP298

1.19. USE_OF_CONVERSION_RULE

OpenFrame의 EBCDIC 변환 규칙을 사용할지 여부를 설정하는 파라미터이다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 예제

    다음은 OpenFrame의 EBCDIC 변환 규칙을 사용하도록 설정하는 예이다.

    USE_OF_CONVERSION_RULE=Y

1.20. OF_CPM

OpenFrame의 EBCDIC 변환 규칙을 사용 시 어떤 CPM을 사용할지를 설정하는 파라미터이다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    ASCEBCUS

    범위

    OpenFrame CPM

  • 예제

    다음은 OpenFrame CPM을 설정하는 예이다.

    OF_CPM=ASCEBCUS

2. 기타 파라미터

다음은 기타 파라미터에 대한 설명이다.

파라미터 설명

USE_DEFAULT_EQUALS

스크립트에 EQUALS 옵션이 지정되어 있지 않아도 SORT 연산에서 stable sort를 수행하도록 설정한다. (기본값: N)

CHECK_DATA_VALIDATION

데이터 타입에 따른 타당성 검사를 수행할지 여부를 설정한다. (기본값: N)

USE_DEFAULT_LASTDUP_IN_SUM

SUM 연산 수행 시 스크립트에 LASTDUP 옵션이 지정되어 있지 않아도 LASTDUP이 지정된 것과 같이 동작하게 한다. (기본값: N)

SPARM_DATE

DATE 관련 옵션을 사용할 때 시스템 날짜 대신 사용할 날짜를 설정한다.

2.1. USE_DEFAULT_EQUALS

스크립트에 EQUALS 옵션이 지정돼 있지 않아도 SORT 연산에서 stable sort를 수행하도록 설정하는 파라미터이다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 설정값

    설정값 설명

    Y

    stable sort를 수행한다.

    N

    stable sort를 수행하지 않는다. (기본값)

2.2. CHECK_DATA_VALIDATION

데이터 타입에 따른 타당성 검사를 수행할지 여부를 설정하는 파라미터이다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 설정값

    설정값 설명

    Y

    데이터 타입에 따른 타당성 검사를 수행한다. 타당하지 않을 경우 에러를 발생시킨다.

    N

    데이터 타입의 타당성 검사를 하지 않는다. (기본값)

2.3. USE_DEFAULT_LASTDUP_IN_SUM

SUM 연산 수행 시 스크립트에 LASTDUP 옵션이 지정되어 있지 않아도 LASTDUP이 지정된 것과 같이 동작하게 하는 파라미터이다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    String

    기본값

    N

    범위

    Y | N

  • 설정값

    설정값 설명

    Y

    SUM 연산 수행 시 암묵적으로 LASTDUP을 수행한다.

    N

    SUM 연산 수행 시 암묵적으로 LASTDUP을 수행하지 않는다. (기본값)

2.4. SPARM_DATE

DATE 관련 옵션을 사용할 때 시스템 날짜 대신 사용할 날짜를 설정하는 파라미터이다.

  • 파라미터 형식

    속성 설명

    파라미터 타입

    Integer

    기본값

    0

    범위

    0 ~ 99991231

    비고

    작성 형식은 YYYYMMDD이다.

    SPARM_DATE 파라미터를 명시하지 않거나 0 또는 00000000으로 설정한 경우 시스템 날짜를 사용한다.