Message Queue 버전 3.7 UR1에는 성능을 향상시킬 수 있는, 영구 저장소 형식에 대한 두 가지 변경 사항이 도입되었습니다. 하나는 파일 저장소에 대한 변경 사항이며 다른 하나는 JDBC 저장소에 대한 변경 사항입니다.
파일 저장소에 저장되는 트랜잭션 데이터의 형식
Message Queue의 파일 기반 영구 저장소에 저장되는 트랜잭션 상태 정보 형식이 변경되어 디스크 입출력이 줄었으며 JMS 트랜잭션의 성능이 향상되었습니다.
Oracle JDBC 저장소
이전 버전의 Message Queue에서 Oracle용 저장소 스키마는 LONG RAW 데이터 유형을 사용하여 메시지 데이터를 저장했습니다. Oracle 8에서는 BLOB 데이터 유형을 도입했으며 LONG RAW 유형은 더 이상 사용하지 않습니다. Message Queue 3.7 UR1에서는 성능 및 지원 가능성 향상을 위해 BLOB 데이터 유형으로 전환했습니다.
이러한 변경 사항은 저장소 호환성에 영향을 주기 때문에 Message Queue 버전 3.7 UR1에서 파일 저장소 및 JDBC 저장소의 버전이 모두 350에서 370으로 변경되었습니다.
Message Queue 버전 4.0에서는 JDBC 저장소를 최적화하고 향후 향상된 기능을 지원할 수 있는 변경 내용이 도입되었습니다. 이러한 이유로 JDBC 저장소 버전이 400으로 업그레이드되었습니다. 버전 4.0에서는 파일 기반의 영구 저장소 버전이 변경되지 않고 370으로 유지됩니다.
Message Queue 4.0은 파일 기반 영구 저장소 및 JDBC 영구 저장소를 최신 버전으로 자동으로 변환할 수 있도록 지원합니다. 처음 imqbrokerd가 시작될 때 유틸리티에서 이전 저장소를 감지하면 이전 저장소를 그대로 두고 새 형식의 저장소로 마이그레이션합니다.
파일 기반의 저장소 버전 200 및 350은 370 버전 형식으로 마이그레이션됩니다.
JDBC 저장소 버전 350 및 370은 400 버전 형식으로 마이그레이션됩니다. (200 저장소를 업그레이드해야 하는 경우에는 먼저 중간에 있는 3.5 또는 3.6 릴리스 단계를 밟아야 합니다.)
이 업그레이드를 롤백해야 하는 경우 Message Queue 4.0 설치를 제거한 다음 이전에 실행 중이던 버전을 다시 설치할 수 있습니다. 이전 저장소의 복사본이 그대로 유지되므로 브로커는 이전 저장소 복사본을 실행할 수 있습니다.