Implementando Business Intelligence com o Microsoft SQL Server 2005
Eduardo Sá dos Reis e Felipe La RoccaTeixeira
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 Metadados
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”
Wikepedia
É 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?
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.
Resumindo
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
• Muitos dados e poucas informações
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ívelde conhecimentos
Níveladministrativo
Níveloperacional
BusinessIntelligence
SistemasOLTP
Componentes de BI
O BI é composto de um conjunto de processos, conceitos e tecnologias
DATA WAREHOUSE
DATA MART DATA MINING
OLAP ETL
MODELAGEM MULTIDIMENSIONAL
SISTEMAS OLTP
X
SISTEMAS OLAP
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 Eletrônico, etc.
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.
OLTP
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.
OLAP
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.
OLAP
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
Data Warehouse
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
Usuários Finais
.
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.
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.
CODCLIENTE
FONE DATA HORAINICIO
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ÇÃO20 01 2008 262
Granularidade diária
Granularidade mensal
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.
Vantagens do Data Mart
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ÇÃOADEQUAÇÃO
LIMPEZADERIVAÇÃOAGREGAÇÃO
Deter um enorme volume de dados na sua empresa não quer dizer nada. Vocêprecisa transformar dados brutos em informação.
ETL (extração, transformação e carga)
É 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 DATA WAREHOUSE
ETL (extração, transformação e carga)
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
ETL (extração, transformação e carga)
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
m,f
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
centímetros
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)
Char(12)
Carga:
É o processo de gravação dos dados no DW ou DM.
ETL (extração, transformação e carga)
ETL DATA WAREHOUSE
carga
Modelagem Multidimensional
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 intuitivo para os usuários finais.
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.
Por isso deve-ser :
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ãoGeográfica
Admissãode 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)
Modelo Estrela
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 GRANDEDO 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ãode Pacientes
Cidade
Estado
Pais Floco de NeveDimensão Região Geográfica
Estrela Floco de NeveCaracterí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
Considerações sobre os Modelos
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.
Ralph Kimball
• 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.
METADADOS
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.