SlideShare uma empresa Scribd logo
1 de 49
Integrando Bases de Dados com
        Software Livre




     Mauricio Cesar Santos da Purificação
Mauricio C. S. da Purificação
     • Bacharelando em Ciência da Computação na Universidade
       Federal da Bahia (UFBA).
     • Atuo como Analista de BI (Business Intelligence) do CPD-UFBA
       e faço pesquisa na área de Business Intelligence, Business
       Analytics e aplicação de métodos ágeis em projetos de Data
       Warehousing participando do Grupo de Pesquisa CEManTIKA
       da UFBA.
     • Minhas principais áreas de interesse estão relacionadas à:
       Banco de Dados, Engenharia de Software, Métodos Ágeis,
       Gestão e Governança de TI, Gestão de Projetos, Informática
       Aplicada a Administração, Sistemas de Informações Gerenciais,
       Business Intelligence, Business Analytics e Data Warehousing.

       http://lattes.cnpq.br/3312807554334758
Agenda
• Contexto
• Heterogeneidade de Sistemas
• Abordagens Para Integração de
  Dados
• Classificação dos Sistemas de
  Integração
      – Integração Estática
      – Integração Dinâmiza
• Modelos Para Integração de
  Dados
      – Banco de Dados Federados
      – Mediadores
      – ETL e Data Warehousing
• Ferramentas de ETL
                           Mauricio Cesar Santos da Purificação |
02/07/2011                @CPM Braxis Capgemini | @CPD-UFBA |       3
                              @DCC-UFBA | @CEManTIKA
Contexto
• O objetivo de um sistema de integração de
  dados é oferecer aos usuários uma interface
  uniforme de acesso à diferentes fontes de
  dados, de forma que os usuários definam
  consultas especificando “o que” se deseja
  saber e o sistema determine “onde” a
  informação pode ser encontrada e, em
  seguida, apresente as respostas para as
  consultas do usuário.
                 Mauricio Cesar Santos da Purificação |
02/07/2011      @CPM Braxis Capgemini | @CPD-UFBA |       4
                    @DCC-UFBA | @CEManTIKA
Heterogeneidade de Sistemas –
                 Conflitos de Esquemas
• Conflitos de Generalização
      – São aqueles onde um atributo ou classe assume o
        valor de muitos atributos ou representa várias classes
        em outro banco de dados.
• Conflitos de Tipos de Dados
      – São aqueles onde um tipo de dados de um atributo
        difere do tipo de dados do atributo com o mesmo
        significado em outro banco de dados.
• Conflitos Estruturais
      – São aqueles onde uma entidade em um sistema é
        modelada como atributo em outro.

                        Mauricio Cesar Santos da Purificação |
02/07/2011             @CPM Braxis Capgemini | @CPD-UFBA |       5
                           @DCC-UFBA | @CEManTIKA
Heterogeneidade de Sistemas –
                 Conflitos de Esquemas
• Perda de Atributos
      – É o caso onde não existe o atributo em outro
        esquema.
• Conflitos de Nomes
      – É o caso onde as entidades de diferentes sistemas têm
        o mesmo significado, porém são referenciadas com
        nomes diferentes.
• Conflitos de Escala
      – Dizem respeito à unidade apropriada para o valor do
        atributo.

                       Mauricio Cesar Santos da Purificação |
02/07/2011            @CPM Braxis Capgemini | @CPD-UFBA |       6
                          @DCC-UFBA | @CEManTIKA
Caracteristicas dos Sistemas de
               Integração e Interoperação




                       Mauricio Cesar Santos da Purificação |
02/07/2011            @CPM Braxis Capgemini | @CPD-UFBA |       7
                          @DCC-UFBA | @CEManTIKA
Heterogeneidade de Sistemas –
      Hardware e Sistemas Operacionais
• Relaciona-se com a criação de novos dispositivos
  e Sistemas Operacionais.
• Embora a maioria das grandes corporações adote
  o uso de padrões na criação de novos
  dispositivos, existem esforços no sentido de
  permitir que sistemas operacionais e dispositivos
  de massa tenham uma interface de comunicação
  padronizada.
• O uso de APIs (Application Program Interface) e
  asorganizações regulamentadoras têm mostrado
  bons resultados neste nível de heterogeneidade.
                  Mauricio Cesar Santos da Purificação |
02/07/2011       @CPM Braxis Capgemini | @CPD-UFBA |       8
                     @DCC-UFBA | @CEManTIKA
Heterogeneidade de Sistemas –
                Modelos Organizacionais
• Refere-se aos diversos modelos de sistemas de
  bancos de dados existentes.
• Os progressos neste nível enfocam
  mapeamentos dos modelos relacionais,
  orientado a objetos, hierárquicos, rede e
  outros modelos derivados.



                      Mauricio Cesar Santos da Purificação |
02/07/2011           @CPM Braxis Capgemini | @CPD-UFBA |       9
                         @DCC-UFBA | @CEManTIKA
Heterogeneidade de Sistemas –
                    Representação
• Refere-se a um dos problemas de natureza
  semântica existentes.
• Geralmente ocorre quando tamanhos de
  campos são diferentes ou possuem tipos
  semelhantes, mas com representações
  internas diferentes.



                      Mauricio Cesar Santos da Purificação |
