Motivação Problemas para tomada de decisão Muitos dados e informações Pouco conhecimento
Motivação Uso amigável Sistemas computacionais que integram dados oriundos de diversas fontes Grande poder analítico Sistemas de suporte à decisão
Motivação Algumas possíveis aplicações: Determinar o mercado-alvo de um produto Definir o preço de um produto, criar promoções e condições especiais de compra Verificar a eficácia de campanhas de marketing Otimizar a quantidade de produtos no estoque Responder rapidamente a mudanças no mercado e determinar novas tendências
Motivação Arquitetura de Sistemas de Suporte à Decisão Operacional (normalmente já existe) Estratégico/Tático (Data warehouse)
Data Warehouse O que é um DW? Sistema que armazena dados históricos usados no processo de tomada de decisão Integra os dados corporativos de uma empresa em um único repositório
Data Warehouse - Conceito Definição Clássica (William H. Inmon) Um DW é um conjunto de dados orientado por assuntos, não volátil, variável com o tempo e integrado, criados para dar suporte à decisão
Data Warehouse - Características Orientado por assunto Produtos Clientes Estoque Fornecedor DW Vendas Dados organizados por Aplicações de Venda Dados organizados pelo assunto Vendas Adaptado de [Fidalgo, 2009]
Data Warehouse - Características Não volátil (não sofrem alterações) Produtos Clientes Estoque Fornecedor DW Vendas Adaptado de [Fidalgo, 2009]
Data Warehouse - Características Variável com o tempo (mantém dados históricos) Produtos Clientes Estoque Fornecedor DW Vendas Produto Preço Caneta Azul 0,50 Lápis Preto 0,30...... Produto Jan/03 Fev/03 Mar/03 Caneta Azul 0,40 0,45 0,50 Lápis Preto 0,25 0,28 0,30............ Adaptado de [Fidalgo, 2009]
Data Warehouse - Características Integrado (homogeneidade de dados) Brasil Estados Unidos Peso (lb) Produtos Peso (kg) Produtos Peso (oz) Produtos Inglaterra I N T E G R A Ç Ã O Peso (gr) DW Vendas Adaptado de [Fidalgo, 2009]
Data Warehouse - Características Data Mart (DM) É um DW departamental (específico a um assunto/negócio) Subconjunto do DW que satisfaz os requisitos de uma atividade de negócio Todos os DM s devem ser construídos usando dimensões e fatos (modelo dimensional) IN1177 - Banco de Dados para Suporte à Decisão
Data Warehouse Inmon X Kimball Inmon Implementação iterativa do DW O sistema começa pequeno e evolui progressivamente em espaços curtos de tempo Os DM s derivam do DW O DW/DM podem ser normalizados Kimball O DW é a união de todos os seus DM s Implementar um DM de cada vez Não recomenda normalizar o DW/DM
Data Warehouse - Componentes Baseado em [KIMBALL, 2002] R. KIMBALL et. al. The Data Warehouse Toolkit: The complete guide to dimensional modeling. 2. ed. USA: Wiley,2002.
Data Warehouse - Componentes Área de Data Staging Fonte: [Kimball, 2002] Uma área de armazenamento e/ou conjunto de processos ETL(Extract- Transform-Load Não necessariamente utiliza modelos relacionais (pode ser flat file é mais rápido) É a cozinha do restaurante
Processo de ETL Extração Processo de ETL Transformação Carregamento
Processo de ETL Extração de dados de diferentes fontes e formatos Validação e descarte de dados de acordo com regras e padrões Transformação dos dados de acordo com requisitos técnicos e de negócio Conversão dos tipos de dados, filtragem de dados, sumarização Carregamento dos dados transformados em uma base de dados Reescrita dos dados e adição de novas informações
Data Warehouse - Características Operational Data Store (ODS) BD Integrado e transacional entre as fontes de dados e o DW Otimizado para decisões em tempo real
Data Warehouse - Arquitetura Adaptado de [Fidalgo, 2009]
Modelagem Dimensional Fonte: [Fidalgo, 2009]
Modelagem Dimensional As tabelas de dimensões Seus atributos armazenam as descrições do negócio e normalmente são usados nas cláusulas de groupby/having Ex: Categoria (Bebida), Tipo (Diet), Marca (Coca-cola) O menor nível hierárquico define o grão do DW Têm PK simples (em geral, artificiais: surrogate keys ) Desnormalizada (1FN)
Modelagem Dimensional Exemplo - Dimensão Data Janeiro de 2010
Modelagem Dimensional A tabela de fatos Tabela central, normalizada (3a FN), com poucos campos e com grande volume de Sua PK é a composição das PKs das dimensões Cada fato é a interseção entre as dimensões relacionadas Medidas são usualmente numéricas Ex.: Vendas (R$), Vl_unitário (R$), Despesas (R$), QtdVendida Varia continuamente a cada amostragem
O Esquema Estrela Fonte: [Fidalgo, 2009]
O Esquema Estrela 5W e 3H Fonte: [Fidalgo, 2009]
O Esquema Snowflake (normalizado) Fonte: [Fidalgo, 2009]
Dimensões freqüentes Fonte: [Fidalgo, 2009]
Slowly Changing Dimensions (SCD) Tipo 1: Atualizar por cima do valor antigo Atualização das tabelas de dimensões Tipo 2: Adicionar uma nova linha com o novo valor Tipo 3: Adicionar uma nova coluna, preservando o valor anterior
Data Warehouse - Componentes Área de Data Presentation Área onde os dados estão armazenados e disponíveis para Consultas Geração de relatórios Aplicações analíticas
Projeto Dimensional do DW Quatro passos básicos Selecionar o processo de negócio a modelar Declarar o grão do processo de negócio Escolher as dimensões que se aplicam a cada linha da tabela de fatos Identificar os fatos que irão popular cada linha da tabela de fatos
Data Warehouse - Componentes Área de Data Access Tools Ferramentas de consulta/análise do DW
Abstração do DW Cubo multidimensional É uma abordagem multidimensional para visualização e organização dos dados Várias dimensões podem ser usadas simultaneamente Fonte: [Fidalgo, 2009]
Abstração do DW Exemplo de consulta Total de vendas do produto AAAA Fonte: [Fidalgo, 2009]
Abstração do DW Exemplo de consulta Total de vendas da Loja F03 Fonte: [Fidalgo, 2009]
Abstração do DW Exemplo de consulta Total de vendas de 1999 Fonte: [Fidalgo, 2009]
Abstração do DW Exemplo de consulta Total do produto BBBB, em 1999 e na loja F02 Fonte: [Fidalgo, 2009]
OLAP O que é OLAP (OnLine Analytical Processing)? Tecnologias projetadas para analisar dados que estão no DW Lida com dados históricos (dimensão temporal) Oferece visões multidimensionais (perspectivas) Analisa dados em diferentes níveis hierárquicos
OLAP Exemplos de consultas OLAP Quais os produtos mais bem vendidos no mês passado? Quais os 10 piores vendedores dos departamentos da filial X? Qual a média salarial dos funcionários de informática na região sul nos últimos 5 anos?
Arquiteturas OLAP OLAP Relacional (ROLAP) Utiliza BD relacional para fazer análise dos fatos Mais flexível e mais geral OLAP Multidimensional (MOLAP) Utiliza MDDB proprietários para manipular fatos agregados Para soluções específicas ou departamentais OLAP Híbrido (HOLAP) Mistura de MOLAP com ROLAP Tendência?
Principais operações OLAP Drill Down e Roll Up Fonte: [Fidalgo, 2009]
Principais operações OLAP Rotação (diferentes visões dos dados) Fonte: [Fidalgo, 2009]
Principais operações OLAP Slice and Dice ( fatia o cubo, sem inversão dos eixos) Fonte: [Fidalgo, 2009]
Pentaho BI Suite Coleção de Aplicações de Software Criação e deployment de soluções para tomada de decisão Open source Enterprise /Community Editions http://www.pentaho.com
Pentaho BI Suite Análise multidimensional Integração de dados Reporting Funcionalidades Dashboards Mineração de dados
Pentaho BI Suite
Arquitetura do Pentaho BI Camadas da arquitetura do Pentaho BI Suite (Bouman and Dongen, 2009)
Pentaho BI Suite Pentaho BI Platform demo Instalação pré-configurada da plataforma Pentaho Demonstração do uso de relatórios, cubos e dashboards Base de dados Steel Wheels Download http://sourceforge.net/projects/pentaho/files/ Pasta Business Intelligence Server: arquivo biserver-ce-4.8.0.stable.zip (~170MB)
Pentaho Data Integration Uma das ferramentas de BI da plataforma Pentaho Projeto open source encampado pelo Pentaho em 2006 Desenvolvido por Matt Casters Anteriormente conhecido como Kettle KDE Extraction, Transportation, Transformation and Loading Environment
Pentaho Data Integration Timeline do PDI
Pentaho Data Integration Principais funcionalidades do PDI Integração de Dados Processo de ETL
Pentaho Data Integration Carregando dados em um DW ou datamart Extração Processo de ETL Transformação Carregamento
Pentaho Data Integration Extração de dados de diferentes fontes e formatos Validação e descarte de dados de acordo com regras e padrões Transformação dos dados de acordo com requisitos técnicos e de negócio Conversão dos tipos de dados, filtragem de dados, sumarização Carregamento dos dados transformados em uma base de dados Reescrita dos dados e adição de novas informações
Pentaho Data Integration Carregamento Extração Transformação
Pentaho Data Integration Atividades de Extração Captura dos dados Leitura a partir de diversas fontes Identificação de mudanças desde a última extração. Staging Armazenamento temporário dos dados.
Pentaho Data Integration Fontes de entrada de dados Sistemas de gerenciamento de banco de dados
Pentaho Data Integration Fontes de entrada de dados Planilhas
Pentaho Data Integration Fontes de entrada de dados Arquivos texto ou XML
Pentaho Data Integration Atividades de Transformação Validação dos dados Verificação se os dados estão corretos e precisos. Filtragem de dados inválidos. Limpeza dos dados Correção de dados inválidos. Decodificação Conversão de atributos (numéricos, categóricos) para adequação a um padrão ou regra. Agregação Geração e gerenciamento de chaves Dimensões identificadas por chaves substitutas ( surrogates ).
Pentaho Data Integration Atividades de Carregamento Carregamento das tabelas de fatos Adição de linhas à tabela de fatos. Atualização de atributos de status. Carregamento e manutenção das tabelas de dimensões Adição e atualização de linhas das tabelas de dimensões.
Instalando o PDI Pré-requisito JRE (ou JDK) 5.x ou superior. Download http://sourceforge.net/projects/pentaho/files/ Pasta Data Integration Obter a última versão estável 4.4.0 420 MB 3.2.0 77.2 MB
Principais Componentes do PDI 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 metadados do processo de ETL Descrição dos dados; Fontes de entrada e saída; Scheduling; Scripting.
Principais Componentes do PDI Como as transformações e jobs são executados? Uma transformação ou job consiste de uma coleção de itens interconectados
Principais Componentes do PDI Conexões entre os itens das transformações e jobs Hop s Pipeline do fluxo de registros
Principais Componentes do PDI Steps, hops e o fluxo de registros (Bouman and Dongen, 2009)
Principais Componetes do PDI Transformações Consiste de uma coleção de steps de transformação Cada step denota uma operação do processo de ETL A saída de um step produz um conjunto de registros Fluxo dos steps da transformação ocorre de forma simultânea e assíncrona Arquivo.ktr Jobs Consiste de uma coleção de transformações ou de steps de jobs Cada entrada do job denota uma tarefa do processo de ETL A saída de cada entrada do job produz um status de execução Fluxo dos steps do job ocorre de forma sequencial Arquivo.kjb
Principais Componentes do PDI 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.
Arquitetura do PDI (Bouman and Dongen, 2009)
PDI na prática Execução de uma transformação simples
Bibliografia Site do PDI: http://kettle.pentaho.com/