DataStage 병렬 잡 아키텍처

ibm-datastage 병렬 잡(Parallel Job)의 구조적 특성 — 스테이지·링크 기반 그래프 모델, 파이프라인 병렬 실행, 스테이지 카테고리 체계.

설명

DataStage 병렬 잡은 **스테이지(Stage)와 링크(Link)**로 구성된 유향 그래프다.

  • 스테이지: 특정 처리(DB 접근, 데이터 변환, 파일 읽기 등)를 담당하는 처리 단위. 대부분의 스테이지는 1개 이상의 입력·출력 링크를 가지며, 일부는 복수 입력·출력 지원.
  • 링크(Link): 스테이지 간 데이터 흐름을 정의. 3가지 유형: stream(데이터 흐름), reference(참조), lookup.

병렬 실행 모델 (파이프라인 병렬성)

DataStage 병렬 잡의 핵심 성능 원천: 여러 스테이지가 동시에 실행된다. 각 스테이지는 이전 스테이지의 처리 완료를 기다리지 않고 출력 데이터를 읽어 처리한다. 마치 공장 생산 라인처럼 각 스테이지가 자신의 데이터를 처리하면서 다음 스테이지로 동시에 전달한다.

이 파이프라인 병렬성이 DataStage가 대용량 데이터를 고속으로 처리할 수 있는 근본 이유다. 병렬 엔진 설정 파일(configuration file)을 통해 처리·저장·정렬 자원을 시스템에서 어떻게 배분할지 별도로 지정한다.

스테이지 카테고리 체계 (7개)

카테고리주요 스테이지용도 요약
ProcessingTransformer, Aggregator, Join, Lookup, Sort, Filter, Funnel, Merge, Switch, Surrogate Key Generator, Slowly Changing Dimension핵심 데이터 변환·집계·라우팅
FileSequential File, Data Set, File Set, Complex Flat File파일 기반 입출력
DatabaseOracle Enterprise, DB2/UDB Enterprise, ODBC Enterprise, Teradata, SQLServer Enterprise, Stored ProcedureDB 연결·작업
Data QualityInvestigate, Standardize, Unduplicate Match, MNS, WAVES데이터 품질·정제
RestructureColumn Export, Column Import, Combine Records, Promote Subrecord, Make Subrecord, Split Vector레코드 구조 재편
Real TimeXML Input/Output, XML Transformer, WebSphere MQ, Web Services Client, Java Client실시간·메시지 기반 연동
DebugPeek, Row Generator, Column Generator, Sample, Head, Tail개발·테스트·디버깅

핵심 스테이지 상세

Transformer 스테이지 — DataStage의 가장 범용적인 스테이지. 단일 스테이지에서 세 가지를 처리:

  • 데이터 검증 (조건 기반)
  • 데이터 변환 (형 변환, 계산, 파생 컬럼)
  • Lookup (참조 데이터 조회)

Transformer 스테이지 변수의 데이터 타입을 예상 결과 타입과 일치시키면 불필요한 타입 변환을 방지하여 성능을 향상시킨다.

Slowly Changing Dimension (SCD) 스테이지 — 데이터 웨어하우스 차원 테이블 업데이트를 자동화:

  • SCD 1형: 기존 값 단순 덮어쓰기
  • SCD 2형: 이력 보존 (기존 레코드 만료 + 신규 레코드 삽입)

Join vs Lookup — 두 스테이지 모두 데이터를 결합하지만 방식이 다름:

  • Join: 정렬된 복수 입력을 키 기반으로 결합 (병렬 스트림)
  • Lookup: 참조 데이터(reference link)를 메모리에 올려 스트림 데이터와 조회 결합

배경 / 역사

DataStage는 Ascential Software(구 Evolutionary Technologies International)의 제품으로 시작, IBM이 2005년 Ascential 인수를 통해 확보. IIS(InfoSphere Information Server) 제품군의 핵심 ETL 컴포넌트로 통합됨. 현재 버전은 11.7 (DAP 운영 환경 기준).

실전 적용

  • ibm-datastage 운영 시 스테이지 카테고리를 기준으로 잡 설계 방향을 결정
  • 데이터 변환 로직은 Transformer 스테이지 집중, 복잡한 변환은 단계별로 분리
  • 디버깅 시 Peek 스테이지를 스테이지 사이에 삽입하여 중간 데이터 확인
  • datastage-job-design-troubleshooting 원칙과 병행 적용 — 스테이지 연결 누락·컬럼명 규칙 위반 예방

관련 개념

스테이지 세대 교체 패턴

IBM은 구버전 Enterprise/Plug-in 스테이지를 신버전 Connector/통합 스테이지로 단계적으로 대체하고 있다. 구버전 스테이지는 팔레트에 ³ 표시(기본 숨김)로 유지되며 “Superseded by” 명시가 붙는다. 주요 세대 교체 사례:

  • ODBC / ODBC Enterprise → ODBC Connector
  • XML Input / XML Output / XML Transformer → Hierarchical Data
  • Java Client / Java Transformer → Java Integration
  • Netezza Enterprise → Netezza Connector
  • WebSphere® MQ → WebSphere MQ Connector
  • Teradata Enterprise / Teradata Load → Teradata Connector

기존 잡에 구버전 스테이지를 사용 중이라면 신버전으로 마이그레이션을 고려해야 하며, Connector Migration Tool 사용 후 고아 스테이지 발생 가능성이 있다 (datastage-job-design-troubleshooting 참조).

QualityStage 전용 카테고리 (Data Quality ¹)

ibm-qualitystage 라이선스가 있는 경우에만 사용 가능한 스테이지 범주. 기본 DataStage 스테이지 카테고리 체계에 추가되는 전문 데이터 품질 스테이지:

  • Investigate, Match Frequency, MNS, One-source Match, Two-source Match
  • Standardize, SQA (Standardization Quality Assessment), Survive

소스