02/07/2011           @CPM Braxis Capgemini | @CPD-UFBA |       10
                         @DCC-UFBA | @CEManTIKA
Heterogeneidade de Sistemas –
                        Escopo
• Baseia-se nos diferentes domínios dos objetos de
  um sistema. Geralmente pode-se ter entidades
  que representem uma porção do mundo real.
• Cada sistema, de acordo com as regras do
  negócio implementado, possui representações de
  um subconjunto de uma entidade do mundo real.
  Portanto, a integração de tais sistemas deve gerar
  uma visão resultante que corresponde a uma
  entidade mais abrangente.
                      Mauricio Cesar Santos da Purificação |
02/07/2011           @CPM Braxis Capgemini | @CPD-UFBA |       11
                         @DCC-UFBA | @CEManTIKA
Heterogeneidade de Sistemas –
                      Abstração
• Consiste no nível de detalhamento dos
  atributos que cada entidade possui no sistema
  de integração.




                      Mauricio Cesar Santos da Purificação |
02/07/2011           @CPM Braxis Capgemini | @CPD-UFBA |       12
                         @DCC-UFBA | @CEManTIKA
Heterogeneidade de Sistemas –
                      Significado
• É bem mais complexa e denota a dificuldade
  em determinar o significado dos atributos
  com equivalência de nomes.
• Por exemplo, o atributo nome em uma relação
  pessoa denota seu verdadeiro nome na vida
  real, em contrapartida, em uma entidade
  departamento o mesmo atributo tem
  significado diferenciado.

                      Mauricio Cesar Santos da Purificação |
02/07/2011           @CPM Braxis Capgemini | @CPD-UFBA |       13
                         @DCC-UFBA | @CEManTIKA
Heterogeneidade de Sistemas – Tempo
• Por causa da autonomia e independência dos sistemas,
  quando ocorre atualizações assíncronas, podem
  ocorrer resgates de informações desatualizadas.
• Seja um sistema que possua atualização feita uma vez
  por semana e os demais que fazem parte do sistema
  integrado, com atualizações online.
• Pode ser gerada uma visão integrada de relações onde
  atributos semelhantes aos sistemas possam estar
  atualizados associados com atributos que ainda não
  sofreram atualizações.
• Desse modo, a visão apresentaria informações com
  temporalidades diferentes.
                   Mauricio Cesar Santos da Purificação |
02/07/2011        @CPM Braxis Capgemini | @CPD-UFBA |       14
                      @DCC-UFBA | @CEManTIKA
Abordagens Para Integração de Dados




              Mauricio Cesar Santos da Purificação |
02/07/2011   @CPM Braxis Capgemini | @CPD-UFBA |       15
                 @DCC-UFBA | @CEManTIKA
Integração Estática




                 Mauricio Cesar Santos da Purificação |
02/07/2011      @CPM Braxis Capgemini | @CPD-UFBA |       16
                    @DCC-UFBA | @CEManTIKA
Integração Dinâmica




                  Mauricio Cesar Santos da Purificação |
02/07/2011       @CPM Braxis Capgemini | @CPD-UFBA |       17
                     @DCC-UFBA | @CEManTIKA
Banco de Dados Federados




                     Mauricio Cesar Santos da Purificação |
02/07/2011          @CPM Braxis Capgemini | @CPD-UFBA |       18
                        @DCC-UFBA | @CEManTIKA
Mediadores




              Mauricio Cesar Santos da Purificação |
02/07/2011   @CPM Braxis Capgemini | @CPD-UFBA |       19
                 @DCC-UFBA | @CEManTIKA
ETL




              Mauricio Cesar Santos da Purificação |
02/07/2011   @CPM Braxis Capgemini | @CPD-UFBA |       20
                 @DCC-UFBA | @CEManTIKA
Extração
• Extração de dados dos sistemas de origem.
  – Sistemas diferentes.
  – Cada sistema pode utilizar um formato ou
    organização de dados diferente.

• Busca das informações mais importantes em
  sistemas fontes ou externos e que estejam
  em conformidade com a modelagem do DW.
  – Demanda de utilização de formas de extração
    diferentes para cada local.
Extração
• Projetar e criar o processo de extração é uma
  das tarefas mais demoradas no processo de
  ETL.

• Fonte de sistema muito complexa
  – Dificuldade para determinar quais dados devem
    ser extraídos.
Extração

• No momento de criação do DW é comum uma carga
  de dados inicial que faça com que a extração busque
  todos os dados dos sistemas fontes.
   – Extração Completa.

• Depois, a extração deve estar preparada apenas para
  fazer cargas incrementais.
   – A carga incremental que carrega apenas os registros que
     foram alterados ou inseridos desde a carga inicial é muito
     mais eficiente.
   – Extração Incremental.
Transformação
• Aplicação de um série de regras ou funções
  aos dados extraídos para derivar os dados a
  serem carregados.

• Além da transformação, há a limpeza dos
  dados.

• A intensidade da manipulação dos dados
  depende de cada fonte de dados.
Qualidade dos Dados

