Implementando Business
Intelligence com o Microsoft
SQL Server 2005
Objetivos
Fornecer uma visão sobre os conceitos envolvidos na tecnologia de Business Intelligence.
O que é Business Intelligence?
Porque utilizar uma solucão de BI?
Como identificar a necessidade de uma solução de BI Sistemas OLTP x OLAP
Data Warehouse e Data Mart Processo ETL
Modelagem Multidimensional Surrogate Key
O que é Business Intelligence?
“Descreve as habilidades das corporações para acessar dados e explorar as informações, analisando-as e
desenvolvendo percepções e entendimentos a seu respeito, o que as permite incrementar e tornar mais pautada em informações a tomada de decisão”
É um conjunto de ferramentas e metodologias para
gestão do negócio que tem como objetivo final auxiliar os responsáveis pela tomada de decisões através da análise das informações internas e externas à
empresa.
O que é Business Intelligence?
• BI é também conhecido como Inteligência dos Negócios ou Inteligência Empresarial
• O termo Business Intelligence foi criado pelo Gartner Group em 1992
O que é Business Intelligence?
Business Intelligence é a transformação de dados em informações úteis para tomada de decisão sobre os negócios.
Como identificar a necessidade de uma solução de BI
• Quando possuir diversas fontes de dados • Dificuldades de acesso as informações • Informações centralizadas em pessoas
• Grande número de produtos, clientes, fornecedores • Grande volume de dados
• Necessidade de acesso as informações históricas • Difícil acesso aos relatórios gerenciais
Porque utilizar uma Solução de BI ?
• Agilidade no processo de tomada de decisões.
• Compartilhamento da informação com toda a organização • Aumento da competitividade e melhoria nos resultados. • Incremento na qualidade do planejamento operacional e estratégico
• Eliminação da obtenção e processamento da mesma informação em duplicidade.
Quem utiliza um sistema de BI ? Nível estratégico Nível de conhecimentos Nível administrativo Nível operacional Business Intelligence Sistemas OLTP
Componentes de BI
O BI é composto de um conjunto de processos, conceitos e tecnologias
DATA WAREHOUSE
DATA MART DATA MINING
OLAP ETL
SISTEMAS OLTP X
OLTP
OLTP é a sigla em inglês para Online Transaction
Processing, ou Processamento de Transações em tempo real.
Um sistema OLTP é um sistema que captura as
transações de um negócio e as mantém em estruturas relacionais em um banco de dados
Como exemplo de sistemas OLTP temos: Faturamento, Controle de Estoque, Folha de Pagamento, Comércio
Principais características de uma sistema OLTP:
• Responsável pelas operações de manutenção dos dados: inclusão, alteração e exclusão.
• As transações são realizadas em tempo real
• Possui uma estrutura de dados otimizada para validar a entrada dos mesmos ou rejeitá-los caso não atendam a determinada regra de negócio.
• Possui capacidade limitada para gerar informações para tomada de decisão, pois não é uma prioridade no seu desenvolvimento.
OLAP é a sigla em inglês para Online Analytical Processing, ou processamento analítico on-line.
Um sistema OLAP é projetado para dar suporte aos usuários na realização de consultas, análises e
cálculos sobre uma base de dados corporativa.
Principais características de uma sistema OLAP: • Banco de dados OLAP apresenta um esquema otimizado para que as consultam sejam realizadas rapidamente.
• Um sistema OLAP é preparado para gerar relatórios complexos de forma simples
• Os usuários podem gerar consultas no sistema OLAP sem que elas estejam pré-definidas
• O OLAP é projetado com a finalidade de atender a demanda de consulta a base de dados corporativa.
OLTP x OLAP
Características OLTP-Operacional OLAP-Decisão Objetivo
Visão dos dados Operações Atualização Interação do Usuário Granularidade Redundância Histórico Reg.Operações diárias Relacional
Incl., Alt., Excl e Cons.
Contínua (Tempo real) Pré-definida
Detalhados Não ocorre
Dado mais recente
Análise do negócio Multidimensional Carga e Consulta Periódica (Batch) Pré-definida e ad-hoc Detalhados e Resumidos Ocorre Mantém o histórico
Conceitos de Data Warehouse
Bill Inmon,
“Data Warehouse é uma coleção de dados orientados por assuntos, integrados, variáveis com o tempo e não voláteis, para dar suporte ao processo de tomada de decisão.“
Ralph Kimball,
“É um conjunto de ferramentas e técnicas de projeto, que quando aplicadas às necessidades específicas dos usuários e aos bancos de dados específicos permitirá que planejem e construam um data warehouse.“
Porque criar um Data Warehouse ?
• Integrar dados de múltiplas fontes • Facilitar o processo de análise sem impacto para o ambiente de dados operacionais
• Obter informação de qualidade
• Atender diferentes tipos de usuários finais • Flexibilidade e agilidade para atender
novas análises
BDs Operacionais
DW
.
A principal idéia do DW é construir um depósito onde será mantida memória histórica dos dados, possibilitando à utilização dos mesmos para consulta e análise estratégica para tomada de decisão.
Características do Data Warehouse
•Orientado a Assunto: organizado conforme diferentes visões de negócio. Ex: Vendas, Compras, etc.
•Integrado: a partir de fontes de dados heterogêneas. •Não Volátil: sempre inserido, nunca excluído.
•Variável com Tempo: posições históricas das atividades no tempo.
A granularidade diz respeito ao nível de detalhe contido nas unidades de dados existentes do DM.
Sua relação é inversamente proporcional:
• quanto mais detalhe menor é o nível de granularidade • quanto menos detalhe maior o nível de granularidade.
Exemplo:
Um sistema de uma empresa de telefonia registra diariamente todas as ligações efetuadas por seus clientes armazenando seu tempo de duração.
A área comercial da empresa necessita analisar o tempo gasto em ligações telefônicas por cliente mensalmente. Neste caso não é necessário carregar no DM o histórico diário de ligações.
Os registros diários deverão ser sumarizados por cliente para serem carregados no DM.
COD
CLIENTE FONE DATA INICIOHORA HORAFIM 20 4333-3098 05/01/2008 10:02:50 10:10:53 20 4211-2651 05/01/2008 14:06:32 14:08:43 20 4563-8261 06/01/2008 20:40:07 20:49:29 . . . . . . . . . . . . . . . 20 4233-1298 31/01/2008 09:25:26 09:38:15
COD_CLIENTE MÊS ANO DURAÇÃO
20 01 2008 262
Granularidade diária
Data Mart
“Um subconjunto lógico do Data Warehouse,
geralmente visto como um data warehouse setorial.” (Kimball) Um data mart é um pequeno data warehouse que
fornece suporte à decisão para uma determinada área de negócio.
Ex.: Vendas, compras, estoque ou recursos humanos.
As diferenças entre o data mart e o data warehouse são apenas com relação ao tamanho e ao escopo do problema a ser resolvido
• O custo de implementação e manutenção dos Data Marts é bem menor que o de um DW
• Os Data Marts têm o escopo mais limitado e por isso são mais identificados com grupos de necessidades dos usuários
• O desenvolvimento de um Data Mart é bem mais rápido do que desenvolvimento de um DW.
Diferenças entre a Filosofia de Bill Inmon e Ralph Kimball
Bill Inmon: Uma empresa inicia com o projeto do Data Warehouse de onde os data marts extraem sua
informação.
Ralph Kimball: Inicia-se com a criação de Data Marts que juntos vão formar o Data Warehouse da empresa.
Bases de Sistemas Transacionais Dados de Sistemas ERP Dados Locais Dados Externos Dados WEB DATA WAREHOUSE DATA MARTS ________ ________ ________ ________ ________ ________ ______ Relatórios Análise Financeira & Estatística
Arquitetura do Data Warehouse
Sistemas OLTP ETL DW – DM VISUALIZAÇÃO
EXTRAÇÃO ADEQUAÇÃO
LIMPEZA DERIVAÇÃO AGREGAÇÃO
Deter um enorme volume de dados na sua empresa não quer dizer nada. Você
precisa transformar dados brutos em informação.
É o processo responsável por ler os dados dos sistemas de origem, tratar, limpar, transformar e carregar os dados no Datawarehouse.
ETL (extração, transformação e carga)
É uma das fases mais críticas e complexa de um Data Warehouse:
- ambientes heterogêneos - várias fontes de dados
- ausência de modelo de dados de sistemas antigos - rotina executada fora do horário de produção
• Conexão com uma ou mais fontes de dados de origem • Seleção somente dos dados necessários
Extração:
ETL WAREHOUSEDATA
Transformação:
• Fundamental para clareza e integração • Processo de padronização dos dados (1/2, M/F, Masc/Fem)
• Tratamentos de campos NULL
• Uniformização de unidades de medidas, nomes de campos, datas etc.
• Concatenação e/ou desmembramento de campos
Transformação (codificação)
Operacional Codificação Data Warehouse
Aplicação A m,f Aplicação B 1,0 Aplicação C x,y
Aplicação D masc, fem
Transformação (medidas de atributos)
Operacional Codificação Data Warehouse
Aplicação A centímetros Aplicação B polegadas Aplicação C milhas
Aplicação D jardas
Transformação (fontes múltiplas)
Operacional Codificação Data Warehouse
Aplicação A descrição Aplicação B descrição Aplicação C descrição Aplicação D descrição descrição ?
Transformação (chaves discrepantes)
Operacional Codificação Data Warehouse
Aplicação A char(10) Aplicação B float (9,2) Aplicação C integer
Aplicação D char(12)
Carga:
É o processo de gravação dos dados no DW ou DM.
ETL (extração, transformação e carga)
ETL WAREHOUSEDATA
Modelagem Multidimensional
É uma técnica de modelagem utilizada para
representar as diferentes visões pelas quais um mesmo conjunto de informações pode ser
analisado.
A modelagem multidimensional é frequentemente utilizada para criação do projeto lógico do DW.
Modelagem Multidimensional
Os sistemas de base de dados tradicionais utilizam a normalização para garantir consistência dos
dados e uma minimização do espaço de armazenamento necessário.
Entretanto, algumas transações e consultas em bases de dados normalizadas podem se tornar lentas devido às operações de junção entre
tabelas. Um DW utiliza dados em formato desnormalizados
Isto aumenta o desempenho das consultas e, como benefício adicional, o processo torna-se mais
Para que se destina o Modelo Multidimensional
• uma representação simples do modelo de negócios estudado;
• um modelo físico de fácil interpretação
• sua implementação física do modelo deve maximizar performance das consultas aos dados.
O modelo multidimensional destina-se a análise de dados.
Modelo Estrela
É composto de uma tabela central chamada Tabela FATO e de tabelas periféricas denominadas tabelas de
DIMENSÕES Serviço Tempo Paciente Região Geográfica Admissão de Pacientes
Tabelas de Dimensões
Representam uma visão da área de negócios que se pretende analisar.
Ex.: Produto, Cidade, Cliente, etc.
Armazenam as descrições textuais das dimensões do negócio .
Ex.: Dimensão Cidade (Belo Horizonte, Rio de Janeiro, etc)
Cada tabela de dimensão deve possuir uma chave primaria pela qual se relacionará com a tabela de Fatos para
manter a integridade referencial.
Tabelas de Dimensões Modelo Estrela
• Uma dimensão pode ser projetada de forma a conter níveis hierárquicos.
• Cada nível irá conter seus respectivos membros • Entre os membros e entre os níveis de uma
dimensão existem relações do tipo pai, filho, irmão,
etc.
Relações e estrutura de uma Dimensão Modelo Estrela
Exemplo de Dimensão Região Geográfica
* REGIÃO NORTE SUDESTE SUL
** ESTADO PARÁ MINAS GERAIS RIO DE JANEIRO RIO GRANDE DO SUL
*** CIDADE BELÉM MARABÁ JUIZ DE
FORA UBÁ PETROPÓLIS GRAMADO
• O Sudeste é PAI de Minas Gerais e Rio de Janeiro • Juiz de Fora é filho de Minas Gerais
• Todos os membros debaixo do Sudeste são seus descendentes
Relações e estrutura de uma Dimensão Modelo Estrela
O tempo é parte implícita da informação contida no DW Um DW obrigatoriamente sempre conterá uma dimensão Tempo
A dimensão tempo pode ser definida dividindo-se em diferentes hierarquias de tempo.
Ex.: A Dimensão tempo Modelo Estrela TEMPO * Ano ** Mês *** Dia
Nesta tabela são definidos os campos com os valores que se pretendem analisar. Estes campos são
denominados de métricas ou medidas.
As medidas são valores numéricos que permitem analisar os fatos.
Ex: valor de vendas, quantidades vendidas, pacientes atendidos.
Tabela Fato Modelo Estrela
• A tabela FATO contém chaves externas que se
relacionam com suas respectivas tabelas de dimensões • A FATO é a maior tabela do modelo dimensional. Ela possui todas as transações a serem analisadas, podendo possuir milhares ou milhões de registros
Características da Tabela Fato Modelo Estrela
• É uma variação do modelo Estrela
• Consiste em normalizar uma tabela de dimensão para eliminar a redundância de dados
Modelo Floco de Neve
Serviço Tempo Paciente Admissão de Pacientes Cidade Estado
Pais Floco de Neve
Estrela Floco de Neve Característica Quantidade de Tabelas Consultas Armazenamento Menor Melhor desempenho Maior espaço Maior
Maior vínculo entre as tabelas. Redução
desempenho. Economiza Espaço
SURROGATE KEY
São campos seqüenciais gerados automaticamente
pelo banco de dados usados como chave primária para uma tabela, e que não têm conteúdo semântico para a aplicação nem relação com outros dados da tabela.
Uma surrogate key é uma chave artificial ou
sintética que é usada como chave substituta de uma chave natural.
• As chaves do DW ficam independentes das chaves de produção
Porque utilizar a Surrogate Key
• Diminui-se a possibilidade de erros no DW durante o processo de ETL
• Uma surrogate key é um número inteiro simples enquanto uma chave primaria de produção pode apresentar formatos mais complexos.
Metadados são as informações que descrevem os dados utilizados pela empresa.
São informações como descrições de registros, comandos de criação de tabelas, diagramas Entidade/Relacionamentos, dados de um dicionário de dados, etc.
DW
Metadados
obrigatório
• A estrutura de dados segundo a visão do programador • A estrutura de dados segundo a visão do Analista da Informação
• As fontes de dados que alimentam o DW
• A transformação sofrida pelos dados no momento de sua migração para o DW
• O modelo de dados do sistema de produção • O relacionamento entre o modelo de dados de produção e o DW
• O histórico das extrações
De acordo com Inmon, os aspectos sobre os quais os metadados mantêm informação são:
O papel dos metadados em um ambiente de DW é de grande importância, tornando seu uso obrigatório.