Informatica
Informatica 시퀀스 생성기
PowerCenter 매핑 내에서 예측 가능한 대리 키가 필요할 때 시퀀스 생성기를 사용하세요.
주요 기능
- 소스 시스템에 의존하지 않고 매핑 내부에서 숫자 값을 생성합니다.
- 일반적으로 차원, 스테이징 테이블 또는 행 단위 ID의 대리 키를 공급합니다.
- 두 개의 포트를 제공합니다. NEXTVAL은 다음 생성 값을, CURRVAL은 현재 값을 반환합니다.
핵심 포트
| 요소 | 의미 | 일반적인 용도 |
|---|---|---|
| NEXTVAL | 시퀀스의 다음 생성 값입니다. | 새 대리 키를 기록합니다. |
| CURRVAL | NEXTVAL이 진행된 후의 현재 값입니다. | 다운스트림에서 동일한 생성 키를 재사용합니다. |
| 시작 값 | 처음으로 출력되는 값입니다. | 로드의 첫 키를 설정합니다. |
| 증분 값 | 값 사이의 단계 크기입니다. | 키 간격 또는 파티셔닝을 제어합니다. |
기본 흐름
- 1매핑에 시퀀스 생성기 변환을 추가합니다.
- 2시작 값, 증분, 포트 사용 방식을 설정합니다.
- 3새 식별자가 필요한 타깃 키 열에 NEXTVAL을 연결합니다.
- 4동일한 매핑 안에서 같은 생성 값을 여러 번 써야 할 때만 CURRVAL을 사용하세요.
코드
일반적인 대리 키 패턴
SRC_CUSTOMER -> EXP_CLEAN -> SEQ_CUSTOMER_KEY.NEXTVAL -> TGT_DIM_CUSTOMER.CUSTOMER_KEYFAQ
CURRVAL은 언제 사용하나요?
하나의 생성 키를 동일 매핑의 여러 다운스트림 필드에 전달해야 할 때 사용하세요.
소스 키 대신 시퀀스 생성기를 쓰는 이유는?
소스 키는 시스템 간 충돌이 잦고 차원 모델에 충분히 안정적이지 않은 경우가 많습니다.
시퀀스 생성기는 대리 키의 공백 없음을 보장하나요?
보장하지 않습니다. 세션 실패나 행 거부 후에는 값이 롤백되지 않습니다. ETL 워크플로에서 공백은 정상적인 현상입니다.
하나의 시퀀스 생성기를 여러 타깃 테이블에 공유할 수 있나요?
기술적으로는 가능하지만 권장하지 않습니다. 공유 시 키 범위가 뒤섞여 각 테이블의 키 도메인을 파악하기 어렵습니다. 깔끔한 키 분리를 위해 타깃 테이블별로 시퀀스 생성기를 따로 두세요.
관련 링크