• Características mais relevantes para garantir a qualidade:

   – Unicidade
       • Evitando assim duplicações de informação;
   – Precisão
       • Os dados não podem perder suas características originais quando
         carregados para o DW;
   – Completude
       • Não gerando dados parciais de todo o conjunto relevante às análises;
   – Consistência
       • Os fatos devem apresentar consistência com as dimensões que o
         compõem.
Transformação
• Os ajustes não modificarão as fontes de
  dados, e sim, os dados extraídos para o DW.

• Esses ajustes são modelados de acordo com o
  operador do DW, atendendo assim as
  restrições que for determinadas pelo usuário.
Limpeza dos Dados

• Correção de erros de digitação.

• Descoberta de violações de integridade.

• Substituição de caracteres desconhecidos.

• Padronização de abreviações.
Conflitos
• Encontrados no processo de homogeneização.
• Semânticos
  – Aqueles que envolvem o nome ou a palavra
    associada às estruturas de modelagem.
     • Mesmo nome para diferentes entidades.
     • Diferentes nomes para a mesma entidade.
• Estruturais
  – Relativos às estruturas de modelagem escolhidas.
     • Ex.: diferentes tipos de dados para os mesmos campos.
Tipos de Transformação
• Exemplos:
  – Seleção de apenas determinadas colunas para carregar
  – Codificação de valores de forma livre
     • mapeando “Masculino”,“1” e “Sr.” para M,
  – Derivação de um novo valor calculado
     • montante_vendas = qtde * preço_unitário
  – Junção de dados provenientes de diversas fontes
  – Resumo de várias linhas de dados
     • total de vendas para cada loja e para cada região
  – Geração de valores de chaves substitutas (surrogate keys)
  – Transposição ou rotação
     • transformando múltiplas colunas em múltiplas linhas ou vice-
       versa
  – Quebra de uma coluna em diversas colunas
Carga
• Etapa final da ETL.
• Os dados teoricamente já se encontram limpos e
  transformados.
• Realiza-se a carga dos dados da Staging Area para
  o Data Warehouse em si.
• Depende das necessidades da organização
  – Podem substituir as informações existentes
    semanalmente, com dados cumulativos e atualizados.
  – Podem adicionar dados a cada hora.
Verificações
• Antes da realização da carga, deve se realizar
  mais uma verificação.
• Verifica-se integridade dos dados.
  – Validação das chaves estrangeiras com suas
    respectivas chaves primarias, confirmando que a
    informação realmente consiste.
Carga
• Existem dois tipos de tabelas:
  – Tabelas de fatos
     • Quantidade de produtos que foi vendido, contém o
       valor da venda e o valor unitário do produto vendido
     • Contém chaves para as tabelas de dimensões.
  – Tabelas de dimensões
     • Tempo, Loja e Produto
Carga
• Incremental
  – Os dados serão apenas adicionados ao Data
    Warehouse.


• Total
  – Os dados existentes serão excluídos e os dados são
    re-inseridos.
Carga
• Geralmente orienta-se que a carga
  incremental seja realizada em tabelas fatos e a
  carga total em dimensões.
  – Os dados das dimensões não sofrem tantas
    alterações.
  – Tabelas fatos sofrem bastante alteração
     • São entidades que tendem a ter um crescimento
       continuo, devido a armazenarem informações
       consolidadas do assunto, obtidas e guardadas do dia-
       dia da organização.
Ferramentas de ETL




     Figura: Ferramentas open-source de
     ETL mais utilizadas
                              Mauricio Cesar Santos da Purificação |
02/07/2011                   @CPM Braxis Capgemini | @CPD-UFBA |       35
                                 @DCC-UFBA | @CEManTIKA
Pentaho Data Integration
• Projeto Open Source encampado pelo
  Pentaho em 2006
      – Desenvolvido por Matt Casters
      – Anteriormente conhecido como Kettle
      – KDE Extraction,
      – Transportation, Transformation and
        LoadingEnvironment


                     Mauricio Cesar Santos da Purificação |
02/07/2011          @CPM Braxis Capgemini | @CPD-UFBA |       36
                        @DCC-UFBA | @CEManTIKA
Pentaho Data Integration




                    Mauricio Cesar Santos da Purificação |
02/07/2011         @CPM Braxis Capgemini | @CPD-UFBA |       37
                       @DCC-UFBA | @CEManTIKA
Pentaho Data Integration




                    Mauricio Cesar Santos da Purificação |
02/07/2011         @CPM Braxis Capgemini | @CPD-UFBA |       38
                       @DCC-UFBA | @CEManTIKA
Pentaho Data Integration




                    Mauricio Cesar Santos da Purificação |
02/07/2011         @CPM Braxis Capgemini | @CPD-UFBA |       39
                       @DCC-UFBA | @CEManTIKA
Pentaho Data Integration




                    Mauricio Cesar Santos da Purificação |
02/07/2011         @CPM Braxis Capgemini | @CPD-UFBA |       40
                       @DCC-UFBA | @CEManTIKA
Pentaho Data Integration
• O PDI trabalha com dois tipos básicos de
  componentes:
      – Transformações
      – Jobs
