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   @

Integrando Base de Dados com Software Livre

  • 1.
    Integrando Bases deDados 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 • Heterogeneidadede 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 objetivode 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 Sistemasde 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çãode 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 DadosFederados 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 dedados 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 ecriar 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 momentode 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 deum 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 ajustesnã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 noprocesso 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 finalda 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 darealizaçã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 doistipos 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-seque 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 deDados com Software Livre /mscesar mscesar @