odi - configurando topologia

Upload: bruno-canal

Post on 12-Oct-2015

47 views

Category:

Documents


0 download

TRANSCRIPT

  • ODI Tutorial

    February 17

    2012 Uso da ferramenta Oracle Data Integrator (ODI) para a construo de processos ETL (Extract, Transform and Load). Nesta srie de tutoriais, utilizaremos o ODI para integrar dados de diferentes origens (bancos de dados diferentes e arquivos texto) para uma base de destino Oracle.

    Topologia

  • Configurando as Topologias

    Neste tutorial vamos definir e parametrizar a arquitetura fsica e lgica do nosso

    projeto de ETL. No ODI o mdulo responsvel por organizar, armazenar e disponibilizar

    as bases e objetos de origem e destino o Topology. As origens e destinos podem ser

    definidas 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 e

    destino para trabalhar com banco de dados Oracle.

    Na figura acima, podemos ver os componentes do mdulo Topology, no tutorial

    passado trabalhamos com o componente Repositories onde definimos o repositrio

    de trabalho do nosso projeto. Neste tutorial iremos trabalhar com os componentes

    Physical Architecture, Logical Architecture e Context.

    Physical Architecture (Arquitetura Fsica)

    A arquitetura fsica define quais so os parmetros de acesso ao ambiente fsico de

    dados origem ou destino que estamos utilizando. Como por exemplo, armazenamento

    de informaes do sistema, caractersticas de usurios, tipo do banco de dados

    (Oracle, DB2, SQL Server,etc), formato de arquivo (XML, File), tipo de conexo e etc.

    Em resumo a arquitetura fsica, armazena as informaes reais dos servidores de

    dados assim como suas caractersticas de acesso.

    Logical Architecture (Arquitetura Lgica)

    A arquitetura lgica utilizada para fazer os agrupamentos dos esquemas fsicos. No

    processo de desenvolvimento a referncia aos bancos de dados se d atravs do

    esquema lgico e no atravs do esquema fsico. Isso nos permite uma grande

    flexibilidade de parametrizao.

    Contexts (Contextos)

    O contexto o responsvel por fazer a unio entre o esquema fsico e o esquema

    lgico.

  • O conceito aqui exposto muito importante para a continuidade e para as boas

    prticas de utilizao do ODI, portanto para que fique bem claro o conceito dos

    elementos, vamos imaginar um cenrio onde temos o seguinte desenho de ambientes:

    Desenvolvimento, Testes, Homologao e Produo.

    Para cada ambiente devemos criar um banco de dados fsico, pois cada um possui

    estrutura, processamento, usurios de conexo e etc distintos. Por consequncia

    teremos quatro arquiteturas fsicas para representar nosso cenrio.

    Seguindo neste exemplo, iremos precisar de apenas uma arquitetura lgica para fazer

    a ligao com os esquemas fsicos.

    Veja a representao na tabela abaixo de como ficaria o desenho desta soluo:

    Arquitetura Lgica Contexto Arquitetura Fsica

    ORCL_ORIGEM Desenvolvimento ORCL_DESENV

    ORCL_ORIGEM Teste ORCL_TESTE

    ORCL_ORIGEM Homologao ORCL_HOMOL

    ORCL_ORIGEM Produo ORCL_PROD

    Como podemos observar, temos quatro contextos, para quatro esquemas fsicos

    distintos, e apenas um esquema lgico. Com isso, o desenvolvimento do nosso projeto

    ir utilizar uma determinada arquitetura lgica parametrizada para acessar as

    informaes de um determinado banco de dados fsico dependendo do contexto

    utilizado.

    Quando for fazer o processamento de uma carga e o contexto for selecionado, o ODI

    automaticamente ir buscas as informaes necessrias no esquema correspondente.

    Por exemplo: a interface de dados est sendo executada com o contexto de

    Homologao, os dados sero capturados do esquema fsico ORCL_HOMOL.

    Outra vantagem e uma importante caracterstica do ODI a fcil reestruturao de sua

    plataforma de desenvolvimento. Ainda seguindo o exemplo dado acima, vamos

    imaginar que o banco de dados de testes teve que mudar de servidor e trocaram o

    nome de identificao, vamos chamar de ORCL_TST. As alteraes que precisam ser

    feitas esto relacionadas criao de uma nova arquitetura fsica, depois fazer a troca

    do parmetro da arquitetura lgica ORCL_ORIGEM no contexto de Teste para esta

    nova arquitetura fsica. Com esta flexibilidade no preciso nenhuma modificao nas

    estruturas j desenvolvidas, estamos apenas redefinindo os parmetros das novas

    arquiteturas fsicas a uma arquitetura lgica e no a um banco de dados ou recurso

    fsico.

  • Criando a arquitetura Fsica

    Relembrando: Quando criamos uma arquitetura fsica estamos direcionando um

    ponteiro de conexo para um banco de dados fsico, para o nosso projeto devemos

    criar os esquemas fsicos para as informaes de origem e destino.

    No mdulo Topology como j havia falado anteriormente possui diversas tecnologias

    para definir os servidores de dados, no nosso projeto iremos utilizar a tecnologia

    ORACLE.

    Antes de iniciar a parametrizao da arquitetura fsica garanta que os usurios de

    banco de dados schemas/users que sero utilizados possua os grants necessrios

    para visualizar as tabelas, as vises, e etc. Os schemas/users que iremos utilizar so

    os mesmos criados no tutorial anterior. Para relembrar segue a relao na tabela

    abaixo:

    SCHEMA/USER PASSWORD

    DW_ORIGEM DW_ORIGEM

    DW_DESTINO DW_DESTINO

    DW_TEMP DW_TEMP

    Neste projeto vamos trabalhar com trs repositrios fsicos, um representando o

    esquema de origem dos dados, um representando o esquema de destino, esse

    desenho nos mostra um repositrio tipo DW (origem) e um repositrio tipo DM

    (destino). Ainda temos mais um repositrio o DW_TEMP, quando estamos definindo a

    arquitetura fsica, devemos parametrizar dois banco de dados fsicos que so

    chamados de Schema(Schema) e Schema(Work Schema) vamos traduzir como

    Esquema Principal e Esquema de Trabalho.

    O Esquema Principal nos informa qual ser o esquema no banco de dados que

    conter as tabelas que iremos fazer consultas ou gravar dados, ou seja, as tabelas

    envolvidas diretamente no processo de ETL.

    O Esquema de Trabalho indica o banco de dados que o ODI ir utilizar para criar os

    objetos temporrios durante o processo de integrao (objetos com prefixos I$, C$,

    etc).

    Configurando o Esquema Fsico

    Para inserir um servidor de dados acesse o mdulo Topology. Procure a aba Physical

    Architecture, clique na pasta Technology, ir abrir vrias opes de tecnologia,

    encontre e selecione a tecnologia ORACLE, neste instantes ser apresentada uma

    opo identica a figura abaixo:

  • Agora pressione o boto direito do mouse e escolha a opo Insert Data Server,

    conforme a figura abaixo.

    Uma nova janela ser aberta, nesta etapa teremos duas atividades importantes por

    fazer. A primeira delas configurar os acessos, identificar o servidor, colocar usurio e

    senha de acesso ao banco de dados que ser o repositrio e a segunda atividade

    configurar a forma de acesso, no nosso caso atravs de JDBC. Vamos ver como fazer a

    primeira tarefa:

  • Data Server Parmetro

    Name DW_ORIGEM

    Technology Oracle

    Instance / dblink (Data Server) Xe

    User dw_origem

    Password dw_origem

    O prximo passo fazer a configurao do JDBC, para tanto, selecione a aba JDBC

    dentro desta mesma janela de configurao, lembre-se que se voc clicar em qualquer

    boto de validao ir produzir erro, pois o JDBC ainda no est parametrizado.

    Quando abrir a janela do JDBC voc deve ver a seguinte figura:

  • JDBC Parmetro

    JDBC Driver oracle.jdbc.driver.OracleDriver

    JDBC Url jdbc:oracle:thin:@localhost:1521:xe

    Aps fazer essas duas parametrizaes, teste a conexo. Clique no boto teste, dever

    aparecer as prximas duas janelas, na primeira janela selecione o agent, deixe como

    Local e pressione o boto Test.

  • Se o teste for bem sucedido aparecer a figura abaixo:

    At esse instante s definimos o repositrio mestre para os servidores de origem e a

    forma de conexo, ainda falta fazer a parametrizao mais importante, que definir a

    rea de trabalho e a rea temporria. Clique em OK para seguir a configurao. Agora

    devemos clicar no boto Apply, neste momento uma nova janela ir abrir. Nesta janela

    iremos parametrizar o Esquema Fsico, veja na figura abaixo:

  • Nesta figura temos muitas informaes importante. A primeira coisa que devemos

    fazer parametrizar os campos Schema (Schema) e Schema (Work Schema). O

    parmetro Schema (Schema) representa o local fsico onde as tabelas do DW iro ser

    armazenadas, o parmetro Schema (Work Schema) representa a rea temporria que

    ser utilizada pelo ODI para gerar tabelas temporrias no processo de integrao.

    Adotando o critrio de melhores prticas sempre parametrize com schemas distintos,

    pois o ODI possui a caracterstica E-LT, ou seja, a transformao pode ocorrer tanto na

    origem, quando no destino, sem a necessidade de um hardware proprietrio fazendo

    as transformaes no meio do processo.

    Nesta mesma janela podemos ver informaes sobre os prefixos das tabelas

    temporarias (Work Tables) e tambm das tabelas de jornalizao (Journalizing

    elements). Voc deve estar se perguntando para que serve esses dois conceitos ?

    A jornalizao o conceito de manuteno de registros dirios, o propsito da mesma

    garantir a integridade dos metadados.

  • As tabelas temporrias so criadas como espelho, de acordo com a necessidade do

    processo de integrao. Todas as tabelas (trabalho e jornalizao) so criadas

    automaticamente durante o processo de integrao dentro do schema/user definido

    como esquema de trabalho (Work Schema). No ODI existe o conceito de Stagging

    Area, que responsvel pela criao e armazenamento dos objetos temporrios do

    ETL, este conceito ser revisto e abordado profundamente no momento em que

    estivermos construndo as interfaces de integrao.

    O que significa as extenses ? Abaixo segue uma breve explicao de cada prefixo:

    E$: quando utilizamos tratamento de erros no ODI, os erros gerados so

    gravados nesta tabela que criada por default como

    E$_;

    C$: criada quando estamos buscando os dados de um banco diferente do

    destino. O ODI cria esta tabela, popula com as informaes da origem e depois

    utiliza a mesma no processo de ETL. Criada por default como

    C$_;

    I$: criada durante o processo de ETL. Nesta tabela so 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$_;

    J$, JV$ e T$: so tabelas criadas quando se est trabalhando com o conceito

    de jornalizao.

    Neste instante terminamos a parametrizao do Esquema Fsico de origem, repita todo

    esse processo para o Esquema Fsico de destino, alterando o parmetro Schema

    (Schema) para DW_DESTINO mas, mantendo o Schema (Work Schema) com

    DW_TEMP, iremos utilizar o mesmo repositrio temporrio utilizado nos parmetros do

    Esquema Fsico de origem, fazemos isso por praticidade e segurana, sabendo que

    todos os objetos temporrios envolvidos no projeto sero criados no mesmo

    repositrio. Esse tipo de deciso deve ser adotada de projeto para projeto, arquitetura

    de banco de dados para arquitetura.

    Data Server:DW_ORIGEM Parmetro

    Name DW_ORIGEM.DW_ORIGEM

    Schema (Schema) DW_ORIGEM

    Schema (Work Schema) DW_TEMP

    Data Server:DW_DESTINO Parmetro

    Name DW_DESTINO.DW_DESTINO

    Schema (Schema) DW_DESTINO

    Schema (Work Schema) DW_TEMP

  • Criando Contextos

    Os contextos que permitem que possamos ligar um Esquema Fsico a um Esquema

    Lgico, relembrando que no momento de desenvolvimento o nico esquema disponvel

    o esquema lgico, portanto criar os contextos de suma importncia para o nosso

    projeto.

    Para este projeto criaremos 4 (quatro) contextos para representar: desenvolvimento,

    teste, homologao e produo.

    No mdulo Topology, clique na aba Context, em seguida selecione o contexto Global,

    este contexto criado automaticamente pelo ODI, clique com o boto direito, uma

    nova jalena ser mostrada, conforme a figura abaixo:

    Selecione a opo Insert e a janela abaixo ser apresentada:

  • Digite o nome do contexto e clique em OK para validar. Repita o procedimento para

    criar todos os contextos. Aps o processo devemos ter a seguinte viso da janela de

    contextos:

    Criados os contextos, devemos agora parametrizar o esquema lgico.

  • Configurando o Esquema Lgico

    Chegamos ao ltimo passo da configurao de Topologias do nosso projeto, lembrando

    que esse trabalho dentro de uma estrutura de projeto ETL dinmica e a qualquer

    momento poder surgir a necessidade da criao de novos servidores de dados

    (baseados em sua tecnologia), como por exemplo, criar uma conexo com arquivo

    texto.

    No mdulo Topology clique na aba Logical Architecture e posteriormente na estrutura

    Tecnologia Oracle, conforme figura abaixo:

    Aps selecionada a tecnologia Oracle, clique com o boto direito no mouse, abrir a

    janela mostrada acima, clique em Insert Logical Schema.

  • Vamos trabalhar o projeto apenas com o contexto de Desenvolvimento, e neste

    instante definimos o nome do Logical Schema para os repositrios de Origem e

    Destino, veja os parmetros na tabela abaixo:

    Logical Schema Parmetro

    Name LOGICAL_DW_ORIGEM

    Context Desenvolvimento

    Physical Schemas DW_ORIGEM.DW_ORIGEM

    Devemos repetir o processo para o repositrio Destino:

    Logical Schema Parmetro

    Name LOGICAL_DW_DESTINO

    Context Desenvolvimento

    Physical Schemas DW_DESTINO.DW_DESTINO

    Os demais contextos criados sero utilizados em Tutoriais futuros, at o final deste

    tutorial apenas o contexto de Desenvolvimento ser utilizado.