• Características de transformações e jobs
      – Definem o fluxo do processo de ETL
      – Contém os metadadosdo processo de ETL
             •   Descrição dos dados;
             •   Fontes de entrada e saída;
             •   Scheduling;
             •   Scripting.

                                Mauricio Cesar Santos da Purificação |
02/07/2011                     @CPM Braxis Capgemini | @CPD-UFBA |       41
                                   @DCC-UFBA | @CEManTIKA
Pentaho Data Integration




                    Mauricio Cesar Santos da Purificação |
02/07/2011         @CPM Braxis Capgemini | @CPD-UFBA |       42
                       @DCC-UFBA | @CEManTIKA
Pentaho Data Integration




                    Mauricio Cesar Santos da Purificação |
02/07/2011         @CPM Braxis Capgemini | @CPD-UFBA |       43
                       @DCC-UFBA | @CEManTIKA
Pentaho Data Integration




                    Mauricio Cesar Santos da Purificação |
02/07/2011         @CPM Braxis Capgemini | @CPD-UFBA |       44
                       @DCC-UFBA | @CEManTIKA
Pentaho Data Integration
• Outros componentes do PDI:
      – Repositórios
             • Os metadados das transformações e jobs podem ser
               persistidos em um banco de dados (repositório)
• Ferramentas:
      – Spoon: IDE para desenvolvimento visual.
      – Pan: execução de transformações em linha de
        comando.
      – Kitchen: execução de jobs em linha de comando.
      – Carte: servidor de para execução remota de
        transformações e jobs.

                            Mauricio Cesar Santos da Purificação |
02/07/2011                 @CPM Braxis Capgemini | @CPD-UFBA |       45
                               @DCC-UFBA | @CEManTIKA
Pentaho Data Integration




                    Mauricio Cesar Santos da Purificação |
02/07/2011         @CPM Braxis Capgemini | @CPD-UFBA |       46
                       @DCC-UFBA | @CEManTIKA
Análise Comparativa




                  Mauricio Cesar Santos da Purificação |
02/07/2011       @CPM Braxis Capgemini | @CPD-UFBA |       47
                     @DCC-UFBA | @CEManTIKA
Análise Comparativa




                  Mauricio Cesar Santos da Purificação |
02/07/2011       @CPM Braxis Capgemini | @CPD-UFBA |       48
                     @DCC-UFBA | @CEManTIKA
Integrando Bases de Dados com
        Software Livre

                  /mscesar
        mscesar   @

Mais conteúdo relacionado

Destaque

Destaque (13)

Kombajny ceny
Kombajny cenyKombajny ceny
Kombajny ceny
 
La gènesi del document
La gènesi del documentLa gènesi del document
La gènesi del document
 
Diario Resumen 20150317
Diario Resumen 20150317Diario Resumen 20150317
Diario Resumen 20150317
 
Como viaja la información jesus
Como viaja la información jesusComo viaja la información jesus
Como viaja la información jesus
 
Hall2C Wednesday 11h15 - Dr Sudhakar Muniyasamy
Hall2C Wednesday 11h15 - Dr Sudhakar MuniyasamyHall2C Wednesday 11h15 - Dr Sudhakar Muniyasamy
Hall2C Wednesday 11h15 - Dr Sudhakar Muniyasamy
 
Os mais incríveis jardins
Os mais incríveis jardinsOs mais incríveis jardins
Os mais incríveis jardins
 
Pitch BestPoint - Campus Party
Pitch BestPoint - Campus PartyPitch BestPoint - Campus Party
Pitch BestPoint - Campus Party
 
Hiệu lực của hợp đồng theo qui định của pháp luật việt nam
Hiệu lực của hợp đồng theo qui định của pháp luật việt namHiệu lực của hợp đồng theo qui định của pháp luật việt nam
Hiệu lực của hợp đồng theo qui định của pháp luật việt nam
 
Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...
Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...
Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...
 
Integração entre Academia e Governo para Construção de Soluções Inovadoras em...
Integração entre Academia e Governo para Construção de Soluções Inovadoras em...Integração entre Academia e Governo para Construção de Soluções Inovadoras em...
Integração entre Academia e Governo para Construção de Soluções Inovadoras em...
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
презент 1
презент 1презент 1
презент 1
 
Modelagem Dimensional
Modelagem DimensionalModelagem Dimensional
Modelagem Dimensional
 

Semelhante a Integração de Dados com ETL

Sessão 01 de 04 - Introdução aos sistemas BIREME Accounts e FI-Admin: seguran...
Sessão 01 de 04 - Introdução aos sistemas BIREME Accounts e FI-Admin: seguran...Sessão 01 de 04 - Introdução aos sistemas BIREME Accounts e FI-Admin: seguran...
Sessão 01 de 04 - Introdução aos sistemas BIREME Accounts e FI-Admin: seguran...http://bvsalud.org/
 
A eficiência da gestão por meio da integração com os sistemas estruturantes
A eficiência da gestão por meio da integração com os sistemas estruturantesA eficiência da gestão por meio da integração com os sistemas estruturantes
A eficiência da gestão por meio da integração com os sistemas estruturantesGibeon Aquino
 
Metodologia e Arquitetura e-Gov como propulsoras de cooperação internacional:...
Metodologia e Arquitetura e-Gov como propulsoras de cooperação internacional:...Metodologia e Arquitetura e-Gov como propulsoras de cooperação internacional:...
Metodologia e Arquitetura e-Gov como propulsoras de cooperação internacional:...Roberto C. S. Pacheco
 
