0 / 0
영어 버전 문서로 돌아가기

DataStage 의 Distributed Transaction 스테이지

마지막 업데이트 날짜: 2025년 3월 12일
DataStage 의 Distributed Transaction 스테이지

분산 트랜잭션 단계를 사용하여 여러 데이터 소스에 걸쳐 있는 트랜잭션을 실행하려면 IBM® MQ 또는 Apache Kafka에서 관리합니다. IBM Db2 for DataStage, Oracle Database for DataStage, ODBC, IBM MQ 또는 Teradata를 입력 커넥터로 사용할 수 있습니다.

개요

트랜잭션은 단일 조작으로 완료되는 일련의 조치입니다. 트랜잭션은 변경을 영구적으로 설정하는 커미트 조치로 끝납니다. 변경사항을 커미트할 수 없는 경우 트랜잭션은 모든 변경사항을 롤백합니다.

분산 트랜잭션은 하나 이상의 데이터베이스와 같은 여러 데이터 소스 및 IBM MQ 메시지 큐와 같은 트랜잭션 관리자에 걸쳐 있을 수 있는 트랜잭션입니다. 트랜잭션이 성공적으로 커미트되려면 모든 개별 데이터 소스가 성공적으로 커미트되어야 합니다. 자원을 커미트할 수 없으면 전체 트랜잭션이 롤백됩니다. 예를 들어 분산 트랜잭션은 서로 다른 데이터베이스에 있는 두 개의 은행 계좌 사이에서 금액 이체로 구성될 수 있습니다. 한 계정에서 인출하고 다른 계정으로 입금하는 작업이 성공적으로 완료된 경우에만 트랜잭션이 커미트됩니다.

Distributed Transaction 스테이지는 다음 구성요소로 구성된 처리 모델을 사용하는 X/Open 표준을 따릅니다.
  • 트랜잭션 경계를 정의하고 트랜잭션을 구성하는 조치를 지정하는 응용프로그램
  • 공유 데이터 소스에 대한 액세스를 제공하는 데이터베이스 또는 파일 시스템과 같은 자원 관리자
  • 트랜잭션에 ID를 지정하고 해당 진행 상태를 모니터하고 트랜잭션 완료 및 실패 복구를 관리하는 트랜잭션 관리자
지원되는 자원 관리자에는 IBM Db2 for DataStageOracle Database for DataStage가 포함됩니다. 지원되는 트랜잭션 관리자에는 IBM MQApache Kafka가 포함됩니다.

분산 트랜잭션 플로우에 대한 일반적인 설계의 예에서 IBM MQ 커넥터는 메시지 대기열에서 소스 메시지를 처리하고 메시지를 지속적 작업 대기열로 이동합니다. 커넥터는 데이터, 메시지 ID 및 기타 메시지 헤더 필드를 소스에서 대상 메시지로 복사합니다. 커넥터는 또한 메시지 데이터를 출력 링크로 전송합니다. 하나 이상의 스테이지가 Oracle Database for DataStage 커넥터에서 메시지 데이터 및 추가 데이터를 처리하고 처리된 데이터를 하나 이상의 링크를 통해 Distributed Transaction 스테이지로 전송합니다. 스테이지에 대한 각 입력 링크는 대상 데이터베이스에 대한 출력을 나타냅니다. 이 링크는 분산 트랜잭션의 일부로 작업 큐에서 이용되는 원래 소스 메시지의 메시지 ID를 제공합니다.

입력 탭

각 입력 링크에 대한 커넥터 등록 정보를 구성하십시오. 데이터 소스를 선택하고 연관된 연결 특성을 지정하십시오. 대상에 데이터를 쓰는 데 사용할 쓰기 메소드를 선택하고 해당 쓰기 메소드 및 대상에 필요한 특성을 지정하십시오.

스테이지 탭

트랜잭션 관리자 및 연결을 지정하십시오. 글로벌 트랜잭션 및 IBM MQ 메시징을 사용할지 여부를 선택하십시오. 메시지를 이동할 작업 큐를 지정하십시오. 실패한 단위를 거부할지 여부를 선택할 수 있습니다. 실패한 단위는 실패한 레코드를 포함하는 트랜잭션을 롤백합니다. 거부 큐를 지정하여 실패한 레코드를 저장하고 기타 거부 특성을 설정할 수 있습니다. 입력 링크를 처리할 순서를 지정할 수 있습니다. 또한 레코드가 있는 링크에 관계없이 레코드 처리 순서를 제어하도록 레코드 순서를 설정할 수도 있습니다.