Integrando Base de Dados com Software Livre

  • 576 views
Uploaded on

Palestra realizada no 12° Fórum Internacional de Software Livre

Palestra realizada no 12° Fórum Internacional de Software Livre

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
576
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 @