Plataformas eGov em CTI: experiências nacionais e internacionais
Plataformas eGov em CTI: experiências nacionais e internacionaisPlataformas eGov em CTI: experiências nacionais e internacionais
Plataformas eGov em CTI: experiências nacionais e internacionaisRoberto C. S. Pacheco
 
Integrar a rede de repósitorios RCAAP no ecossistema de gestão de ciência - P...
Integrar a rede de repósitorios RCAAP no ecossistema de gestão de ciência - P...Integrar a rede de repósitorios RCAAP no ecossistema de gestão de ciência - P...
Integrar a rede de repósitorios RCAAP no ecossistema de gestão de ciência - P...Projeto RCAAP
 
Sistema de Base de Dados1.ppt
Sistema de Base de Dados1.pptSistema de Base de Dados1.ppt
Sistema de Base de Dados1.ppthhuu6
 
Banco de Dados - Conceitos
Banco de Dados - ConceitosBanco de Dados - Conceitos
Banco de Dados - Conceitosssuser69006f
 
Sistema integrado de gestão de fontes de informação (FI-Admin) e o papel dos ...
Sistema integrado de gestão de fontes de informação (FI-Admin) e o papel dos ...Sistema integrado de gestão de fontes de informação (FI-Admin) e o papel dos ...
Sistema integrado de gestão de fontes de informação (FI-Admin) e o papel dos ...http://bvsalud.org/
 
BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS Antonio Pedro
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
Modelagem Dados - Introdução à Conceitos
Modelagem Dados - Introdução à ConceitosModelagem Dados - Introdução à Conceitos
Modelagem Dados - Introdução à Conceitospaulocoob
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagem7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagemGabriel Azuirson
 

Semelhante a Integração de Dados com ETL (20)

Sessão 01 de 04 - Introdução aos sistemas BIREME Accounts e FI-Admin: seguran...
Sessão 01 de 04 - Introdução aos sistemas BIREME Accounts e FI-Admin: seguran...Sessão 01 de 04 - Introdução aos sistemas BIREME Accounts e FI-Admin: seguran...
Sessão 01 de 04 - Introdução aos sistemas BIREME Accounts e FI-Admin: seguran...
 
A eficiência da gestão por meio da integração com os sistemas estruturantes
A eficiência da gestão por meio da integração com os sistemas estruturantesA eficiência da gestão por meio da integração com os sistemas estruturantes
A eficiência da gestão por meio da integração com os sistemas estruturantes
 
Metodologia e Arquitetura e-Gov como propulsoras de cooperação internacional:...
Metodologia e Arquitetura e-Gov como propulsoras de cooperação internacional:...Metodologia e Arquitetura e-Gov como propulsoras de cooperação internacional:...
Metodologia e Arquitetura e-Gov como propulsoras de cooperação internacional:...
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Sld 1
Sld 1Sld 1
Sld 1
 
02 sd - arquiteturas
02   sd - arquiteturas02   sd - arquiteturas
02 sd - arquiteturas
 
Plataformas eGov em CTI: experiências nacionais e internacionais
Plataformas eGov em CTI: experiências nacionais e internacionaisPlataformas eGov em CTI: experiências nacionais e internacionais
Plataformas eGov em CTI: experiências nacionais e internacionais
 
Integrar a rede de repósitorios RCAAP no ecossistema de gestão de ciência - P...
Integrar a rede de repósitorios RCAAP no ecossistema de gestão de ciência - P...Integrar a rede de repósitorios RCAAP no ecossistema de gestão de ciência - P...
Integrar a rede de repósitorios RCAAP no ecossistema de gestão de ciência - P...
 
Sistema de Base de Dados1.ppt
Sistema de Base de Dados1.pptSistema de Base de Dados1.ppt
Sistema de Base de Dados1.ppt
 
Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)
Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)
Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)
 
Fundamentos de banco dados
Fundamentos de banco dadosFundamentos de banco dados
Fundamentos de banco dados
 
Banco de Dados - Conceitos
Banco de Dados - ConceitosBanco de Dados - Conceitos
Banco de Dados - Conceitos
 
Sistema integrado de gestão de fontes de informação (FI-Admin) e o papel dos ...
Sistema integrado de gestão de fontes de informação (FI-Admin) e o papel dos ...Sistema integrado de gestão de fontes de informação (FI-Admin) e o papel dos ...
Sistema integrado de gestão de fontes de informação (FI-Admin) e o papel dos ...
 
BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Integração de dados
Integração de dadosIntegração de dados
Integração de dados
 
Modelagem Dados - Introdução à Conceitos
Modelagem Dados - Introdução à ConceitosModelagem Dados - Introdução à Conceitos
Modelagem Dados - Introdução à Conceitos
 
SI - Arquiteturas
SI - ArquiteturasSI - Arquiteturas
SI - Arquiteturas
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagem7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagem
 

Mais de Mauricio Cesar Santos da Purificação

Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...Mauricio Cesar Santos da Purificação
 
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em OuroIntelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em OuroMauricio Cesar Santos da Purificação
 
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?Mauricio Cesar Santos da Purificação
 

