pureQuery Runtime으로,
pureQuery 클라이언트 최적화에 사용 가능한 애플리케이션이 DB2®
데이터베이스에서 SQL문을 정적으로 실행할 때 패키지 콜렉션 및 패키지 버전을
사용하여 DB2 패키지를 관리할 수 있습니다.
pureQuery 클라이언트 최적화 프로세스에서 바인드 단계는
데이터베이스 서버에 DB2 패키지를
작성합니다. DB2 패키지는
애플리케이션의 정적 실행에 필요한 SQL 정보를 DB2
서버에 저장합니다. DB2
데이터베이스에 있는 하나 이상의 패키지 세트에는 애플리케이션에서 실행되는 SQL문이
포함되어 있습니다.
pureQuery Runtime은 pureQuery 클라이언트 최적화에 사용 가능한 애플리케이션에
사용되는 pureQueryXML 파일의 SQL문에 패키지를
맵핑합니다. 바인드 프로세스는 다음 태스크도 수행합니다.
- 보안 요구사항 판별
- 데이터베이스 오브젝트의 존재 검증
- 액세스 경로 선택, 인덱스 사용 및 테이블을 결합해야 하는 순서
판별
- 쿼리 다시 쓰기가 필요한지 여부 판별
- 작업 파일이 필요한지 여부 판별
- 병렬 처리를 사용할 수 있는지 여부 평가
Configure 유틸리티
옵션과 BIND 옵션을 적절히 설정하고
pureQueryXML 파일을 적절히 일치시켜서 탄력적인 구현을 구현할 수
있습니다. 여러 다른 용도로 사용되는 많은 정적 애플리케이션이
단일 환경에 공존할 수 있습니다. 예를 들어, 다음과
같습니다.
- 규정되지 않은 테이블 이름을 사용하는 단일 애플리케이션이 동일한 시스템
내에서 다른 테이블 세트에 대해 실행될 수 있습니다.
- 여러 애플리케이션 인스턴스가 동시에 여러 다른 테이블 세트에 대해
실행될 수 있습니다.
- 프로덕션 애플리케이션의 여러 버전이 패키지 이름이 같지만 패키지 버전은
다른 동일한 테이블에 대해 실행될 수
있습니다.
중요사항: 애플리케이션 SQL문이
세 파트로 된 테이블 이름을 사용하여 여러 위치를 참조하는 경우에는 모든 참조
위치에서 패키지를 바인드해야 합니다.
패키지 콜렉션
패키지 세트라고 하는 패키지의
콜렉션을 DB2 데이터베이스에
작성할 수 있습니다. pureQuery Configure
유틸리티를 -collection 옵션과 함께 사용하여 SQL문의 콜렉션
이름을 pureQueryXML 파일에 지정할 수 있습니다. 그런 다음
구성된 pureQueryXML 파일에서 pureQuery StaticBinder 유틸리티를
실행합니다. pureQueryXML 파일의 SQL문을
여러 콜렉션에 바인드하려면 StaticBinder 유틸리티를 -bindOptions "COLLECTION(collection-name)"
옵션과 함께 호출할 수 있습니다.
패키지 버전
pureQuery 클라이언트 최적화 프로세스의
바인드 단계 중 기본 바인드 조치는 기존 패키지를 대체하는
것입니다. 새 패키지는
동일한 세 가지 패키지 ID인 위치, 콜렉션 ID 및 패키지 이름으로
바인드됩니다.
BIND 조작 중 패키지는
동일한 위치, 콜렉션 ID 및 패키지 이름과 함께 대상 서버 위치에 존재하며
이전 패키지는 제거됩니다. 새로 업데이트된 일관성 토큰이 있는
새 패키지만 존재합니다. 이 조치가 발생하고 나면
다른 일관성 토큰이 있는 이전 버전의 애플리케이션(pureQuery 클라이언트 최적화의 경우
이전 버전의 pureQueryXML 파일을 의미함)을 실행할 수 없습니다.
각 버전에
대한 논리를 제공하는 애플리케이션 없이 한 시스템에 동시에 여러 버전이
존재하도록 하려면 Configure 유틸리티를 실행할 때 -pkgVersion 옵션을
사용할 수 있습니다. -pkgVersion 옵션을 지정하면
파일 이름에 버전 태그가 추가된 pureQueryXML 파일의 사본이
작성됩니다. Configure가 -pkgVersion
옵션과 함께 호출될 때마다 새 일관성 토큰이 생성되고 파일의 사본이 이 일관성 토큰과 함께
저장됩니다.
주: 애플리케이션이나 pureQuery Runtime은
일치하는 패키지를 찾기 위해 버전 문자열 정보를 사용하지
않습니다. 버전 정보는 서버의 패키지 수를 관리하고
애플리케이션의 여러 일관성 토큰을 허용하는 데에만
사용됩니다.
런타임에 패키지의
여러 버전을 사용할 때에는 별도의 pureQueryXML 파일을 유지하여 여러 다른
패키지 버전을 호출해야 합니다. pureQuery 클라이언트 최적화에 사용 가능한 애플리케이션이 올바른 pureQueryXML 파일을 사용하여 데이터베이스
서버에서 올바른 패키지 버전을 실행 중인지 확인해야 합니다.