Prévia do material em texto
Tecnologia de Data Warehouse (continuação) Sistemas de Informação e Decisão II Prof. Dr. Alex Fabianne de Paulo O que vimos na última aula • Perspectiva do Analista de Negócios • Análise de dados em data warehouse: OLTP e OLAP • Multidimensionalidade e cubo de dados • Operações OLAP: slice, dice, drill-down, roll-up, pivot • Processos ETL • Granularidade dos dados • Transformação dos Dados (crítico!) • Atualização: quando e como atualizar • Data warehouses massivos e escalabilidade • Administração e segurança em DW (crítico!) • Problemas na implementação 2 O futuro do armazenamento de dados • Fonte: • Web, mídias sociais e Big Data • Software de código aberto • SaaS (software as a service) • Computação em nuvem • Lagos de dados (data lakes) • Infraestrutura: • Colunar • Armazenamento de dados em tempo real • Equipamentos de data warehouse • Tecnologias e práticas de gerenciamento de dados • Tecnologia de processamento na própria base de dados e tecnologia de armazenamento em memória • Novos sistemas de gerenciamento de base de dados; análise de dados avançada • Armazenador de dados não estruturado, aberto a todos os tipos de dados (isto é, Big Data) • Lagos de dados versus data warehouse • Uma comparação simples entre data warehouse e data lake Dimensão Data warehouse Lago de dados A natureza dos dados Estruturados, processados Qualquer dado em formato bruto/nativo Processamento Schema-on-write (SQL) Schema-on-read (NoSQL) Velocidade de recuperação Muito rápida Lenta Custo Caro para grandes volumes de dados Voltado para armazenamento de baixo custo Agilidade Menos ágil, configuração fixa Bastante ágil, configuração flexível Novidade/inovação Não novo/maduro Muito novo/amadurecendo Segurança Muito seguro Ainda não tão seguro Usuários Profissionais de negócios Cientistas de dados Data lake Considere o esquema relacional: 1. Faturas (nºfatura, nºcliente, data, cod-condpag, cod-região, nºvendedor) 2. Região (cod-região, descrição) 3. CondPagto (cod-condpag, descrição) 4. LinhasFaturas (nºfatura, cod-artigo, quantidade, preço_un) 5. Clientes (nºcliente, nome, endereço, cpf, cod-tipo, cod-país) 6. Tipo (cod-tipo, descrição) 7. País (cod-país, nome) 8. Vendedores (nºvendedor, nome, comissão, cod-loja) 9. Lojas (cod_loja, nome) 10.Artigos (cod-artigo, descrição, preço, cod-subfamilia, cod-marca) 11.SubFamília (cod-subfamilia, subfamília, cod-familia) 12.Família (cod-família, família) 13.Marca (cod-marca, marca) Modelagem Multidimensional Considere o esquema relacional: Modelagem Multidimensional O esquema relacional foi derivado do seguinte diagrama entidades e relacionamentos • Analisando a informação disponível, temos: • Tabela de Fato: • Vendas • Tabelas de Dimensão • Clientes • Vendedores • Região • CondPagamento • Tempo • Artigos Modelagem Multidimensional Modelo Multidimensional Modelagem Multidimensional Ferramentas ETL Ferramentas ETL • Antes da concepção das ferramentas ETL, todo processo de integração de dados de diferentes fontes era concebido por meio de codificação (scripts), por exemplo em PL/SQL. • Apesar de serem mais propensos a erros e muitos vezes menos performáticos, ainda há muito ETL feito de forma “manual”. Os motivos disso podem ser vários... • Diferentemente do ETL baseado em código, as ferramentas atuais são mais versáteis, podem acessar simultaneamente diferentes bases e formatos de dados, além de terem uma curva de aprendizado muito menor. Ferramentas ETL Algumas vantagens para adoção de ferramentas ETL • Necessário conhecer de TI e ter raciocínio lógico, mas não precisa programar; • O desenvolvimento do ETL fica mais simples, mais rápido e mais barato • A operação é mais eficiente por utilizar elementos visuais, além do que a manutenção fica otimizada e eficaz • A orquestração de processos complexos fica mais facilitadas • Diversas ferramentas ETL têm recursos que geram documentação, facilitando a sustentação de todo sistema • Em um momento que se preza tanto pela segurança de dados, recursos como criptografia, monitoramento e auditoria já podem vir embarcados tornando o entendimento dos processos mais fácil. Pentaho • O Pentaho trata-se de uma suíte de código aberto com ferramentas visuais para análise de dados, inclusive para ETL. • Combina tarefas de integração e análise de dados, acelerando muito todo processo coleta, tratamento, carga e análise de dados • Especificamente o PDI (Pentaho Data Integration), pode ser baixado em: https://sourceforge.net/projects/pentaho/files/Pentaho%208.0/client- tools/pdi-ce-8.0.0.0-28.zip/download • Não necessita instalação (basta descompactar em C:\Pentaho) • Copiar ojdbc6.jar para a pasta C:\Pentaho\data-integration\lib • Configure as variáveis de ambiente executando o arquivo set-pentaho- env.bat • Execute o Spoon.bat para iniciar a ferramenta visual do PDI • Necessário ter Java JRE 8 instalado. Pentaho Data Integration (PDI) Pentaho Data Integration (PDI) Pentaho Data Integration (PDI) • O Spoon é a aplicação para desenho e orquestração de todo fluxo de processamento ETL • Inclui a parte de transformações e a também a parte de Jobs para agendamento e execução de tarefas • O PDI usa esquemas de fluxos de trabalho (Transformações) para fazer a coleta, transformação e carga • As transformações são grafos direcionados que representam um conjunto de configurações • Cada transformação é montada como se fosse um lego (blocos) • É composta por steps que são ligados por hops • Sempre que um fluxo de transformação for executado com sucesso, o check é colocado no step. • Caso contrário, o step fica marcado com e aparece no log o erro. Pentaho Data Integration (PDI) Exemplo de um fluxo de transformação Pentaho Data Integration (PDI) • No exemplo anterior, se lê um arquivo CSV, faz a transformação e armazena em na tabela de uma base de dados relacional • Os steps são blocos de transformação agrupados por função • Input, Output, Transformação, Pesquisa (lookup), estatísticas, validação, etc. • Toda transformação deve ter sempre uma entrada, uma saída e uma ação de transformação • Em fluxos mais complexos (o que é bem comum), um step B de saída pode ser também de entrada para um step C • Os hops direcionam os fluxos de dados. Eles conectam cada step até se ter os dados transformados e carregados na base final Pentaho Data Integration (PDI) Fluxo de transformação com múltiplas entradas e saídas Pentaho Data Integration (PDI) • Além das transformações, o PDI também disponibiliza a funcionalidade de Jobs. • Os Jobs têm a função de orquestrar a execução das transformações, incluindo a execução de outros jobs. • Como uma poderosa ferramenta, ela permite gerenciar todo o fluxo de extração, transformações e cargas, inclusive apontando eventuais falhas • Nesta situação, pode avisar o administrador do ambiente por email, por exemplo. • Ser gatilho para outros Jobs ou abortar execuções posteriores • A programação sequencial (ou paralela) dos Jobs é uma decisão de projeto e depende de vários fatores, especialmente capacidade de processamento • Uma transformação feita incorreta e executada por um job, pode prejudicar uma base de dados completamente!!! Pentaho Data Integration (PDI) Exemplo de execução de um Job Pentaho Data Integration (PDI) Acesso ao PDI Exercícios 1. O que é um data warehouse? 2. Cite 3 características de um DW? 3. “Toda empresa deve ter um DW como elemento de um sistema de apoio a decisão”. Avalie se a afirmativa é verdade e justifique. 4. Sendo você um analista de informações, como você convenceria a diretoria da sua empresa e investir em um data warehouse? Detalhe. 5. Qual a diferença entre data mart e data lake? 6. Cite 2 fatores que podem afetar a seleção de uma arquitetura. 7. Qual a relevância do processo de ETL num ambiente de BI? Em que situações é necessário um ferramentas? 8. Quais seriam algunscontrastes entre as abordagens de desenvolvimento de um DW baseado no modelo DM e EDW? 9. Estudo de caso - Considere o esquema relacional simplificado do ERP de uma indústria de cosméticos • Funcionários (cod_func, nome, data_nasc, endereço, cod_postal, salario, cod_depart) • Departamentos (cod_depart, nome, cod_diretor, data_inicio) • Atividade (cod_ativ, descrição, orçamento, duração, cod_depart) • Fornecedores (cod_fornecedor, nome, endereço, código_postal) • Artigos (cod_artigo, descrição) • Participações (cod_func, cod_proj, horas_trabalho, data) • Consumos (cod_fornecedor, cod_artigo, cod_proj, qtd, preço_unitário, data) Exercícios 9. Estudo de caso - Considere o esquema relacional simplificado do ERP de uma indústria de cosméticos Com base no DER abaixo, faça a modelagem multidimensional Exercícios Referências • MACHADO, F. N. R. Tecnologia e projeto de Data Warehouse. Editora Érica; 6ª edição, 2013. • KIMBALL, R. The Data Warehouse Lifecycle Toolkit. 1 ed. John Wiley Professional, 2008. • SHARDA, R; DELEN, D; TURBAN, E. Business Intelligence e análise de dados para gestão do negócio. Porto Alegre: Bookman, 2019. • Uso de parte de material produzido pelo Prof. José Eduardo F. Lopes 25