Mais de Mauricio Cesar Santos da Purificação (20)

Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
 
R para Iniciantes
R para IniciantesR para Iniciantes
R para Iniciantes
 
Aprendendo R
Aprendendo RAprendendo R
Aprendendo R
 
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em OuroIntelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
 
Pitch AcheSeuEstúdio - Campus Party
Pitch AcheSeuEstúdio - Campus PartyPitch AcheSeuEstúdio - Campus Party
Pitch AcheSeuEstúdio - Campus Party
 
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Big Data Analytics
 
Flyer BestPoint
Flyer BestPointFlyer BestPoint
Flyer BestPoint
 
Pitch BestPoint
Pitch BestPointPitch BestPoint
Pitch BestPoint
 
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?
 
OxenTI - Desenvolvimento de Soluções Inovadoras em TI
OxenTI - Desenvolvimento de Soluções Inovadoras em TIOxenTI - Desenvolvimento de Soluções Inovadoras em TI
OxenTI - Desenvolvimento de Soluções Inovadoras em TI
 
Pitch BestPoint - DemoDay StartupSummer 2015
Pitch BestPoint - DemoDay StartupSummer 2015Pitch BestPoint - DemoDay StartupSummer 2015
Pitch BestPoint - DemoDay StartupSummer 2015
 
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
 
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?
 
QlikView In Action - Do BI ao Business Discovery!…
QlikView In Action - Do BI ao Business Discovery!…QlikView In Action - Do BI ao Business Discovery!…
QlikView In Action - Do BI ao Business Discovery!…
 
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
 
Adeus BI, Seja Bem Vindo a Era do Analytics?
Adeus BI, Seja Bem Vindo a Era do Analytics?Adeus BI, Seja Bem Vindo a Era do Analytics?
Adeus BI, Seja Bem Vindo a Era do Analytics?
 
Derivação de Modelos ER
Derivação de Modelos ERDerivação de Modelos ER
Derivação de Modelos ER
 
Business Intelligence - Prática e Experiências
Business Intelligence - Prática e ExperiênciasBusiness Intelligence - Prática e Experiências
Business Intelligence - Prática e Experiências
 
Inteligência de Negócios e Software Livre
Inteligência de Negócios e Software LivreInteligência de Negócios e Software Livre
Inteligência de Negócios e Software Livre
 
Business Intelligence & Business Analytics
Business Intelligence & Business AnalyticsBusiness Intelligence & Business Analytics
Business Intelligence & Business Analytics
 

