ODI Tutorial - Configuração Topologia

6,695 views

Published on

Segundo documento da Série Tutorial Oracle Data Integrator. Neste tutorial demonstro como parametrizar os ambientes de trabalho e os servidores de dados de origem e destino. Os temas abordados são criação de Physical Architecture, Context e Logical Architecture.

Published in: Technology
9 Comments
6 Likes
Statistics
Notes
No Downloads
Views
Total views
6,695
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
407
Comments
9
Likes
6
Embeds 0
No embeds

No notes for slide

ODI Tutorial - Configuração Topologia

  1. 1. February 17 2012ODITutorialUso da ferramenta Oracle Data Integrator (ODI) para aconstrução de processos ETL (Extract, Transform andLoad). Nesta série de tutoriais, utilizaremos o ODI paraintegrar dados de diferentes origens (bancos de dados Topologiadiferentes e arquivos texto) para uma base de destinoOracle.
  2. 2. Configurando as TopologiasNeste tutorial vamos definir e parametrizar a arquitetura física e lógica do nossoprojeto de ETL. No ODI o módulo responsável por organizar, armazenar e disponibilizaras bases e objetos de origem e destino é o Topology. As origens e destinos podem serdefinidas por Tecnologia, ou seja, podemos definir desde servidores de arquivo texto,Oracle, MySQL, Jython e etc.Para o nosso tutorial, a principio, iremos configurar somente topologias de origem edestino para trabalhar com banco de dados Oracle.Na figura acima, podemos ver os componentes do módulo Topology, no tutorialpassado trabalhamos com o componente Repositories onde definimos o repositóriode trabalho do nosso projeto. Neste tutorial iremos trabalhar com os componentesPhysical Architecture, Logical Architecture e Context.Physical Architecture (Arquitetura Física)A arquitetura física define quais são os parâmetros de acesso ao ambiente físico dedados origem ou destino que estamos utilizando. Como por exemplo, armazenamentode informações do sistema, características de usuários, tipo do banco de dados(Oracle, DB2, SQL Server,etc), formato de arquivo (XML, File), tipo de conexão e etc.Em resumo a arquitetura física, armazena as informações reais dos servidores dedados assim como suas características de acesso.Logical Architecture (Arquitetura Lógica)A arquitetura lógica é utilizada para fazer os agrupamentos dos esquemas físicos. Noprocesso de desenvolvimento a referência aos bancos de dados se dá através doesquema lógico e não através do esquema físico. Isso nos permite uma grandeflexibilidade de parametrização.Contexts (Contextos)O contexto é o responsável por fazer a união entre o esquema físico e o esquemalógico.
  3. 3. O conceito aqui exposto é muito importante para a continuidade e para as boaspráticas de utilização do ODI, portanto para que fique bem claro o conceito doselementos, vamos imaginar um cenário onde temos o seguinte desenho de ambientes:Desenvolvimento, Testes, Homologação e Produção.Para cada ambiente devemos criar um banco de dados físico, pois cada um possuiestrutura, processamento, usuários de conexão e etc distintos. Por consequênciateremos quatro arquiteturas físicas para representar nosso cenário.Seguindo neste exemplo, iremos precisar de apenas uma arquitetura lógica para fazera ligação com os esquemas físicos.Veja a representação na tabela abaixo de como ficaria o desenho desta solução: Arquitetura Lógica Contexto Arquitetura FísicaORCL_ORIGEM Desenvolvimento ORCL_DESENVORCL_ORIGEM Teste ORCL_TESTEORCL_ORIGEM Homologação ORCL_HOMOLORCL_ORIGEM Produção ORCL_PRODComo podemos observar, temos quatro contextos, para quatro esquemas físicosdistintos, e apenas um esquema lógico. Com isso, o desenvolvimento do nosso projetoirá utilizar uma determinada arquitetura lógica parametrizada para acessar asinformações de um determinado banco de dados físico dependendo do contextoutilizado.Quando for fazer o processamento de uma carga e o contexto for selecionado, o ODIautomaticamente irá buscas as informações necessárias no esquema correspondente.Por exemplo: a interface de dados está sendo executada com o contexto deHomologação, os dados serão capturados do esquema físico ORCL_HOMOL.Outra vantagem e uma importante característica do ODI é a fácil reestruturação de suaplataforma de desenvolvimento. Ainda seguindo o exemplo dado acima, vamosimaginar que o banco de dados de testes teve que mudar de servidor e trocaram onome de identificação, vamos chamar de ORCL_TST. As alterações que precisam serfeitas estão relacionadas à criação de uma nova arquitetura física, depois fazer a trocado parâmetro da arquitetura lógica ORCL_ORIGEM no contexto de Teste para estanova arquitetura física. Com esta flexibilidade não é preciso nenhuma modificação nasestruturas já desenvolvidas, estamos apenas redefinindo os parâmetros das novasarquiteturas físicas a uma arquitetura lógica e não a um banco de dados ou recursofísico.
  4. 4. Criando a arquitetura FísicaRelembrando: Quando criamos uma arquitetura física estamos direcionando umponteiro de conexão para um banco de dados físico, para o nosso projeto devemoscriar os esquemas físicos para as informações de origem e destino.No módulo Topology como já havia falado anteriormente possui diversas tecnologiaspara definir os servidores de dados, no nosso projeto iremos utilizar a tecnologiaORACLE.Antes de iniciar a parametrização da arquitetura física garanta que os usuários debanco de dados “schemas/users” que serão utilizados possua os grants necessáriospara visualizar as tabelas, as visões, e etc. Os “schemas/users” que iremos utilizar sãoos mesmos criados no tutorial anterior. Para relembrar segue a relação na tabelaabaixo: SCHEMA/USER PASSWORDDW_ORIGEM DW_ORIGEMDW_DESTINO DW_DESTINODW_TEMP DW_TEMPNeste projeto vamos trabalhar com três repositórios físicos, um representando oesquema de origem dos dados, um representando o esquema de destino, essedesenho nos mostra um repositório tipo DW (origem) e um repositório tipo DM(destino). Ainda temos mais um repositório o DW_TEMP, quando estamos definindo aarquitetura física, devemos parametrizar dois banco de dados físicos que sãochamados de Schema(Schema) e Schema(Work Schema) vamos traduzir comoEsquema Principal e Esquema de Trabalho.O Esquema Principal nos informa qual será o esquema no banco de dados queconterá as tabelas que iremos fazer “consultas” ou “gravar” dados, ou seja, as tabelasenvolvidas diretamente no processo de ETL.O Esquema de Trabalho indica o banco de dados que o ODI irá utilizar para criar osobjetos temporários durante o processo de integração (objetos com prefixos I$, C$,etc).Configurando o Esquema FísicoPara inserir um servidor de dados acesse o módulo Topology. Procure a aba PhysicalArchitecture, clique na pasta Technology, irá abrir várias opções de tecnologia,encontre e selecione a tecnologia ORACLE, neste instantes será apresentada umaopção identica a figura abaixo:
  5. 5. Agora pressione o botão direito do mouse e escolha a opção “Insert Data Server”,conforme a figura abaixo.Uma nova janela será aberta, nesta etapa teremos duas atividades importantes porfazer. A primeira delas é configurar os acessos, identificar o servidor, colocar usuário esenha de acesso ao banco de dados que será o repositório e a segunda atividade éconfigurar a forma de acesso, no nosso caso através de JDBC. Vamos ver como fazer aprimeira tarefa:
  6. 6. Data Server ParâmetroName DW_ORIGEMTechnology OracleInstance / dblink (Data Server) XeUser dw_origemPassword dw_origemO próximo passo é fazer a configuração do JDBC, para tanto, selecione a aba JDBCdentro desta mesma janela de configuração, lembre-se que se você clicar em qualquerbotão de validação irá produzir erro, pois o JDBC ainda não está parametrizado.Quando abrir a janela do JDBC você deve ver a seguinte figura:
  7. 7. JDBC ParâmetroJDBC Driver oracle.jdbc.driver.OracleDriverJDBC Url jdbc:oracle:thin:@localhost:1521:xeApós fazer essas duas parametrizações, teste a conexão. Clique no botão teste, deveráaparecer as próximas duas janelas, na primeira janela selecione o agent, deixe comoLocal e pressione o botão Test.
  8. 8. Se o teste for bem sucedido aparecerá a figura abaixo:Até esse instante só definimos o repositório mestre para os servidores de origem e aforma de conexão, ainda falta fazer a parametrização mais importante, que é definir aárea de trabalho e a área temporária. Clique em OK para seguir a configuração. Agoradevemos clicar no botão Apply, neste momento uma nova janela irá abrir. Nesta janelairemos parametrizar o Esquema Físico, veja na figura abaixo:
  9. 9. Nesta figura temos muitas informações importante. A primeira coisa que devemosfazer é parametrizar os campos Schema (Schema) e Schema (Work Schema). Oparâmetro Schema (Schema) representa o local físico onde as tabelas do DW irão serarmazenadas, o parâmetro Schema (Work Schema) representa a área temporária queserá utilizada pelo ODI para gerar tabelas temporárias no processo de integração.Adotando o critério de melhores práticas sempre parametrize com schemas distintos,pois o ODI possui a característica E-LT, ou seja, a transformação pode ocorrer tanto naorigem, quando no destino, sem a necessidade de um hardware proprietário fazendoas transformações no meio do processo.Nesta mesma janela podemos ver informações sobre os prefixos das tabelastemporarias (Work Tables) e também das tabelas de jornalização (Journalizingelements). Você deve estar se perguntando para que serve esses dois conceitos ?A jornalização é o conceito de manutenção de registros diários, o propósito da mesmaé garantir a integridade dos metadados.
  10. 10. As tabelas temporárias são criadas como espelho, de acordo com a necessidade doprocesso de integração. Todas as tabelas (trabalho e jornalização) são criadasautomaticamente durante o processo de integração dentro do schema/user definidocomo esquema de trabalho (Work Schema). No ODI existe o conceito de “StaggingArea”, que é responsável pela criação e armazenamento dos objetos temporários doETL, este conceito será revisto e abordado profundamente no momento em queestivermos construíndo as interfaces de integração.O que significa as extensões ? Abaixo segue uma breve explicação de cada prefixo:  E$: quando utilizamos tratamento de erros no ODI, os erros gerados são gravados nesta tabela que é criada por default como E$_<NOME_DA_TABELA>;  C$: criada quando estamos buscando os dados de um banco diferente do destino. O ODI cria esta tabela, popula com as informações da origem e depois utiliza a mesma no processo de ETL. Criada por default como C$_<NOME_DA_TABELA>;  I$: criada durante o processo de ETL. Nesta tabela são resolvidos todos os relacionamentos entre as tabelas envolvidas no processo, e depois de pronta é utilizada para popular a tabela de destino. Criada por default como I$_<NOME_DA_TABELA>;  J$, JV$ e T$: são tabelas criadas quando se está trabalhando com o conceito de jornalização.Neste instante terminamos a parametrização do Esquema Físico de origem, repita todoesse processo para o Esquema Físico de destino, alterando o parâmetro Schema(Schema) para DW_DESTINO mas, mantendo o Schema (Work Schema) comDW_TEMP, iremos utilizar o mesmo repositório temporário utilizado nos parâmetros doEsquema Físico de origem, fazemos isso por praticidade e segurança, sabendo quetodos os objetos temporários envolvidos no projeto serão criados no mesmorepositório. Esse tipo de decisão deve ser adotada de projeto para projeto, arquiteturade banco de dados para arquitetura. Data Server:DW_ORIGEM ParâmetroName DW_ORIGEM.DW_ORIGEMSchema (Schema) DW_ORIGEMSchema (Work Schema) DW_TEMP Data Server:DW_DESTINO ParâmetroName DW_DESTINO.DW_DESTINOSchema (Schema) DW_DESTINOSchema (Work Schema) DW_TEMP
  11. 11. Criando ContextosOs contextos é que permitem que possamos ligar um Esquema Físico a um EsquemaLógico, relembrando que no momento de desenvolvimento o único esquema disponívelé o esquema lógico, portanto criar os contextos é de suma importância para o nossoprojeto.Para este projeto criaremos 4 (quatro) contextos para representar: desenvolvimento,teste, homologação e produção.No módulo Topology, clique na aba Context, em seguida selecione o contexto Global,este contexto é criado automaticamente pelo ODI, clique com o botão direito, umanova jalena será mostrada, conforme a figura abaixo:Selecione a opção “Insert” e a janela abaixo será apresentada:
  12. 12. Digite o nome do contexto e clique em OK para validar. Repita o procedimento paracriar todos os contextos. Após o processo devemos ter a seguinte visão da janela decontextos:Criados os contextos, devemos agora parametrizar o esquema lógico.
  13. 13. Configurando o Esquema LógicoChegamos ao último passo da configuração de Topologias do nosso projeto, lembrandoque esse trabalho dentro de uma estrutura de projeto ETL é dinâmica e a qualquermomento poderá surgir a necessidade da criação de novos servidores de dados(baseados em sua tecnologia), como por exemplo, criar uma conexão com arquivotexto.No módulo Topology clique na aba Logical Architecture e posteriormente na estruturaTecnologia Oracle, conforme figura abaixo:Após selecionada a tecnologia Oracle, clique com o botão direito no mouse, abrirá ajanela mostrada acima, clique em “Insert Logical Schema”.
  14. 14. Vamos trabalhar o projeto apenas com o contexto de Desenvolvimento, e nesteinstante definimos o nome do Logical Schema para os repositórios de Origem eDestino, veja os parâmetros na tabela abaixo: Logical Schema ParâmetroName LOGICAL_DW_ORIGEMContext DesenvolvimentoPhysical Schemas DW_ORIGEM.DW_ORIGEMDevemos repetir o processo para o repositório Destino: Logical Schema ParâmetroName LOGICAL_DW_DESTINOContext DesenvolvimentoPhysical Schemas DW_DESTINO.DW_DESTINOOs demais contextos criados serão utilizados em Tutoriais futuros, até o final destetutorial apenas o contexto de Desenvolvimento será utilizado.

×