Informatica
Informatica Sequence Generator
Use o Sequence Generator quando o seu mapeamento precisar de uma chave surrogate previsível dentro do PowerCenter.
O que ele faz
- Gera valores numéricos dentro do mapeamento, sem depender do sistema de origem.
- Geralmente alimenta chaves surrogate para dimensões, tabelas de staging ou IDs em nível de linha.
- Expõe duas portas: NEXTVAL para o próximo número gerado e CURRVAL para o atual.
Portas principais
| Elemento | Significado | Uso típico |
|---|---|---|
| NEXTVAL | Próximo valor gerado na sequência. | Escrever uma nova chave surrogate. |
| CURRVAL | Valor atual após NEXTVAL avançar. | Reutilizar a mesma chave gerada a jusante. |
| Start value | Primeiro valor emitido. | Definir a primeira chave em uma carga. |
| Increment by | Tamanho do passo entre os valores. | Controlar o espaçamento ou particionamento das chaves. |
Fluxo básico
- 1Adicione a transformação Sequence Generator ao mapeamento.
- 2Configure o start value, increment e o uso das portas.
- 3Conecte NEXTVAL à coluna de chave de destino que precisa de um novo identificador.
- 4Use CURRVAL apenas quando precisar do mesmo valor gerado mais de uma vez no mapeamento.
Código
Padrão típico de chave surrogate
SRC_CUSTOMER -> EXP_CLEAN -> SEQ_CUSTOMER_KEY.NEXTVAL -> TGT_DIM_CUSTOMER.CUSTOMER_KEYPerguntas frequentes
Quando devo usar CURRVAL?
Use quando uma chave gerada precisar alimentar vários campos a jusante no mesmo mapeamento.
Por que usar o Sequence Generator em vez das chaves de origem?
As chaves de origem frequentemente colidem entre sistemas ou não são estáveis o suficiente para modelos dimensionais.
O Sequence Generator garante que não haverá lacunas nas chaves surrogate?
Não. O Sequence Generator não reverte valores após falhas de sessão ou rejeições de linha. Lacunas são esperadas e normais em fluxos ETL.
Posso compartilhar um Sequence Generator entre várias tabelas de destino?
Tecnicamente sim, mas não é recomendado. Geradores compartilhados produzem faixas de chave intercaladas, dificultando a análise do domínio de cada tabela. Use um gerador separado por tabela de destino para manter as chaves bem isoladas.
Relacionados