Integração de Dados com ETL

  • 1. Integrando Bases de Dados com Software Livre Mauricio Cesar Santos da Purificação
  • 2. Mauricio C. S. da Purificação • Bacharelando em Ciência da Computação na Universidade Federal da Bahia (UFBA). • Atuo como Analista de BI (Business Intelligence) do CPD-UFBA e faço pesquisa na área de Business Intelligence, Business Analytics e aplicação de métodos ágeis em projetos de Data Warehousing participando do Grupo de Pesquisa CEManTIKA da UFBA. • Minhas principais áreas de interesse estão relacionadas à: Banco de Dados, Engenharia de Software, Métodos Ágeis, Gestão e Governança de TI, Gestão de Projetos, Informática Aplicada a Administração, Sistemas de Informações Gerenciais, Business Intelligence, Business Analytics e Data Warehousing. http://lattes.cnpq.br/3312807554334758
  • 3. Agenda • Contexto • Heterogeneidade de Sistemas • Abordagens Para Integração de Dados • Classificação dos Sistemas de Integração – Integração Estática – Integração Dinâmiza • Modelos Para Integração de Dados – Banco de Dados Federados – Mediadores – ETL e Data Warehousing • Ferramentas de ETL Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 3 @DCC-UFBA | @CEManTIKA
  • 4. Contexto • O objetivo de um sistema de integração de dados é oferecer aos usuários uma interface uniforme de acesso à diferentes fontes de dados, de forma que os usuários definam consultas especificando “o que” se deseja saber e o sistema determine “onde” a informação pode ser encontrada e, em seguida, apresente as respostas para as consultas do usuário. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 4 @DCC-UFBA | @CEManTIKA
  • 5. Heterogeneidade de Sistemas – Conflitos de Esquemas • Conflitos de Generalização – São aqueles onde um atributo ou classe assume o valor de muitos atributos ou representa várias classes em outro banco de dados. • Conflitos de Tipos de Dados – São aqueles onde um tipo de dados de um atributo difere do tipo de dados do atributo com o mesmo significado em outro banco de dados. • Conflitos Estruturais – São aqueles onde uma entidade em um sistema é modelada como atributo em outro. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 5 @DCC-UFBA | @CEManTIKA
  • 6. Heterogeneidade de Sistemas – Conflitos de Esquemas • Perda de Atributos – É o caso onde não existe o atributo em outro esquema. • Conflitos de Nomes – É o caso onde as entidades de diferentes sistemas têm o mesmo significado, porém são referenciadas com nomes diferentes. • Conflitos de Escala – Dizem respeito à unidade apropriada para o valor do atributo. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 6 @DCC-UFBA | @CEManTIKA
  • 7. Caracteristicas dos Sistemas de Integração e Interoperação Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 7 @DCC-UFBA | @CEManTIKA
  • 8. Heterogeneidade de Sistemas – Hardware e Sistemas Operacionais • Relaciona-se com a criação de novos dispositivos e Sistemas Operacionais. • Embora a maioria das grandes corporações adote o uso de padrões na criação de novos dispositivos, existem esforços no sentido de permitir que sistemas operacionais e dispositivos de massa tenham uma interface de comunicação padronizada. • O uso de APIs (Application Program Interface) e asorganizações regulamentadoras têm mostrado bons resultados neste nível de heterogeneidade. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 8 @DCC-UFBA | @CEManTIKA
  • 9. Heterogeneidade de Sistemas – Modelos Organizacionais • Refere-se aos diversos modelos de sistemas de bancos de dados existentes. • Os progressos neste nível enfocam mapeamentos dos modelos relacionais, orientado a objetos, hierárquicos, rede e outros modelos derivados. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 9 @DCC-UFBA | @CEManTIKA
  • 10. Heterogeneidade de Sistemas – Representação • Refere-se a um dos problemas de natureza semântica existentes. • Geralmente ocorre quando tamanhos de campos são diferentes ou possuem tipos semelhantes, mas com representações internas diferentes. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 10 @DCC-UFBA | @CEManTIKA
  • 11. Heterogeneidade de Sistemas – Escopo • Baseia-se nos diferentes domínios dos objetos de um sistema. Geralmente pode-se ter entidades que representem uma porção do mundo real. • Cada sistema, de acordo com as regras do negócio implementado, possui representações de um subconjunto de uma entidade do mundo real. Portanto, a integração de tais sistemas deve gerar uma visão resultante que corresponde a uma entidade mais abrangente. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 11 @DCC-UFBA | @CEManTIKA
  • 12. Heterogeneidade de Sistemas – Abstração • Consiste no nível de detalhamento dos atributos que cada entidade possui no sistema de integração. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 12 @DCC-UFBA | @CEManTIKA
  • 13. Heterogeneidade de Sistemas – Significado • É bem mais complexa e denota a dificuldade em determinar o significado dos atributos com equivalência de nomes. • Por exemplo, o atributo nome em uma relação pessoa denota seu verdadeiro nome na vida real, em contrapartida, em uma entidade departamento o mesmo atributo tem significado diferenciado. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 13 @DCC-UFBA | @CEManTIKA
  • 14. Heterogeneidade de Sistemas – Tempo • Por causa da autonomia e independência dos sistemas, quando ocorre atualizações assíncronas, podem ocorrer resgates de informações desatualizadas. • Seja um sistema que possua atualização feita uma vez por semana e os demais que fazem parte do sistema integrado, com atualizações online. • Pode ser gerada uma visão integrada de relações onde atributos semelhantes aos sistemas possam estar atualizados associados com atributos que ainda não sofreram atualizações. • Desse modo, a visão apresentaria informações com temporalidades diferentes. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 14 @DCC-UFBA | @CEManTIKA
  • 15. Abordagens Para Integração de Dados Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 15 @DCC-UFBA | @CEManTIKA
  • 16. Integração Estática Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 16 @DCC-UFBA | @CEManTIKA
  • 17. Integração Dinâmica Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 17 @DCC-UFBA | @CEManTIKA
  • 18. Banco de Dados Federados Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 18 @DCC-UFBA | @CEManTIKA
  • 19. Mediadores Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 19 @DCC-UFBA | @CEManTIKA
  • 20. ETL Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 20 @DCC-UFBA | @CEManTIKA
  • 21. Extração • Extração de dados dos sistemas de origem. – Sistemas diferentes. – Cada sistema pode utilizar um formato ou organização de dados diferente. • Busca das informações mais importantes em sistemas fontes ou externos e que estejam em conformidade com a modelagem do DW. – Demanda de utilização de formas de extração diferentes para cada local.
  • 22. Extração • Projetar e criar o processo de extração é uma das tarefas mais demoradas no processo de ETL. • Fonte de sistema muito complexa – Dificuldade para determinar quais dados devem ser extraídos.
  • 23. Extração • No momento de criação do DW é comum uma carga de dados inicial que faça com que a extração busque todos os dados dos sistemas fontes. – Extração Completa. • Depois, a extração deve estar preparada apenas para fazer cargas incrementais. – A carga incremental que carrega apenas os registros que foram alterados ou inseridos desde a carga inicial é muito mais eficiente. – Extração Incremental.
  • 24. Transformação • Aplicação de um série de regras ou funções aos dados extraídos para derivar os dados a serem carregados. • Além da transformação, há a limpeza dos dados. • A intensidade da manipulação dos dados depende de cada fonte de dados.
  • 25. Qualidade dos Dados • Características mais relevantes para garantir a qualidade: – Unicidade • Evitando assim duplicações de informação; – Precisão • Os dados não podem perder suas características originais quando carregados para o DW; – Completude • Não gerando dados parciais de todo o conjunto relevante às análises; – Consistência • Os fatos devem apresentar consistência com as dimensões que o compõem.
  • 26. Transformação • Os ajustes não modificarão as fontes de dados, e sim, os dados extraídos para o DW. • Esses ajustes são modelados de acordo com o operador do DW, atendendo assim as restrições que for determinadas pelo usuário.
  • 27. Limpeza dos Dados • Correção de erros de digitação. • Descoberta de violações de integridade. • Substituição de caracteres desconhecidos. • Padronização de abreviações.
  • 28. Conflitos • Encontrados no processo de homogeneização. • Semânticos – Aqueles que envolvem o nome ou a palavra associada às estruturas de modelagem. • Mesmo nome para diferentes entidades. • Diferentes nomes para a mesma entidade. • Estruturais – Relativos às estruturas de modelagem escolhidas. • Ex.: diferentes tipos de dados para os mesmos campos.
  • 29. Tipos de Transformação • Exemplos: – Seleção de apenas determinadas colunas para carregar – Codificação de valores de forma livre • mapeando “Masculino”,“1” e “Sr.” para M, – Derivação de um novo valor calculado • montante_vendas = qtde * preço_unitário – Junção de dados provenientes de diversas fontes – Resumo de várias linhas de dados • total de vendas para cada loja e para cada região – Geração de valores de chaves substitutas (surrogate keys) – Transposição ou rotação • transformando múltiplas colunas em múltiplas linhas ou vice- versa – Quebra de uma coluna em diversas colunas
  • 30. Carga • Etapa final da ETL. • Os dados teoricamente já se encontram limpos e transformados. • Realiza-se a carga dos dados da Staging Area para o Data Warehouse em si. • Depende das necessidades da organização – Podem substituir as informações existentes semanalmente, com dados cumulativos e atualizados. – Podem adicionar dados a cada hora.
  • 31. Verificações • Antes da realização da carga, deve se realizar mais uma verificação. • Verifica-se integridade dos dados. – Validação das chaves estrangeiras com suas respectivas chaves primarias, confirmando que a informação realmente consiste.
  • 32. Carga • Existem dois tipos de tabelas: – Tabelas de fatos • Quantidade de produtos que foi vendido, contém o valor da venda e o valor unitário do produto vendido • Contém chaves para as tabelas de dimensões. – Tabelas de dimensões • Tempo, Loja e Produto
  • 33. Carga • Incremental – Os dados serão apenas adicionados ao Data Warehouse. • Total – Os dados existentes serão excluídos e os dados são re-inseridos.
  • 34. Carga • Geralmente orienta-se que a carga incremental seja realizada em tabelas fatos e a carga total em dimensões. – Os dados das dimensões não sofrem tantas alterações. – Tabelas fatos sofrem bastante alteração • São entidades que tendem a ter um crescimento continuo, devido a armazenarem informações consolidadas do assunto, obtidas e guardadas do dia- dia da organização.
  • 35. Ferramentas de ETL Figura: Ferramentas open-source de ETL mais utilizadas Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 35 @DCC-UFBA | @CEManTIKA
  • 36. Pentaho Data Integration • Projeto Open Source encampado pelo Pentaho em 2006 – Desenvolvido por Matt Casters – Anteriormente conhecido como Kettle – KDE Extraction, – Transportation, Transformation and LoadingEnvironment Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 36 @DCC-UFBA | @CEManTIKA
  • 37. Pentaho Data Integration Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 37 @DCC-UFBA | @CEManTIKA
  • 38. Pentaho Data Integration Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 38 @DCC-UFBA | @CEManTIKA
  • 39. Pentaho Data Integration Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 39 @DCC-UFBA | @CEManTIKA
  • 40. Pentaho Data Integration Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 40 @DCC-UFBA | @CEManTIKA
  • 41. Pentaho Data Integration • O PDI trabalha com dois tipos básicos de componentes: – Transformações – Jobs • Características de transformações e jobs – Definem o fluxo do processo de ETL – Contém os metadadosdo processo de ETL • Descrição dos dados; • Fontes de entrada e saída; • Scheduling; • Scripting. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 41 @DCC-UFBA | @CEManTIKA
  • 42. Pentaho Data Integration Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 42 @DCC-UFBA | @CEManTIKA
  • 43. Pentaho Data Integration Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 43 @DCC-UFBA | @CEManTIKA
  • 44. Pentaho Data Integration Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 44 @DCC-UFBA | @CEManTIKA
  • 45. Pentaho Data Integration • Outros componentes do PDI: – Repositórios • Os metadados das transformações e jobs podem ser persistidos em um banco de dados (repositório) • Ferramentas: – Spoon: IDE para desenvolvimento visual. – Pan: execução de transformações em linha de comando. – Kitchen: execução de jobs em linha de comando. – Carte: servidor de para execução remota de transformações e jobs. Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 45 @DCC-UFBA | @CEManTIKA
  • 46. Pentaho Data Integration Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 46 @DCC-UFBA | @CEManTIKA
  • 47. Análise Comparativa Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 47 @DCC-UFBA | @CEManTIKA
  • 48. Análise Comparativa Mauricio Cesar Santos da Purificação | 02/07/2011 @CPM Braxis Capgemini | @CPD-UFBA | 48 @DCC-UFBA | @CEManTIKA
  • 49. Integrando Bases de Dados com Software Livre /mscesar mscesar @