시나리오: 프로덕션 환경에서 pureQuery 클라이언트 최적화로 사용되는 SQL 정보 갱신

이 시나리오에서는, 애플리케이션 서버(AS)를 다시 시작하지 않고도 프로덕션 환경의 pureQuery 클라이언트 최적화로 사용되는 pureQueryXML 파일의 SQL 정보를 갱신할 수 있습니다.
프로덕션 환경에서 pureQuery 클라이언트 최적화로 사용되는 SQL문을 캡처하는 것은 권장하지 않습니다. SQL문을 캡처하는 동안 성능이 저하될 수 있으며 캡처하기 위해 애플리케이션을 중지해야 할 수도 있습니다. 하지만 애플리케이션이 프로덕션 환경에서 발행하는 SQL문을 갱신해야 합니다. 다음과 같은 상황에서는 프로덕션 환경에서 새 SQL문을 캡처해야 합니다.
  • SQL문을 캡처할 테스트 환경을 pureQuery Runtime과 함께 설정할 수 없습니다.
  • 갱신이 유지보수 변경으로 수행되며 유지보수 그룹에 테스트 환경의 애플리케이션을 분리할 자원이 없습니다.

프로덕션 환경의 SQL문 캡처를 지원하려면 pureQuery 사용 애플리케이션이나 데이터베이스의 저장소와 별도의 파일 시스템에 pureQuery 구성 정보를 저장하기 위해 pureQuery 클라이언트 최적화를 사용하는 애플리케이션을 구성할 수 있습니다. pureQuery Runtime은 SQL 데이터를 계속해서 캡처한 후 지정된 위치에 캡처한 SQL을 저장합니다. 데이터베이스 관리자는 이 위치에서 캡처한 SQL 데이터를 추출하고 pureQuery Merge, Configure 및 StaticBinder 유틸리티를 사용하여 애플리케이션을 다시 시작하지 않고도 트랜잭션 데이터베이스에서 SQL을 정적으로 실행하도록 갱신합니다.

다음 그림은 프로덕션 WebSphere® Application Server 환경의 연속 프로세스 표시를 보여줍니다.

그림 1. 프로덕션 환경의 pureQuery 클라이언트 최적화와 연속 프로세스
프로덕션 환경의 pureQuery
클라이언트 최적화와 연속 유지보수

그림에서, 각 애플리케이션 인스턴스는 pureQuery 클라이언트 최적화로 사용되며 SQL문을 정적으로 실행 중입니다. 각 애플리케이션은 트랜잭션 데이터베이스와 별도의 데이터베이스에 있는 저장소를 사용하여 pureQuery 특성와 pureQueryXML 데이터를 검색하고 있습니다. 저장소에는 pureQuery Runtime에 캡처된 SQL 데이터도 저장됩니다. 스크립트는 캡처한 SQL 데이터 및 pureQuery Runtime에 사용되는 pureQueryXML 데이터를 추출하고, 캡처한 SQL을 pureQueryXML 데이터와 병합하고, SQL을 정적으로 실행하도록 DB2® 패키지를 갱신하며, pureQueryXML 데이터를 저장소에 저장합니다. pureQuery 정보 및 DB2 패키지를 갱신할 때 애플리케이션 인스턴스를 다시 시작할 필요가 없으며 데이터베이스 관리자는 스크립트를 실행할 시기를 제어할 수 있습니다.

예를 들어, pureQuery 클라이언트 최적화에 사용 가능한 기존 프로덕션 웹 애플리케이션을 발행하는 SQL문에 영향을 주는 변경사항으로 갱신한다고 가정하십시오. pureQuery 클라이언트 최적화를 캡처 모드에서 실행하도록 구성하면 애플리케이션은 pureQueryXML 파일에 있는 SQL문을 정적으로 실행합니다. 이와 동시에, 애플리케이션 새 SQL문은 동적으로 실행되고, pureQuery Runtime에 캡처되며, 저장소에 저장됩니다. 갱신된 애플리케이션에서 캡처된 SQL 데이터에는 실행 계수 및 마지막 사용 날짜 같은 통계와 메타데이터, 새 스택 추적, 특수 레지스터 정보 및 일괄처리에 대한 정보가 포함됩니다(정보가 변경되는 경우).

pureQuery Merge 유틸리티는 캡처한 새 SQL 데이터를 처리해서 pureQuery Runtime에 사용되는 pureQueryXML 파일의 기존 명령문에 이를 적용할 수 있습니다. Merge 유틸리티는 장기간 실행되지 않은 명령문을 제거할 수도 있습니다.

데이터베이스 관리자는 저장소에서 캡처한 SQL 데이터를 추출하고, Merge 유틸리티를 실행하여 pureQuery Runtime에 웹 애플리케이션과 사용되는 pureQueryXML 파일과 데이터를 병합하고, 구성 및 바인드한 후 갱신한 pureQueryXML 파일을 저장소로 업로드할 수 있습니다.

주: 그림에서는, pureQuery Runtime에 사용된 pureQueryXML 파일 및 pureQuery Runtime에 캡처된 SQL 데이터가 동일한 저장소에 있습니다. pureQueryXML 및 pureQuery Runtime 특성와 별도의 저장소에 캡처한 SQL을 저장하도록 pureQuery Runtime을 구성할 수 있습니다.

피드백