sexta-feira, 13 de novembro de 2009

Pushdown Optimization - Uma Breve Introdução

O tema de hoje é Pushdown Optimization, um dos mais recentes plug-ins lançados pela Informatica para otimização de cargas pelo PowerCenter.

A ideia do Pushdown é passar toda ou parte da lógica de um mapping para instruções SQL que são diretamente executadas no banco de dados.

Imagine um ambiente aonde o processo de carga execute na madrugada com um servidor sobrecarregado do PowerCenter e existam recursos disponíveis no banco de dados. Este é o cenário recomendado para utilização do Pushdown: utilizar os recursos disponíveis no banco de dados e minimizar a sobrecarga no servidor do PowerCenter.

Quando o plug-in do Pushdown é instalado, uma nova aba dentro da edição da session é criada. Sua utilização é bem fácil, o próprio PowerCenter, caso seja possível, gerará um SQL que representa toda a lógica do mapa construído. Dessa forma, você pode aplicar a técnica do Pushdown em mappings já construídos.

O Pushdown pode ser utilizado nos seguintes bancos de dados:

- Oracle 9.x and above
- IBM DB2
- Teradata
- Microsoft SQL Server
- Sybase ASE
- Databases que usam ODBC drivers

Tipos de Pushdown

Source-Side: O Integration Service passa a maior parte da lógica do mapping para o banco de dados Source.
Target-Side: O Integration Service passa a maior parte da lógica do mapping para o banco de dados Target.
Full Pushdown: O Integration Service passa a maior parte da lógica para ambos os bancos Source e Target.

Conclusão

Eu realizei alguns testes com o Pushdown e na prática ele ainda falta amadurecer muito.

O plug-in consegue apenas converter mapas que possuem uma lógica bem simples, sem expressions e outros componentes. Na maioria dos casos você terá que fazer adaptações no mapa para que o script seja gerado.

A ideia de passar parte do processamento para o banco de dados foi uma ótima jogada da Informatica, porém ficamos no aguardo para que a próxima versão deste plug-in possa ser mais bem utilizada em ambientes que há tempos necessitam de ganho de performance.

Uma alternativa para este problema é o plug-in de Real-Time, lançado recentemente pela Informatica, onde os dados são enviados para o ambiente de BI próximo ao tempo real. Com certeza esse tipo de arquitetura será testada e implementada nas empresas que possuem grande volumes de dados dentro dos próximos 5 anos.

Abraço,
Marcos David Caliman