Escolar Documentos
Profissional Documentos
Cultura Documentos
SistemasApoioDecisao BaseadosDataWarehouse 19735
SistemasApoioDecisao BaseadosDataWarehouse 19735
net/publication/327582653
CITATIONS READS
10 540
1 author:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Strategic Business-Driven and Experimental Big Data Science, Big Code, Data Mining and BI View project
All content following this page was uploaded by Methanias Colaço Júnior on 11 September 2018.
Fruto da experiência de vários profissionais especialistas nas áreas de Banco de Dados, Business
Intelligence, Marketing, Data Warehouse (DW) e Data Mining, este livro traduz as potencialidades de um DW como
a base para sistemas de suporte à decisão. Através de uma linguagem simples e com foco em aspectos essen-
ciais, o leitor adquire um conhecimento sólido sobre Sistemas de Apoio à Decisão (SADs) e passa a conhecer as
características fundamentais de todas as ferramentas envolvidas neste processo. São abordados conceitos sobre PROJETANDO SISTEMAS
ferramentas de Business Intelligence tais como as ferramentas OLAP, EIS, ERP, CRM, Database Marketing e Data
Mining.
Além de preparar conceitualmente o leitor, é apresentada uma metodologia de desenvolvimento e documentação
DE APOIO À DECISÃO
de um projeto de ambiente de suporte à decisão. Muitos dos exemplos apresentados não se prendem aos con-
ceitos básicos, mas agregam conhecimento e criatividade por parte do seu autor e colaboradores, inclusive esten- BASEADOS EM
dendo a UML para documentação de um DW. Há um cuidado especial para não apresentar um Data Warehouse
como a resolução de todos os problemas, mas sim apresentar soluções que podem ser utilizadas por gerentes
de um projeto como este. Gerência de metadados e projeto físico de banco de dados também são abordados e
DATA WAREHOUSE
todos os capítulos do livro são finalizados com um resumo, para fixação e simples revisão do que foi abordado.
O livro beneficia profissionais e estudantes de Informática em matérias como Banco de Dados e Tópicos Espe-
ciais, e é direcionado para estudantes e profissionais de Administração, Marketing, Publicidade, Contabilidade e
Economia, envolvidos profissionalmente com a área gerencial ou academicamente com disciplinas como Tecno-
logia da Informação, Sistemas de Informação, Contabilidade Gerencial, CRM, entre outras.
Os profissionais de Marketing também poderão encontrar neste livro a base para a implantação de aplicações de
Database Marketing.
Methanias Colaço Júnior é M.Sc. em Informática pela Universidade Federal de Campina Grande (UFCG) na
Este e-book não pode ser vendido e/ou distribuído em CD-ROM, DVD-ROM ou por programas
de compartilhamento P2P. A forma correta de obter este arquivo é adquirindo-o através dos
sites da Editora Axcel (www.axcel.com.br) e de Júlio Battisti (www.juliobattisti.com.br).
Se você adquiriu este documento através dos meios legais descritos acima, não distribua ou
venda este produto. Você estará cometendo um crime contra o autor da obra.
Se você adquiriu este e-book por intermédio de terceiros, regularize sua situação entrando em
contato pelo e-mail editora@axcel.com.br, para que não seja alvo das penalizações previstas em
Lei. Usar cópia ilegal também é crime de violação dos direitos autorais.
ISBN: 85-7323-208-0
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Sumário III
Aristóteles Onassis
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
IV Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Agradecimentos
Agradeço, com o coração cheio de orgulho e felicidade, aos meus melhores ex-alunos de
Banco de Dados, e agora meus colegas e professores, André Vinícius Nascimento e Maria
de Fátima Almeida. Colaboradores diretos e indispensáveis deste livro, eles são um
exemplo de amor, profissionalismo e dedicação à árdua tarefa de dominar conhecimentos
da área de Informática.
Aos meus queridos alunos e ex-alunos, maiores motivos da escrita deste livro.
Aos professores Asterio Tanaka, Eduardo Bernardes e Marcus Sampaio pela experiência
transmitida e pela confiança em mim depositada.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Sumário
Prefácio V
Sobre o Autor
Colaboradores
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
VI Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Apresentação
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Apresentação
Sumário VII
Esse livro, fruto da experiência de vários profissionais especialistas nas áreas de Banco de
Dados, Marketing, Data Warehouse e Data Mining, traduz as potencialidades de um Data
Warehouse como a base para Sistemas de Suporte à Decisão. Através de uma linguagem simples
e com foco em aspectos essenciais, o leitor adquire um conhecimento sólido sobre Sistemas de
Apoio à Decisão e passa a conhecer as características fundamentais de todas as ferramentas
envolvidas neste processo. São abordados conceitos sobre ferramentas de apoio à decisão tais
como as ferramentas OLAP, EIS, ERP, CRM, Database Marketing e Data Mining.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
VIII Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Por fim, no Capítulo 9, são apresentados conceitos de Data Mining e sua importância
como auxílio para a tomada de decisão. O Processo de Descoberta de Conhecimento é
abordado em detalhes, seguido de uma discussão sobre as principais técnicas de Mineração
de Dados. O capítulo é finalizado com uma explicação detalhada de um algoritmo de
geração de regras de associação, uma das mais importantes técnicas de Data Mining, e
uma discussão sobre a importância de integrar as técnicas de mineração aos Sistemas
Gerenciadores de Bancos de Dados.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Apresentação
Sumário IX
Objetivos
Público-Alvo
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
X Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para alunos e profissionais de informática, sugerimos uma leitura linear deste livro. Uma
atenção especial deve ser dedicada aos Capítulos 4, 6, 7 e 8, que apresentam
responsabilidades específicas destes profissionais em projetos de DW.
Os demais acadêmicos e profissionais de outras áreas podem começar pela leitura dos
Capítulos 1, 2, 3 e 9, enfatizando aspectos relacionados aos negócios. No Capítulo 9, por
exemplo, é possível entender como funciona o processo de mineração de dados em dois
níveis. Um nível para aqueles que desejam saber o que é e quais os benefícios da mineração
para os negócios, e, para os interessados, um nível de conhecimento de como funcionam
os processos de mineração.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Sumário XI
Sumário
Capítulo 1: Introdução .................................................................................................... 1
Evolução dos Sistemas de Informação .......................................................................... 2
Sistemas de Informação Gerenciais ............................................................................... 5
Sistemas de Informação Executivos .............................................................................. 6
Sistemas de Apoio à Decisão ........................................................................................ 7
Resumo ...................................................................................................................... 10
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
XII Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Resumo ...................................................................................................................... 45
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Sumário XIII
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
XIV Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 1: Introdução 1
1
C A P Í T U L O
Introdução
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
2 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Nos anos 60 os sistemas eram criados como verdadeiras ilhas de informação. As aplicações
mantinham seus dados independentes e isolados das outras. Os dados comuns entre
aplicações eram redundantes e, na maioria das vezes, inconsistentes. Um cadastro de
funcionários, por exemplo, repetia-se no sistema de recursos humanos e no sistema de
empréstimos de ferramentas em uma indústria. Assim, se fosse necessária a criação de
uma nova aplicação que utilizasse informações de funcionários, um arquivo era gerado
especificamente para esta finalidade. Se os dados nele contidos fossem necessários a outros
fins, criava-se um novo arquivo, onde, mais uma vez, repetiam-se os dados em comum. Os
dados se voltavam para o fornecimento de resultados específicos, relativos a problemas
específicos, gerados por dados também específicos. Não existiam métodos de gerenciamento
de dados como um recurso e nem para o recolhimento dos benefícios resultantes.
1
On Line Transaction Processing.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 1: Introdução 3
Os Problemas da Redundância...
Muitas empresas tiveram prejuízos sérios devido à presença de redundância de dados e conseqüente
inconsistência dos mesmos. Podemos citar o exemplo do funcionário de uma indústria demitido.
Na maioria das vezes, seu cadastro era excluído apenas do sistema de recursos humanos e, por
uma falta de integração de sistemas, erroneamente mantido no sistema de empréstimos de
ferramentas. Nada impedia que a insatisfação com a demissão levasse a pessoa a visitar a oficina,
retirar as ferramentas mais caras e nunca mais voltar com as mesmas. A redundância pode
transformar uma coisa simples em um verdadeiro caos para a organização.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
4 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 1: Introdução 5
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
6 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
É notório que SIGs, apesar de não serem considerados Sistemas de Apoio à Decisão,
auxiliam gerentes no processo de tomada de decisão e podem perfeitamente fazer parte
de um ambiente completo de suporte à decisão. Na seção Sistemas de Apoio à Decisão
diferenciaremos um Sistema de Informação Gerencial de um Sistema de Apoio à Decisão.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 1: Introdução 7
A maioria dos conceitos enunciados sobre SADs os coloca como sistemas de informação
que apóiam qualquer processo de tomada de decisão nos níveis tático, estratégico e
operacional. Isto não é suficiente, pois qualquer SI pode ser útil ao nível gerencial e, nem
por isso, todo Sistema de Informação será um Sistema de Apoio à Decisão. Um Sistema de
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
8 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Informações Gerenciais também pode apoiar qualquer processo de tomada de decisão tática.
Um EIS apóia decisões estratégicas e até um Sistema de Informação Transacional pode
apoiar decisões de nível operacional. A pergunta é: “Qual é a diferença ?”.
Atualmente, algumas empresas já proporcionam que um gerente possa tomar uma decisão
baseada em um simples relatório estatístico ou tomar outra completamente diferente,
baseada na descoberta de uma informação escondida na base histórica (veja o quadro “O
famoso exemplo das fraldas e da cerveja...”). A descoberta de informações escondidas
através de Mineração de Dados (Data Mining) é abordada no Capítulo 9.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 1: Introdução 9
decisão, podem ser formados por informações internas e externas à organização, por
conhecimentos e experiências de especialistas e por informações históricas acerca das
decisões tomadas. Um Data Warehouse, objetivo principal do nosso livro, pode fazer
parte, ou ser o banco de dados principal de um ambiente de suporte à decisão. A
princípio e simplificadamente, podemos conceituar um Data Warehouse como um
Banco de Dados projetado para armazenar informações integradas de toda organização,
mantendo um histórico das mesmas.
■ Sistema Gerenciador de Banco de Dados (SGBD): Como discutido anteriormente,
um SGBD é uma coleção de programas que permitem aos usuários definir,
construir e manipular Bancos de Dados para as mais diversas finalidades. Os
dados num Banco de Dados devem ser integrados e compartilhados. Um Sistema
Gerenciador de Banco de Dados pode representar a unif icação de diversos
arquivos que, de outra forma, seriam distintos, eliminando-se total ou
parcialmente a redundância entre os mesmos. Já o compartilhamento não significa
apenas que as aplicações existentes podem compartilhar dados do Banco de
Dados, mas também que novas aplicações podem ser desenvolvidas para operar
sobre os mesmos dados armazenados.
■ Aplicativos com características gerenciais (AGs): São aplicativos com funções
gerenciais de análise acrescidas. Aplicativos com estas funcionalidades podem fazer
parte do grande ambiente de suporte à decisão.
■ Ferramentas de apoio à decisão (FADs): Também chamadas de ferramentas de BI
(Business Intelligence, ou Inteligência Aplicada aos Negócios), são softwares
desenvolvidos para apresentar graficamente as informações, auxiliando a simulação
de situações, fornecendo capacidade de análise, ou descobrindo conhecimento. Além
disso, existem ferramentas no mercado que facilitam a implementação de funções
específicas, tais como o Gerenciamento de Risco de Crédito, Rentabilidade de Clientes,
Database Marketing, etc.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
10 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Resumo
Paulatinamente ao longo das três últimas décadas, os sistemas de tecnologia da informação
têm se preocupado muito com problemas de negócios. Esta preocupação reside na
necessidade de competição das empresas no mercado globalizado. As organizações devem
ser capazes de analisar os dados disponíveis e tomar decisões rápidas e seguras.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 1: Introdução 11
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 2: Sistemas de Apoio à Decisão Baseados em Data Warehouse 13
2
C A P Í T U L O
Sistemas de Apoio à
Decisão Baseados em
Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
14 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 2: Sistemas de Apoio à Decisão Baseados em Data Warehouse 15
fato de os dados não estarem adequados para o suporte à decisão, ou seja, tanto estavam
desintegrados (Capítulo 1), como também não foram modelados para otimizar o
desempenho de consultas gerenciais (discutiremos modelagem de dados para apoio à
decisão no Capítulo 4 deste livro).
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
16 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Cada tema pode envolver várias tabelas. Considerando o tema cliente, podem existir
tabelas com as informações gerais (nome, endereço, telefone, e-mail), outra com os clientes
que tiveram conta inferior a R$200,00, outra com os clientes com contas superiores a
R$300,00. Além destas, podem existir tabelas cumulativas com os clientes que mais
consumiram no período de 1999 a 2003, e tabelas detalhadas que armazenarão o código
do cliente, a data da venda, os produtos consumidos e o valor da despesa. Portanto,
percebe-se que, para o mesmo tema, podem existir vários níveis de detalhamento.
Integrado
O Data Warehouse deve consolidar dados de diversas origens, o que geralmente envolve
diferentes codificações. Os dados devem ser perfeitamente integrados para que ao serem
armazenados assumam uma única convenção. Exemplificando: uma aplicação pode
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 2: Sistemas de Apoio à Decisão Baseados em Data Warehouse 17
codificar o sexo como “M” e “F”, outra pode codificar com 0 e 1, e uma outra pode usar
“H” e “M”. Quando os dados são extraídos para o Data Warehouse devem assumir uma
única codificação.
Variante no Tempo
Os dados em produção são atualizados de acordo com as mudanças necessárias, e com
isso os dados “históricos” são perdidos. Em consultas, são capturados os dados válidos
no momento do acesso. Por exemplo, o estado civil de um cliente “X” que em 2000 era
solteiro e passa hoje para casado. No momento da consulta feita hoje, será apenas mostrado
que o cliente é casado, perdendo as informações anteriores.
Em um Data Warehouse os dados são carregados como fotos da base de dados operacional
do momento, ou seja, cada ocorrência e cada mudança são consideradas como um novo
registro. Os dados não são atualizados e podem ser comparados ao longo do tempo. Ao
consultar o cliente “X” do exemplo anterior em 2000, virão os dados da época de solteiro.
Não Volátil
Teoricamente, depois que os dados estão no Data Warehouse (DW) não poderão ser
atualizados ou alterados, apenas acessados. Os novos dados serão absorvidos, integrando-
se com os dados existentes. O Data Warehouse permite apenas a carga inicial dos dados
e a consulta aos mesmos. Contraditoriamente, existe no ambiente operacional uma grande
volatilidade, visto que os dados são atualizados registro a registro a qualquer momento.
A característica da não volatilidade pode ser aceita totalmente devido ao fato de o banco
de dados de um DW ser configurado fisicamente para otimização de inclusões e consultas
(analisaremos otimização física no Capítulo 8), ou seja, não deve ser um banco preparado
para atualizações. Desta forma, é melhor remover a carga errada e carregar os dados
novamente do que realizar updates (atualizações) na base do DW.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
18 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Data Marts
O Data Mart é geralmente descrito como um subconjunto dos dados contidos em um
Data Warehouse extraído para um ambiente separado. Data Marts são muito úteis nas
seguintes condições:
■ Os dados devem estar segregados para melhorar o desempenho do sistema do ponto
de vista do usuário.
■ Deve existir uma cópia dos dados onde só pessoas com autorização devem ter o
privilégio de acessá-las.
■ Em um ambiente corporativo, é importante fortalecer o conceito de propriedade
dentro do banco de dados. Diferentes setores serão responsáveis por diferentes Data
Marts. Segundo Kimball, especialista no assunto:
“Um Data Mart, também conhecido como Warehouse Departamental, é uma abordagem
descentralizada do conceito de Data Warehouse (Kimball et al., 1998)”.
Esses ambientes fisicamente distintos trazem benefícios, mas existe um preço a se pagar.
Com a presença de muitos Data Marts pode haver o risco de redundância. A construção
de Data Marts deve ter sempre a preocupação de compartilhamento de dados, tabelas e
relatórios em comum entre os departamentos. A dificuldade de evitar a redundância de
dados pode ir contra o paradigma de um Data Warehouse já que a separação física em
diferentes grupos diminui essa habilidade de organização. Fica clara a necessidade de
preservação da consistência das informações presentes nos Data Marts através da
eliminação de redundâncias, pois relatórios em comum não podem possuir valores
diferentes. Isto é uma característica da maioria dos Sistemas Transacionais das corporações
e deve ser eliminada com a presença de um DW.
Os dados vêm dos diversos Sistemas Transacionais e geralmente são tratados por uma
ferramenta ETL2 . Ferramentas ETL são responsáveis pela extração, transformação e
2
Extraction, Transformation and Load, ou extração, transformação e carga.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 2: Sistemas de Apoio à Decisão Baseados em Data Warehouse 19
O fluxo de dados começa nas aplicações fontes, e passa por uma área intermediária
de armazenamento chamada de Staging Área (Área de Estágio). Na Staging Área os
dados sofrem integração, limpeza e depois são exportados para o DW. A integração
consiste na consolidação dos dados de diversas origens, o que geralmente envolve
diferentes codificações. Os dados devem ser perfeitamente integrados para que ao
serem armazenados assumam uma única convenção (ver seção Integrado neste
capítulo). A limpeza é a rejeição de valores inválidos, chaves repetidas ou registros
com outros tipos de erro. Estas ações constituem a tarefa mais crítica na geração de
um Data Warehouse (descreveremos em detalhes a implementação de um processo
ETL no Capítulo 6).
Segundo Kimball, além da Staging Área, o ideal é que exista uma segunda área intermediária
antes da carga definitiva para o DW. Esta segunda área, chamada de ODS (Operational
Data Store), deve ser uma base de dados com utilização previsível, parcialmente estruturada
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
20 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Na realidade, no ODS, os dados são mantidos como no ambiente operacional, ou seja, não
estão modelados ainda para consultas gerenciais, porém podem ser úteis para recuperção
de cargas de dados problemáticas. Com um ODS, não é necessário refazer toda a extração
para corrigir eventuais problemas na transferência dos dados para o DW. Muitos projetos
de DW possuem ODS e utilizam esta área para fazer validação de regras de negócio, ou
seja, na Staging Área a limpeza se resume em verificar chaves repetidas e problemas de
integridade referencial; verificações de regra de negócio são feitas no ODS.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 2: Sistemas de Apoio à Decisão Baseados em Data Warehouse 21
Somente após a integração e limpeza os dados são exportados para o DW. Depois os
dados são transmitidos para Data Marts (Figura 2.5) ou, numa abordagem centralizada,
são consultados diretamente pelos usuários através de uma Ferramenta de Apoio à
Decisão, por exemplo.
Um banco de dados ERP pode ser confundido com um DW, porém existem diferenças
básicas. Apesar de fornecerem uma estrutura integrada, sem redundância de
informações, Sistemas de Gestão Empresarial (ERP) utilizam o mesmo banco de dados
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
22 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Na nossa opinião, um ERP é uma excelente solução para gestão das empresas, desde que
seja escalável, ou seja, que se integre facilmente com outros aplicativos e possa ser
estendido facilmente à medida que a corporação cresce e necessita da automatização de
outras funcionalidades.
Sistemas ERP fornecem excelentes relatórios gerenciais; todavia, não podemos descartar
a presença de um DW. Por possuir uma base de dados integrada, um ERP pode ser a fonte
ideal para um DW projetado para fornecer informações gerenciais com agilidade e sem
concorrência com o ambiente operacional.
Resumo
Mesmo com a tendência natural de crescimento da integração entre aplicações operacionais,
decisões de nível estratégico e tático exigem um conteúdo mais rico do que aquele encontrado
no ambiente operacional, o qual apresenta inúmeros obstáculos para o processamento
analítico. As empresas precisam de um ambiente exclusivo que armazene adequadamente
os dados extraídos das diversas bases, disponibilizando as informações a qualquer instante.
O banco de dados deste ambiente, que surgiu como solução para prover informações
gerenciais para a tomada de decisões, foi denominado de Data Warehouse.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 2: Sistemas de Apoio à Decisão Baseados em Data Warehouse 23
Para serem carregados em um DW os dados devem passar por processos ETL. Estes
processos consomem mais de 70% do tempo de desenvolvimento do projeto de um DW
e são responsáveis pela extração, integração, limpeza e posterior carga dos dados para o
DW. A integração consiste na consolidação dos dados de diversas origens, o que geralmente
envolve diferentes codificações. Os dados devem ser perfeitamente integrados para que
ao serem armazenados assumam uma única convenção. A limpeza é a rejeição de valores
inválidos, chaves repetidas ou registros com outros tipos de erro. Estas ações constituem
a tarefa mais crítica na geração de um Data Warehouse.
Sistemas ERP podem ser excelentes fontes de informações para um DW. Isto é possível
pelo fato de um banco de dados único interagir com todos os aplicativos deste tipo de
sistema. Desta forma, elimina-se a redundância de informações e redigitação de dados, o
que assegura a integridade das informações obtidas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 25
3
C A P Í T U L O
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
26 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Neste capítulo, analisaremos dois tipos de Ferramentas de Apoio à Decisão. Pela maior
popularidade do uso, destacaremos as ferramentas OLAP e introduziremos o conceito
de CRM. Ressaltamos que trataremos de ferramentas de Data Mining para apoio à decisão
em um capítulo especial, o Capítulo 9.
Ferramentas OLAP
Uma das tarefas mais solicitadas ao pessoal de TI (tecnologia da informação) nas
organizações é a produção de consultas que descrevam de forma clara e concisa
informações sobre os negócios da empresa. Essas consultas ou relatórios apresentam-se
desde simples listagens de funcionários ou produtos a complexos mapas de demonstração
de crescimento financeiro. Independente de seu objetivo final, a verdade é que, nem
sempre, é possível prever durante o projeto ou compra de sistemas quais informações
necessitarão ser extraídas. Essa incapacidade de previsão, algo perfeitamente aceitável
quando o assunto refere-se a negócios, faz surgir a necessidade de mecanismos auxiliares,
adjacentes aos sistemas utilizados, para a geração de novos relatórios.
A primeira solução da indústria de software para atender a essa demanda foi o desenvolvimento
de ferramentas de geração de relatórios. Porém, a partir do momento em que a informação
passou a ser o bem mais valioso para as organizações e com o surgimento de toda a infra-
estrutura dos Data Warehouses, surgiu a necessidade da criação de ferramentas com uma
capacidade de análise maior do que a dos geradores de relatórios tradicionais. Ou seja, embora
a infra-estrutura necessária para armazenar milhares de informações estivesse pronta, um
novo problema tornar-se-ia o mais novo pesadelo para o pessoal de TI. Como apresentar
essas informações? Como fornecer a capacidade de análise para essas informações?
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 27
No entanto, OLAP, conforme definida pelo Dr. Codd, não é uma nova tecnologia e
alguns produtos já existiam há tempos no mercado. Por força deste mesmo mercado,
as ferramentas que apresentavam características OLAP passaram a ser referenciadas
como ferramentas OLAP.
3
Application Program Interface – Um conjunto de funções predefinidas, documentadas e disponibilizadas por um
software que servem de interface para outras aplicações interagirem com o mesmo. “Um Software A” pode
fornecer uma API e a mesma ser usada por um “Software B”, possibilitando uma interface (ligação) entre eles.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
28 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
OLAP X OLTP
Os bancos de dados desenvolvidos para OLTP (On-Line Transaction Processing, ou
processamento de transações on-line) geralmente são considerados inapropriados para
Data Warehouses. Eles não podem ser repositórios de fatos e dados históricos, não atendem
satisfatoriamente a consultas e a recuperação rápida dos dados é praticamente impossível.
Os dados estão em constante mudança. Basicamente, os bancos OLTP oferecem grandes
quantidades de dados brutos que não são facilmente compreendidos.
OLAP OLTP
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 29
Características
A principal característica dos sistemas OLAP é permitir uma visão conceitual multidi-
mensional dos dados de uma empresa. Os dados são modelados numa estrutura conhecida
por cubo (Figura 3.1), onde cada dimensão representa os temas mais importantes da
empresa como produto, cliente, funcionário e tempo.
Muitos usuários se perguntam por que uma simples planilha não pode ser considerada
uma ferramenta OLAP. Sabemos que o termo planilha vem de plano (duas dimensões
apenas), não permitindo, em linhas gerais, uma visão multidimensional dos dados. Além
da visão multidimensional dos dados da empresa, existem também 11 regras criadas
pelo Dr. Codd em 1993 que servem para avaliar uma ferramenta considerada OLAP. No
total temos 12 regras que são descritas a seguir:
■ Visão conceitual multidimensional: os dados são modelados em diversas dimensões
podendo haver cruzamento de todos os tipos de informações.
■ Transparência: OLAP deve atender a todas as solicitações do analista, não
importando de onde os dados virão. Todas as implicações devem ser transparentes
para os usuários finais.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
30 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 31
Uma primeira tentativa foi a de oferecer uma tela com interface gráfica, onde botões,
listas e marcadores compõem o cenário da análise. Essa solução não se mostrou eficiente
para uma primeira consulta, pois o usuário fica restrito a uma interface predefinida.
Essa abordagem é eficiente para modificação de um cenário atual produzido a partir de
consultas iniciais e intuitivas. O usuário tem a liberdade de incrementar a consulta com
o uso desta interface.
O suporte Slice and Dice é uma das principais características de uma ferramenta OLAP.
Ele serve para modificar a ordem das dimensões, alterar linhas por colunas de maneira a
facilitar a compreensão dos usuários. Essa característica é de extrema importância, pois
com ela podemos analisar as informações de diferentes prismas, permitindo ao usuário
investigar diferentes inter-relacionamentos. O Slice and Dice compreende quatro
operações: Ranging, Drilling, Rotation e Ranking.
Ranging
É a operação responsável por, a qualquer momento, alterar o resultado das consultas,
inserindo novas posições ou removendo as que estão em foco. Para que isto ocorra é
preciso que o usuário informe o que está modificando e o que será feito. Por exemplo, a
inserção de um novo produto em uma consulta. O resultado desse Ranging será
considerado para todas as demais operações, ou seja, pode-se encarar o resultado como
um novo cubo gerado a partir do cubo original.
4
SQL – Structured Query Language – Linguagem de manipulação e definição de dados de um Banco de
Dados Relacional.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
32 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Drilling
Após escolher o que deseja analisar, o analista ainda pode mudar o escopo do que está
analisando, porém essas informações podem encontrar-se agregadas em diversos níveis.
O Drilling permite navegação por entre estes níveis. Existem três operações OLAP que
permitem ao analista mudar o escopo dos dados: Drill Down, Drill Up e Drill Across.
Drill Down
Esta operação navega verticalmente na hierarquia no sentido em que os dados são mais
atômicos. Considerando a Figura 2.4 é possível analisar as vendas de todos os produtos
do restaurante. Mas se a pergunta fosse: “Por que as vendas de Massas foram maiores do
que as vendas de Carnes em Maio de 1999?”.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 33
Com esse resultado o analista não pode tomar nenhuma decisão. Para que os dados
sejam mais específicos será preciso utilizar o conceito de Drilling, para que seja alterado
o escopo da análise.
O resultado mostra que o motivo da elevação das vendas de Massas foi gerado pela
notável saída de Pizzas.
Drill Across
Esta operação permite navegar transversalmente no eixo da árvore hierárquica. O Drill
Across é uma operação de grande utilidade, pois permite inserir e retirar posições do
cenário corrente.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
34 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Drill Up
A última operação do Drilling realiza a função inversa do Drill Down. Ela permite ao
usuário uma visão mais agregada das informações. Nesta técnica podemos navegar nos
diversos níveis até o mais sumarizado.
Rotation
Além de mudar as posições em foco, o analista também tem a flexibilidade de alterar a forma de
visualização das informações. O Rotation permite ao analista mudar a visão que está tendo dos
dados. Vale salientar que o Rotation não adiciona nem retira posições do cenário. A grande
vantagem do Rotation é que não há operações de disco no servidor para que os dados sejam
vistos de forma diferente. O que muda é apenas como os dados serão dispostos para o usuário.
O exemplo anterior está analisando os tipos de produtos e seus totais. Aplicando o Rotation
é possível obter uma análise com os tipos de produtos e seus respectivos preços.
Ranking
Com esta operação o analista pode filtrar as informações que ele deseja ver. É possível
fazer uma classificação dos dados obtidos e operar diretamente sobre os valores das
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 35
células. Vale frisar que as operações anteriores atuavam apenas sobre as posições ou
dimensões dos dados. Através do Ranking, o analista pode executar diversos tipos de
filtros, eliminando assim as informações desnecessárias.
Pelo exemplo acima, percebemos que não só 3 células ficaram preenchidas, e sim as que tiveram
os maiores valores. Em todos os meses a vendagem de pizza foi superior à de outras massas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
36 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 37
Os sistemas ROLAP permitem análise multidimensional dos dados que estão armazenados
em uma base de dados relacional, podendo ser feito todo o processamento no servidor da
base de dados e depois gerados os comandos SQL e as tabelas temporárias. De forma
inversa podem ser executados os comandos SQL para recuperação dos dados e posterior
processamento no servidor OLAP.
Nas ferramentas ROLAP, o uso de uma camada semântica acima do esquema relacional permite
que os dados sejam apresentados ao usuário através do modelo multidimensional. Logo, interfaces
ou servidores ROLAP são definidos como sistemas OLAP que traduzem operações e consultas
realizadas em um esquema multidimensional para um esquema relacional. Contudo, algumas
ferramentas exigem que os dados estejam estruturados em um esquema relacional particular
que facilite a tradução de consultas entre os dois modelos. Este esquema, denominado de esquema
estrela, permite a simulação de um Banco de Dados Multidimensional numa base relacional.
No Capítulo 4, estenderemos a explicação do esquema estrela.
Tendências
Atualmente, a maioria das ferramentas OLAP consegue acessar mais de um tipo de banco de
dados, ou seja, as mesmas são capazes de fazer uma espécie de processamento híbrido (ROLAP
5
Bancos de Dados Relacionais são bancos de dados onde os usuários vêem os dados como um conjunto de tabelas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
38 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Uma outra tendência, que deve ser meta dos modernos Sistemas Gerenciadores de Banco
de Dados, é a presença, em um só pacote de software, de uma arquitetura relacional, ou
outra qualquer, e uma arquitetura multidimensional, ou seja, os SGBDs devem incorporar
uma base multidimensional para prover facilidades a ambientes de suporte à decisão.
CRM
Atualmente, a maioria das empresas ainda possui problemas de visão de marketing. Mesmo
aquelas totalmente informatizadas e com processos bem definidos possuem falhas nos
processos de adaptação, comunicação, avaliação e análise dos seus mercados.
6
Escalabilidade é a capacidade que um sistema apresenta de poder adaptar-se facilmente a uma carga
crescente de recursos e serviços.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 39
Assim, numa empresa todos devem ser “vendedores”. Todos devem ter consciência de
que a sobrevivência e o sucesso da empresa dependem de cada um e não apenas do
Departamento de Vendas ou do Marketing. Exemplificando, até as pessoas da
contabilidade devem ser vendedores e fazer a diferença. A telefonista passa a ser
importantíssima, pois, às vezes, é o primeiro contato do cliente com a empresa.
Essa importante visão de marketing foi empacotada na sigla CRM (Customer Relationship
Management ou gerenciamento das relações com o cliente). O principal objetivo do CRM
é conquistar a fidelidade dos clientes satisfazendo suas reais necessidades de consumo.
Estamos diante de uma verdadeira revolução nos modelos tradicionais de vendas e market-
ing. A venda como arte, bem como malas diretas oferecendo produtos às pessoas erradas,
passam a ter seus dias contados. Passamos da era do produto para a era do cliente e da era
do marketing de massa para o marketing individualizado (one-to-one).
Vender deixou de ser apenas “falar” e passou a ser uma prestação de serviços. A venda é
sinônimo da administração eficaz das contingências de compra. Para alcançar esse
patamar, a informação deve ser o principal produto. Vende quem sabe o que o cliente
quer, como ele quer e quando ele quer.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
40 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Muitas empresas e produtos que fizeram sucesso não foram pedidos de clientes. Nós não
pedimos o telefone celular e vivemos hoje na dependência dele. Não pedimos sistemas
de computador com interface gráfica e estamos todos “mal-acostumados” com janelinhas
e botões amigáveis nas telas de computador.
Fidelização
Utilizaremos o termo “fidelizar”, porém sabemos que não existem clientes verdadeiramente
fiéis. Na verdade, as empresas devem buscar a agregação de novos valores às suas marcas,
pois clientes permanecem consumindo um produto ou serviço enquanto existem vantagens
para eles. Podemos metaforizar e dizer que clientes são “gatos” e não “cachorros”, ou seja,
“eu continuo com você enquanto a situação estiver confortável para mim”.
Os clientes não podem ser tratados da mesma forma. Os que trazem mais rentabilidade,
ou maior volume, são clientes valiosos, que devem ter um tratamento diferenciado. Muitos
clientes optam por um produto inferior na qualidade apenas pelo fato de serem bem
tratados. A individualização faz a diferença, pois também existem casos de clientes que
deixam de consumir um produto não pelo maltrato e sim pela indiferença.
O pacote CRM traz um conjunto de processos para identificar o cliente certo, oferecer-
lhe o que interessa, no momento em que ele precisa, através do canal adequado. Vender
para um novo cliente custa bem mais do que a venda para um cliente antigo.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 41
padaria. Além disso, quantos clientes não foram conquistados com as recomendações do
casal? Cliente “fiel” significa cliente vendedor.
Para vender, o cliente, mais uma vez, precisa ser surpreendido. Ninguém vai ao cinema
e diz que viu uma tela gigante. O cliente fala do que o surpreendeu. Neste momento, os
leitores são nossos clientes. O nosso objetivo é escrever um livro que agrade e surpreenda
o leitor positivamente através de uma leitura fácil e compreensiva de assuntos mistificados
por muitos. Se os leitores gostarem deste livro, esperamos isso, recomendarão o mesmo
a amigos, colegas de profissão e de universidade. Um cliente satisfeito comenta com
cerca de 4 pessoas e um insatisfeito comenta com cerca de 10.
Portanto, o CRM deve ser aplicado também na relação virtual. Adoramos entrar em um
site e termos um tratamento personalizado. É importante que sejam oferecidos os produtos
que nos interessam e fundamentalmente precisamos de facilidade e agilidade na escolha
destes produtos. Estatísticas mercadológicas mostram que mais de 60% dos clientes
internet desistem de suas compras pela demora e dificuldade dos sites.
As empresas devem fornecer boas informações sobre os produtos que estão sendo
vendidos, diminuindo a incerteza do cliente e conseqüentemente diminuindo também o
número de desistências. Também é importante planejar a entrega dos produtos que estão
sendo vendidos, o chamado SCM – SupplyChain Management, pois empresas podem ter
sua imagem denegrida pela incapacidade de entrega de produtos vendidos via internet
ou através de outro canal. Todo o processo de entrega e o próprio acesso às compras
devem oferecer segurança ao cliente.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
42 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para descobrir os interesses dos clientes (traçar o perfil) e oferecer os produtos certos em
sites internet, novamente, as corporações deverão ter Data Warehouses (Capítulo 2)
armazenando o histórico das compras dos clientes, suas reclamações, sugestões e etc.
Isto traz um novo conceito, o Database Marketing.
Database Marketing
Podemos definir marketing como o exercício de estar atento às tendências do mercado,
para identificar e produzir, rapidamente, aquilo que o cliente quer. Database Marketing
(DBMKT) é o termo que está sendo usado por especialistas para definir a aplicação de
marketing com o auxílio de Data Warehouses. A integração é a palavra-chave neste
processo, para que se tire proveito das informações já existentes sobre clientes, utilizadas
para uma realimentação eficiente do banco de dados de relacionamento.
O Data Warehouse para ser usado por ferramentas de Database Marketing deve
transformar todo o histórico de relacionamento entre clientes e fornecedores, contido na
base de dados operacional, em transformações segmentadas sobre o público da empresa,
pois não podemos nos relacionar com quem nós não conhecemos.
Todos os conceitos de BI (Business Inteligence) vistos até agora devem ser utilizados. O
passo inicial é construir um DW, em que informações dimensionais (tempo, produto,
cliente e etc.) facilitem aspectos de segmentação, permitindo um foco mais objetivo
sobre campanhas de marketing. Os conceitos de Data Mining (Capítulo 9), ou Mineração
de Dados, também poderão ser aplicados para descoberta de informação sobre clientes.
Após a construção do DW, o passo seguinte é manter o foco no cliente como diretriz
para alcançar os objetivos do negócio. O conhecimento do cliente em todas as dimensões
é o componente fundamental do processo, sendo portanto necessário dispor de grande
variedade de dados e informações, dentre as quais podem ser citadas:
■ Dados cadastrais completos ou primários.
■ Informações sobre a composição familiar.
■ Histórico do relacionamento com a empresa.
■ Aspectos que caracterizam o cliente como uma entidade individualizada.
■ Hábitos e preferências de consumo, considerando produtos e serviços de um modo geral.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 43
O foco no cliente exige que as informações sejam geradas a partir da combinação dos
dados tratados por diversos aplicativos existentes no ambiente convencional. A eficiência
do processo de negócio está intimamente ligada à disponibilidade de recursos para a
análise de alternativas e avaliação do risco associado com cada uma delas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
44 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 3: Ferramentas de Apoio à Decisão 45
As empresas deverão focar inicialmente nos clientes que já são fiéis para depois continuar
na busca incessante por novos clientes, pois é mais barato manter do que conquistar
novos clientes. Atingir este foco não é simples e pode significar mudanças na estrutura
de toda a organização, principalmente no modo de pensar das pessoas.
Resumo
Em 1993, o Dr. E.F. (Ted) Codd criou o termo OLAP em um ensaio intitulado Providing
OLAP to User-Analysts: An IT Mandate. Pouco tempo depois da publicação desse ensaio,
a palavra OLAP transformou-se em uma buzzword no cenário de bancos de dados, e
todo profissional de sistemas esforçava-se para compreender a OLAP e como ela se
encaixava no paradigma de aplicações de suporte à decisão.
Além de definir OLAP, o Dr. Codd também criou 12 regras para OLAP. No entanto,
OLAP, conforme definida pelo Dr. Codd, não é uma nova tecnologia e alguns produtos já
existiam há tempos no mercado. Basicamente, um sistema OLAP é qualquer sistema que
capture informações sumarizadas, e permita que essas sumarizações sejam apresentadas
com suporte para funções de derivação de dados complexos. Este suporte recebe o nome
de Slice and Dice.
O suporte Slice and Dice é uma das principais características de uma ferramenta OLAP.
Ele serve para modificar a ordem das dimensões e alterar linhas por colunas de maneira
a facilitar a compreensão dos usuários. Essa característica é de extrema importância,
pois com ela podemos analisar as informações de diferentes prismas, permitindo ao
usuário investigar diferentes inter-relacionamentos. O Slice and Dice compreende quatro
operações: Ranging, Drilling, Rotation e Ranking.
Além das ferramentas OLAP as empresas estão investindo em aplicações voltadas para o
conhecimento do mercado e dos seus clientes. Essa importante visão de marketing foi
empacotada na sigla CRM (Customer Relationship Management ou gerenciamento das
relações com o cliente). O principal objetivo do CRM é conquistar a fidelidade dos clientes
satisfazendo suas reais necessidades de consumo. Estamos diante de uma verdadeira
revolução nos modelos tradicionais de vendas e marketing. A venda como arte, bem como
malas diretas oferecendo produtos às pessoas erradas, passam a ter seus dias contados.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
46 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Database Marketing (DBMKT) é o termo que está sendo usado por especialistas
para definir a aplicação de marketing com o auxílio de Data Warehouses. A integração
é a palavra-chave neste processo, para que se tire proveito das informações já
existentes sobre clientes, utilizadas para uma realimentação eficiente do banco de
dados de relacionamento.
O Data Warehouse, para ser usado por ferramentas de Database Marketing, deve
transformar todo o histórico de relacionamento entre clientes e fornecedores, contido na
base de dados operacional, em transformações segmentadas sobre o público da empresa,
pois não podemos nos relacionar com quem nós não conhecemos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 4: Modelagem de Dados Para Data Warehouses 47
4
C A P Í T U L O
Modelagem de Dados
Para Data Warehouses
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
48 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Essa modelagem é eficiente para as aplicações transacionais, onde os dados são acessados
individualmente, mas quando se trata das complexas consultas do mundo dos negócios,
esse modelo falha.
Nesse modelo, os dados são divididos em várias entidades distintas (retângulos) e cada
entidade é transformada em uma tabela (vide Figura 4.1). Essa característica gera alguns
problemas que fazem o diagrama ficar complexo e de difícil visualização e memorização,
tanto pelo usuário final quanto pelos projetistas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 4: Modelagem de Dados Para Data Warehouses 49
Além desses problemas, esse modelo não foi projetado para armazenar dados históricos.
Constantemente há atualização na base de dados e informações históricas são perdidas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
50 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
O conceito Star Schema foi criado pelo Dr. Ralph Kimball e tem como característica
básica a presença de dados altamente redundantes para se obter um melhor desempenho.
Essa desnormalização ocorre devido a junções de tabelas para que não haja necessidade
de ocorrerem estas junções em tempo de execução.
O nome Star Schema foi adotado pela semelhança com uma estrela. Este esquema é
composto de um tabela dominante, chamada tabela de fatos, no centro, rodeada por
tabelas auxiliares, chamadas de tabelas de dimensão. A tabela de fatos conecta-se às
demais por múltiplas junções e as tabelas de dimensões se conectam com apenas uma
junção à tabela de fatos (vide Figura 4.2).
Dimensão Produto
Id_Produto
Descrição
Dimensão Tempo
Tipo
Id_Tempo Fatos Vendas Preço
Dia Id_Tempo
Mês Id_Produto
Ano Id_Funcionário
Dia_Semana Dimensão Funcionário
Unid_Vendida
Feriado Valor_Vendas Id_Funcionário
Semestre Nome
Trimestre Endereço
Telefone
RG
CPF
Neste esquema a consulta ocorre inicialmente nas tabelas de dimensão e depois na tabela
de fatos, assegurando assim a precisão dos dados através de uma estrutura completa de
chaves onde não é preciso percorrer todas as tabelas. Isso garante um acesso mais eficiente
e o mais alto desempenho possível.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 4: Modelagem de Dados Para Data Warehouses 51
7
Chave primária é qualquer subconjunto de campos que identifica univocamente uma linha da tabela. Por
exemplo, o campo CPF em uma tabela de clientes é um candidato a chave primária.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
52 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Tipos de Dimensão
As dimensões em um esquema estrela representam entidades que evoluem ao longo do
tempo. A descrição e a formulação de produtos evoluem, pessoas modificam seus nomes,
casam-se e divorciam-se, aumentam o número de filhos e trocam de endereço, etc. Assim,
deve-se decidir o que fazer quando estas mudanças ocorrem.
Dimensão Tipo 1
Quando o histórico não é relevante, substituímos valores antigos dos registros da
dimensão e, portanto, perdemos a capacidade de rastrear o histórico passado.
Exemplificando, suponhamos que o funcionário Joaquim tenham casado; simplesmente
substituímos o valor contido no campo “Estado Civil” do registro de Joaquim por
“Casado”. Não é necessário fazer outras modificações no registro da dimensão, e
nenhuma chave do banco de dados será alterada.
Dimensão Tipo 2
Adicionamos um registro à dimensão contendo os novos valores do atributo no momento
da mudança, com o intuito de segmentar o histórico entre a descrição antiga e a nova
descrição. Chaves artificiais são de extrema importância neste caso (vide seção Chaves
Artificiais). Vejamos o exemplo do produto cocktail em uma cadeia de restaurantes.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 4: Modelagem de Dados Para Data Warehouses 53
Quando observamos o banco de dados de vendas do restaurante, não notamos uma divisão
do histórico. O antigo cocktail continuará a ser vendido no restaurante após 20 de março
de 2000, até o final do estoque. Isso variará de restaurante para restaurante. Os novos
cocktails serão comercializados a partir de 20 de março de 2000 e gradualmente
substituirão os antigos. Haverá um período de transição em que os dois tipos de cocktail
serão vendidos nos restaurantes. Os caixas reconhecerão os dois códigos e não encontrarão
dificuldades em manipular a venda de cada uma das bebidas. Assim, o uso de registros
separados na dimensão divide a tabela de fatos automaticamente e o usuário não precisa
preocupar-se com as duas formulações do cocktail, a menos que esteja usando o campo
“Conteúdo de Álcool”.
Como o histórico é dividido não poderemos usar o novo valor de um atributo no histórico
antigo, ou vice-versa. Se criarmos a restrição em uma consulta “Conteúdo de Álcool =
Nenhum”, não veremos nenhum cocktail antes de 20 de março de 2000. De modo geral
é o que desejamos. Raramente queremos saber qual seria o histórico caso a alteração não
tivesse ocorrido. Observe na Figura 4.5 que é criado um novo “Id Produto” (chave artifi-
cial) e são atualizadas as datas de início e fim de validade do registro.
Dimensão Tipo 3
Se quisermos usar um novo valor de atributo para consulta em um histórico antigo, criamos
novos campos “atuais” no registro original da dimensão para incluir os novos valores,
mantendo também seus valores originais. Desta forma, permitimos a descrição do histórico
anterior e o posterior à mudança tanto em relação aos valores originais do atributo quanto
aos valores atuais. Em análises de vendas, quando um mercado muda, inicialmente é
sempre viável rastrear tanto os valores antigos como os modificados do mercado ao
longo do tempo. Não criamos um novo registro, mas adicionamos um campo no atributo
modificado do mercado. No caso de uma mudança de estado civil, por exemplo,
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
54 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
A dimensão de tipo 3 não pode ser utilizada para descrever com precisão modificações
como o exemplo da bebida cocktail. É impossível saber com precisão quantos restaurantes
esgotaram o estoque dos cocktails antigos. Isso ocorre comumente quando o fabricante
muda a formulação de um produto, mas não cria um novo código único. Nesse caso, os
relatórios de vendas obtidos por meio do campo não têm como distinguir as formulações.
Com o tipo 3 podemos manipular apenas o valor original e o atual do atributo modificado.
Os valores intermediários são perdidos. Caso haja necessidade de dividir o histórico com
precisão, deve-se optar pelo tipo 2 e toda a gama de modificações poderá ser rastreada. Não
é viável combinar os tipos 2 e 3, pois isso resultará em um aumento da complexidade das
aplicações. O tipo 3 também aumenta a complexidade e só deve ser utilizado em casos de
necessidade extrema, pois, em muitos casos, nomes de atributos anteriores são geralmente
esquecidos e abandonam-se as comparações com valores originais do mercado.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 4: Modelagem de Dados Para Data Warehouses 55
Incluindo a chave de “Instrução” na tabela cliente, seria necessário criar um novo registro
cliente para rastrear a correspondência entre as instruções modif icadas. Não
recomendamos isso, pois o ideal é substituir a chave “Instrução” nos novos fatos sempre
que houver uma modificação. Dessa forma, podemos pesquisar o perfil salarial atual
juntamente com os outros atributos do cliente a qualquer momento. O histórico passado
de perfis pode ser construído sempre que necessário, consultando-se a tabela de fatos e
selecionando o “Id do cliente” e sua chave “Instrução”, que de modo geral será diferente
da chave instrução atual.
Dimensão Instrução
Id_Instrução
Nível_Salarial
Fatos Vendas Escolaridade
Id_Tempo
Id_Instrução
Dimensão Cliente
Id_Cliente
Unid_Vendida Id_Cliente
Valor_Vendas Nome
Endereço
Telefone
RG
CPF
Dimensões Descaracterizadas
Chamamos de dimensões descaracterizadas chaves de dimensão sem uma tabela de
dimensão correspondente. Podemos ter números de controle, como por exemplo números
de notas fiscais e/ou pedidos representados como dimensões descaracterizadas. Migramos
o número do pedido ou nota fiscal para a tabela de fatos e cada linha desta tabela irá
representar o documento propriamente dito ou uma linha de item do documento (vide
Figura 4.7).
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
56 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Chaves Artificiais
Quando projetamos um DW não podemos cometer o erro de utilizar a mesma chave
significativa utilizada no sistema fonte para as dimensões. Quando utilizamos a mesma
chave, reduzimos a flexibilidade do esquema, diminuímos o desempenho e aumentamos
o trabalho de manutenção.
Ao utilizarmos chaves artificiais (Ids nos exemplos deste livro) geradas que não possuam
relação significativa com os dados que descrevem, ganhamos flexibilidade e um melhor
desempenho do Data Warehouse.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 4: Modelagem de Dados Para Data Warehouses 57
Dimensão Tempo
A princípio, um projetista de DW pode questionar se é realmente necessário criar uma
tabela de dimensão tempo. O questionamento baseia-se na pergunta: “Se eu coloco uma
data na minha tabela de fatos, não posso extrair qualquer informação relativa ao tempo
através do banco de dados?”.
Com a dimensão tempo procuramos armazenar descrições que não podemos extrair
utilizando funções nativas dos bancos de dados. Um banco de dados, por exemplo, não
pode informar-nos se em um determinado dia era feriado ou não (vide Figura 4.9).
Além disso, o armazenamento de descritivos na dimensão tempo aumenta o desempenho
das consultas, pois não há necessidade do uso de funções do banco de dados para gerar
estas descrições.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
58 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Hierarquias
Como ferramentas OLAP suportam que as hierarquias sejam representadas em uma única
tabela de dimensão, é viável adotar esta solução. Para o exemplo de produtos, podemos
ter registros em níveis mais altos de granularidade (grupo), ou seja, com alguns campos
nulos, e registros nos nível mais baixo (produto) com todos os campos preenchidos.
Vejamos o exemplo da Figura 4.10:
Alguns projetistas optam por criar tabelas de dimensão derivadas para representar cada nível
hierárquico como uma tabela física diferente no banco de dados. Isto pode ser interessante
quando membros da hierarquia possuem propriedades relevantes e quando análises realizam
consultas diretas por valores destes membros. A tabela de dimensão principal permanece
inalterada, mantendo a hierarquia completa, criando-se tabelas derivadas (tipo, por exemplo)
para facilitar agrupamentos por valores de membros específicos. Supondo que haja necessidade
de recuperar os totais de vendas de massas verdes, haverá inicialmente uma filtragem na
tabela de tipos (tabela normalizada – menor redundância) e depois a busca na tabela de fatos,
já que o “Id” da tabela derivada também é migrado para a mesma.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 4: Modelagem de Dados Para Data Warehouses 59
Não costumamos usar esta abordagem, pois ela aumenta o número de tabelas no esquema.
Agregados
Em um DW, chamamos de granularidade o nível de detalhe das tabelas. Quanto maior o
nível de detalhe, menor a granularidade.
Ainda utilizando exemplo dos produtos (Figura 4.11), podemos ter uma tabela de fatos
que armazena os dados em nível de granularidade de produto e uma tabela de fatos
agregada que armazena dados em nível de grupo. Isto é viável se muitas consultas são
feitas por totais de Grupo. Neste caso, as somas dos valores das vendas por grupo já vão
estar prontas, agilizando assim estas consultas.
Em casos muito críticos, podemos optar por acrescentar o campo grupo na tabela com
menor granularidade com intuito de otimizar o desempenho da agregação por grupo.
Isto é comum em casos com dimensões descaracterizadas. Se tivermos notas ficais como
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
60 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
sendo integrantes de um pedido, podemos construir uma tabela de fatos de notas fiscais,
acrescentando o número do pedido, e uma tabela agregada de pedidos que irá servir para
comparar o que foi pedido (total) e o que foi realmente vendido.
Para projetar estrelas com intuito de gerar informações gerenciais, o engenheiro de soft-
ware deve identificar qual subconjunto do modelo de negócio será usado. No Capítulo 7
apresentamos uma metodologia para especificação de requisitos de um DW.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 4: Modelagem de Dados Para Data Warehouses 61
Neste caso específico, optaremos por verificar o movimento diário de cada produto. O
objetivo é verificar os produtos vendidos, preços e filiais que efetuaram a venda ao
longo do tempo.
Depois de definida a parte do modelo de negócio a ser analisada, devemos decidir qual
granularidade será usada para a parte escolhida. No nosso caso poderíamos analisar os dados
em nível de nota fiscal e verificar o movimento diário e/ou mensal dos produtos por filial.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
62 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Por fim, escolhemos os fatos mensuráveis que irão popular cada registro da tabela de
fatos. No nosso exemplo, podemos ter como indicadores para a tabela de fatos o total de
vendas, unidades vendidas, total do custo, etc.
A Figura 4.12 representa uma estrela para responder aos questionamentos diretivos da
rede de restaurantes.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 4: Modelagem de Dados Para Data Warehouses 63
■ Como armazenar fatos de um produto que não está em promoção? Criamos um registro
na dimensão “Promoção” com o valor descritivo “Sem promoção”;
■ Se só armazeno produtos que foram vendidos, como recuperar informações de produtos
que estavam em promoção e não foram vendidos? Podemos preencher a tabela de
fatos com zeros para este caso, porém vamos expandi-la enormemente. A recuperação
pode ser feita através da diferença da lista de produtos em promoção no dia e a lista de
produtos vendidos.
■ Posso ter mais de uma tabela de fatos em um mesmo esquema estrela? Claro. Podemos
ter tabelas de fatos que se relacionam com as mesmas dimensões e possuem uma
semântica diferente. Em um esquema para análise de vendas, pode existir uma tabela
de fatos para as vendas concretizadas e outra idêntica para as vendas previstas;
■ Se um produto pertence a mais de um grupo e um grupo pode ter mais de um produto,
como representar esta dimensão no esquema estrela? Basta criar uma dimensão
derivada Grupo que terá um relacionamento de muitos para muitos com a dimensão
Produto. Como resultado, teremos uma tabela de fatos “Grupo X Produto”. Esta
tabela conterá os IDs do grupo e de produto. Podemos aplicar esta solução em
qualquer caso semelhante.
■ Como identificar dimensões? Dimensões podem corresponder a um atributo de uma
entidade, a uma entidade com todos ou alguns atributos, ou a entidades relacionadas
com todos ou alguns de seus atributos. As dimensões são identificadas nas perguntas
feitas pela área diretiva. Uma dimensão é um participante de um fato explicitamente
indicado na pergunta, não evolui com freqüência e não possui indicadores analíticos
associados. Na pergunta: “Qual o desempenho das filiais em cada estado?”,
identificamos a necessidade de análise por filial e por estado. As dimensões respondem
a perguntas do tipo “O que?” (sofre a ação – venda de um Produto), “Quem?” (agente
associado – venda por um funcionário), “Onde?” (local – venda na filial x) e “Quando?”
(tempo – vendas mensais ou diárias).
■ Como identificar fatos? Também identificamos fatos na perguntas: “Qual o desempenho
das filiais em cada estado?”. Geralmente numéricos, os fatos são evolutivos, mudando
seus valores com freqüência.
■ Como os DERs dos sistemas fontes podem direcionar o projeto de um esquema estrela?
Podemos acompanhar as seguintes dicas:
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
64 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Resumo
Em 1993, o Dr. E.F. (Ted) Codd criou o termo Online Analytical Processing (OLAP) em
um ensaio intitulado Providing OLAP (Online Analytical Processing) to User-Analysts:
An IT Mandate. Até a publicação do ensaio de 1993 do Dr. Codd os projetistas de banco
de dados tentavam encontrar uma maneira mais eficaz de estruturar tabelas, de forma a
garantir uma redundância muito baixa. As regras de normalização de Codd orientavam o
projetista a criar uma estrutura lógica de tabelas sem qualquer redundância. No entanto,
devido a questões de desempenho, abria-se espaço para a introdução de dados duplicados
para garantir um acesso mais rápido.
A técnica Star Schema foi concebida pelo Dr. Ralph Kimball como uma forma alternativa
de projeto de dados para aplicações de DW. O nome estrela (Star) é devido à forma de
projeto, onde uma grande tabela de fatos reside no centro do modelo, rodeada por vários
pontos, ou tabelas de referência.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 4: Modelagem de Dados Para Data Warehouses 65
O princípio básico por trás do Star Schema é a introdução de dados altamente redundantes
por questões de desempenho. O Dr. Kimball descreve as desnormalizações como pré-
junções de tabelas, de forma que as aplicações não precisem fazer a junção das tabelas
em tempo de execução. No centro do Star Schema, a tabela de fatos é normalmente
composta de chaves e dados puros. Uma tabela de fatos é, geralmente, muito extensa e
contém milhões de linhas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 67
5
C A P Í T U L O
Gerência de Metadados
em um Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
68 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Metadados em um Processo
de Data Warehousing8
Os metadados são definidos como dados sobre dados, porém a complexidade desses dados
no Data Warehouse aumenta muito. Num sistema OLTP geram-se documentos somente
sobre o levantamento dos dados, banco de dados e o sistema que alimenta o mesmo. No
Data Warehouse, além do banco, gera-se uma documentação muito maior. Além de descrever
sobre o levantamento de dados e o banco, temos ainda o levantamento dos relatórios a
serem gerados, de onde vêm os dados para alimentar o DW, processos de extração, tratamento
e rotinas de carga dos dados. Ainda podem ser gerados metadados sobre as regras de negócio
da empresa e todas as mudanças que elas podem ter sofrido, e também a freqüência de
acesso aos dados. Os metadados englobam o DW e mantêm as informações sobre localização
dos dados (Figura 5.1). São exemplos de metadados para um DW:
Acrescentamos ainda os dados referentes aos relatórios que são gerados pelas ferramentas
OLAP, assim como os que são gerados nas camadas semânticas.
Os metadados podem surgir de vários locais durante o decorrer do projeto. Eles provêm
de repositórios de ferramentas de modelagem, os quais geralmente já estão estruturados,
facilitando a integração da origem dos metadados e um repositório dos mesmos. Essa
fonte de metadados é riquíssima. Outros dados que devem ser considerados metadados
são os materiais que surgirão das entrevistas com os usuários. Destas entrevistas podem
obter-se informações preciosas que não estão documentadas em nenhum outro lugar
além de regras para validação dos dados depois de carregados no Data Warehouse.
8
Chamamos de Data Warehousing (Dwing) a solução completa desde a coleta dos dados até a sua
transformação em informação.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 69
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
70 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 71
Metadados Operacionais
Os metadados operacionais fazem parte do conjunto de metadados técnicos de um
processo de Data Warehousing. Estes metadados exercem uma influência no ambiente
de entrada de um Data Warehouse, determinam a aceitabilidade dos dados que são
transmitidos para o Data Warehouse e controlam o processo pelo qual a transmissão é
feita. É fundamental para a natureza de um ambiente de Data Warehouse que o escopo
do sistema esteja em constante fluxo. Mudanças em relação a negócios, novas telas,
ferramentas de análise oferecendo novas maneiras de análise de dados, e a consistência
e completeza oferecidas por um Data Warehouse podem significar benefícios que irão
contribuir para uma constante evolução.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
72 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
■ Atributo Destino: Provê uma definição em nível de atributo para cada item do dado.
■ Armazenamento Físico: Fonte atual, intermediária e os objetos de destino usados na
transferência.
■ Regras: Definem as regras que estão alocadas em cada item do dado (geralmente em
nível de atributo) enquanto passa pelo ambiente de Data Warehouse, possivelmente
fazendo a validação, medição, dependências complexas com outros atributos,
dependências com data e hora, e outros efeitos externos.
■ Dependências: Dependências existentes na Ordem de Transferência – adicionando
sofisticação para o conceito de fluxo de trabalho, permitindo ao desenvolvedor definir
a ordem de cada passo. Na verdade uma implementação mais moderna dessa
característica seria possível com uma ferramenta de gerenciamento de projetos. Vale
também considerar que a ferramenta ETL irá permitir a gravação e o controle desses
modelos de trabalho.
Os elementos citados acima são basicamente estáticos. Eles não são afetados pelo banco
de dados ou por outras influências externas. Muitas companhias oferecem ferramentas
que possam aumentar a capacidade de gerenciar metadados operacionais. Em alguns
casos, as ferramentas combinam gerenciamento de metadado técnico com a capacidade
de uma ETL, definindo sua Staging Area como seu escopo.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 73
Metadados de Negócio
Os metadados de negócio englobam informações requeridas pelos usuários finais para
balanço e sobre como usar o conteúdo de um Data Warehouse para suprir suas
necessidades. Essencialmente, metadados de negócio asseguram que cada usuário tenha
um ambiente de Data Warehouse consistente bem entendido, e que possam usar isto para
formular um método apropriado para encontrar suas necessidades de negócios. Em
conseqüência disso, os metadados de negócio devem responder perguntas como: O
rendimento inclui ou exclui taxas de venda?; Quando alguém de outro departamento fala
sobre tipos de produtos, a que ele ou ela está se referindo? Qual a fórmula usada para
encontrar o resultado final da empresa?
A capacidade de entender e analisar deve ser grande para responder estes tipos de perguntas
citadas acima. É função dos metadados de negócio controlar e gerar respostas para estas
perguntas, e assegurar que os usuários do DW e Data Marts estejam trabalhando de
acordo com as regras da empresa.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
74 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
■ Data de início, data de fim e status: Atributos temporais necessários para o controle
de versionamento dos metadados. São respectivamente: Data de início de validade do
metadado, data de fim de validade do metadado e situação do metadado (válido ou
inválido atualmente). Desta forma é possível manter um histórico da evolução da
semântica dos dados, um requisito indispensável aos analistas de negócio.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 75
Finalmente, pode ser usada uma ferramenta OLAP para acessar a informação no
repositório ou até mesmo ser desenvolvida uma interface Web para acesso através de
uma intranet, por exemplo.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
76 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Mais interfaces precisam ser modeladas para o envio dos metadados do repositório às
suas fontes.
■ Metadados Rotativos: O metadado rotativo permite que o repositório envie seu
metadado de volta ao sistema de informação operacional da empresa. Essa arquitetura
é parecida com a bidirecional, mas nesse caso o repositório envia seu metadado para o
sistema fonte operacional e não para dentro de outras aplicações. Metadados rotativos
estão ganhando popularidade entre as organizações que querem implementar um
repositório de grande escala, pois permitem fazer mudanças globais no repositório e
ter essas mudanças detectadas dentro do sistema fonte operacional da empresa.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 77
Requisitos de uma
Arquitetura de Metadados
Integração
O maior desafio em construir um DW é integrar todos os seus dispositivos de dados e
transformar esses dados em informações valiosas. O mesmo acontece para um repositório
de metadados. Por exemplo, uma organização deseja mostrar a seus usuários a definição
de um campo que aparece em um relatório, e digamos que esse campo veio de uma
planilha eletrônica. O processo de integração dos metadados deve criar um link entre os
metadados do relatório e o campo da planilha. A integração dos dados é a tarefa mais
complexa na implementação de um repositório de metadados.
Extensibilidade
Se a integração é a característica mais difícil a ser atingida, a escalabilidade é a mais
importante. Um repositório de metadados que não foi feito para crescer constantemente
breve ficará obsoleto. Três fatores estão levando os repositórios a esse crescimento:
■ Crescimento contínuo de sistemas de suporte à decisão: É normal que o tamanho de um DW
e o número de usuários que acessam esse DW dobrem em um só ano. Se esses sistemas de
suporte à decisão crescem, o repositório tem que crescer para atender esse crescimento.
■ Reconhecimento do valor de um uso mais amplo dos metadados: Durante os últimos
cinco anos as empresas começaram a notar a importância de ter um repositório de
metadados. Essas empresas não estão utilizando o repositório só para suporte à decisão,
mas também para outros fins.
■ Maior confiança no gerenciamento do conhecimento: Gerenciar conhecimento consiste
em identificar, capturar e compartilhar todos os recursos da empresa. Em resumo o
conceito de gerenciamento do conhecimento é a captura dos recursos e disponibilização
dos mesmos na rede da organização.Nos últimos anos, as organizações começaram a
entender que o repositório de metadados é a principal estrutura para implementar o
gerenciamento do conhecimento.
A ferramenta que gerencia o repositório também deve ser transportável entre sistemas
operacionais, pois a mudança de um sistema operacional na organização não pode devastar
um projeto de repositório de metadados.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
78 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Robustez
Como qualquer sistema, um repositório de metadados deve ter funcionalidade e desempenho
suficiente para atender as necessidades da sua empresa. Deve atender os usuários técnicos
como também os usuários de negócios, e ter mais algumas características como:
■ Capacidade de importação e exportação de metadados.
■ Configuração segura e facilidades de permissão de acesso aos dados.
■ Arquivamento e backup simplificados.
■ Habilidade de gerar relatórios técnicos e de negócios.
Abertura
A tecnologia usada para a integração de metadados e acessos deve ser aberta e flexível.
Por exemplo, os bancos de dados usados para guardar metadados são geralmente
relacionais, mas a arquitetura de metadados tem que ser suficientemente flexível a ponto
de permitir que a organização mude de um banco de dados relacional para outro tipo de
arquitetura. A abertura também diz respeito ao acesso ao repositório, ou seja, as
organizações geralmente desejam fornecer seus relatórios aos seus usuários via Web direto
de qualquer browser. Um bom gerente de metadados deve permitir isso.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 79
Flexibilidade
Modelos de metadados geralmente usam um esquema orientado a objetos para representação
conceitual da organização dos repositórios. O modelo de metadados provê uma estrutura para
estabelecer um protocolo para acesso aos metadados, administração e intercâmbio de informações
entre os softwares que acessam o repositório. O modelo de metadados deve ser capaz de capturar
o que for de interesse das aplicações que fazem uso do repositório. Por exemplo, em um DW ou
ambiente de suporte à decisão temos como metadados chave: objetos relacionais e não-
relacionais, conceitos multidimensionais, lógicas de transformação, regras de negócio e
programas de trabalho. Todos esses metadados devem ser manipulados pelo repositório. A
metodologia de modelagem de metadados deve ser capaz de acomodar vários tipos de
relacionamentos, como um-pra-um, um-pra-muitos, muitos-pra-muitos, agregação e herança.
Gerenciamento de Múltiplas
Versões de Metadados
No momento em que o metadado provê um contexto para interpretação do significado
da informação, o repositório tem a função de gerenciar a estrutura dos dados de um DW
por um longo espaço de tempo. Por esta razão, é preciso saber o período de tempo em
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 81
Facilidades de Atualização
Inevitavelmente, podem ocorrer mudanças nas aplicações que acessam o repositório a
partir do momento que ele for carregado. A equipe que implementou o repositório tem
que decidir em que momento atualizar o repositório para cada fonte de metadados. Como
regra geral, a maioria dos repositórios é atualizada mensalmente. Na maioria das fontes
de metadados, não é necessária uma atualização do repositório para cada mudança que
ocorra. Por exemplo, se for adicionado um índice em uma tabela de um sistema fonte,
não é necessária a atualização, mas se algo de mais abrangente acontecer como a
eliminação de uma entidade de um sistema fonte, o repositório tem que ser atualizado
para incorporar os novos modelos de dados, definições de negócios, e assim por diante.
Claro que alguns tipos de metadados, como por exemplo as estatísticas de leitura de um
DW e acesso dos usuários, são constantemente atualizados.
Arquitetura Multicamadas
A maioria dos repositórios de metadados é baseada em arquitetura de duas camadas, cliente-
servidor, da mesma forma que um servidor de banco de dados funciona, sendo acessado
por várias aplicações. Mas uma arquitetura multicamadas provê uma arquitetura mais aberta
e extensível para gravação, leitura e modificação dos metadados. Essa arquitetura inclui
um servidor de repositório que encapsula um sistema de gerenciamento físico de banco de
dados (seja relacional ou orientado a objetos) e fornece vários componentes para manipular
inúmeras interfaces (XMI, XML, COM+, etc.). Também deve haver provisão de mecanismos
para acesso e gerenciamento de metadados em redes locais e de longa distância para
acomodar ambientes de distribuição. Com o crescimento da internet e comércio eletrônico,
uma arquitetura multicamadas é um importante requisito para um repositório de metadados.
Gerenciamento de Segurança
É importante salientar que o metadado é um recurso inestimável em uma organização.
O acesso ao metadado deve ser cuidadosamente controlado para projetar recursos
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
82 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Funcionalidade de um
Repositório de Metadados
Para alcançar seus objetivos, o repositório de metadados deve prover certa funcionalidade
como: provisão de informação baseada em um metamodelo, acesso automático,
administração de versão e configuração, análise de impacto e notificação.
Provisão de Informação
O repositório tem que oferecer mecanismos para exame, filtro e navegação de modo a
satisfazer as necessidades de informação dos usuários. O esquema do repositório deve
prover consultas sob certas condições como, por exemplo, fazer consultas selecionando
apenas o processo de atualização, ou todos os metadados lógicos que se relacionam com
o objeto de negócio “sócio”.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 83
Com relação à filtragem o ideal é que além do exame de atributos fixos seja possível
também a procura de palavras-chave dentro de descrições textuais. Desta forma, toda
informação relacionada com um tópico pode ser provida.
Metamodelo
Para prover a funcionalidade necessária, um metamodelo apropriado deve ser escolhido.
Um metamodelo é o esquema conceitual do repositório de metadados. Especifica
elementos de metadados e relacionamentos entre eles.
Acesso ao Repositório
Para ser utilizável, o repositório tem que ser atualizado. Só podem ser garantidos o uso
próspero e longevidade do repositório se interfaces para interoperabilidade com outros
repositórios estiverem disponíveis. Para isso é necessário que um padrão de intercâmbio
seja adotado e uma API seja fornecida para acesso por outras ferramentas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
84 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Análise de Impacto
Esta característica deve permitir que administradores possam avaliar o impacto de
mudanças no DW antes que eles sejam feitos. Simulações são feitas para descobrir quais
partes do sistema são afetadas quando a aplicação requer mudanças. Por exemplo,
mudanças de esquemas fontes podem ter conseqüências para regras de transformação.
Notificação
O repositório deve prover mecanismos de notificação para usuários e/ou ferramentas
interessadas em mudanças significantes.
Metadados Técnicos e
Qualidade de Dados em Metadados
Poucos DWs exploram as vantagens de incorporar metadados técnicos especializados
em seu modelo de dados de suporte à decisão e processos ETL. Isso sempre leva a uma
redução na flexibilidade do DW, causando perda de tempo, dinheiro com manutenção,
aquisição de dados e auditoria de informação. Pode também levar os usuários a
interpretarem de maneira errada as informações do DW. Nesse tipo de situação, é
necessário rever o repositório de metadados e procurar aprimorar a identificação e
qualidade dos dados. É importante entender como o uso do metadado controla a qualidade
da informação guardada em um DW.
Sabemos que muitas empresas usam um repositório para acessar informações técnicas e
de negócio. Por esse aspecto, o repositório serve como um catálogo de informações para
um ambiente de suporte a decisão, sendo como um guia para a informação armazenada
no DW. Apesar dessa importante característica, o repositório ainda pode ser expandido
para uma participação ativa no processamento dos dados.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 85
com que freqüência o DW é atualizado. Essa informação permite aos usuários terem
uma boa visão do ambiente de suporte a decisão, mas esse nível de informação é
insuficiente quando um usuário técnico ou de negócio precisa ter uma visão mais detalhada
dos dados de um DW.
Para alcançar uma visão mais detalhada da informação contida no DW, o arquiteto do
repositório, o modelador dos dados e os desenvolvedores usam o metadado técnico que
foi estendido para forjar um relacionamento mais próximo entre o repositório e o banco
de dados de suporte a decisão. Isso é realizado incorporando o metadado técnico no DW.
Essa técnica é usada para estender o projeto e a arquitetura de um DW, para aumentar o
processo de otimização para aquisição dos dados, atividades de manutenção e medidas
para qualidade dos dados.
Para fazer do metadado técnico uma ponte entre o repositório e o modelo de dados de um
DW, o projetista deve incluir operadores no modelo de dados físico. O metadado técnico,
ao contrário da informação guardada no repositório, é referenciado de maneira livre no
DW. Essas marcações de metadados técnicos provêem um bom detalhamento da
informação contida no DW. Essa associação direta do metadado para cada informação
no DW, é o que distingue o metadado estendido.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
86 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 87
metadado técnico é incorporado no modelo físico baseado no tipo de tabela que está
sendo endereçado.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
88 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
para manter histórico, esse atributo também é muito útil para esquemas que não sejam
tipo estrela, onde o modelo de dados é como um DW atômico e as estruturas tendem
para a terceira forma normal. Em vez de pesquisar na tabela pelo campo de data mais
antiga, o processo ETL nomeia “N” para o campo mais antigo e “S” para o mais atual.
Isso permite que os usuários consultem dados históricos e atuais do DW.
■ Identificador do Sistema Fonte Operacional: Uma das mais úteis técnicas em termos
de campos de metadados tanto para administradores, quanto para usuários finais, é o
uso do “Identificador do Sistema Fonte Operacional”. Esse atributo é usado para
identificar a fonte original dos dados e permite identificar individualmente, para cada
linha da tabela de um DW relacional, por exemplo, quais fontes foram usadas na sua
construção. Os usuários de negócio poderão questionar a qualidade ou a validade dos
dados em um DW para devolver a informação ao sistema de informação operacional
de origem, que forneceu a informação. Em alguns casos, os administradores podem
usar esse atributo para identificar e remover dados corrompidos de um ou mais sistemas
fontes operacionais.
■ Identificador de Chaves: Esse identificador indica se as chaves em um DW ainda
continuam ativas em seus sistemas fontes operacionais de origem. O “Identificador
de Chaves” provê uma análise alternativa para pesquisas no DW. Esse atributo pode
ser usado efetivamente em uma variedade de atividades de análise para identificar
quais dados deveriam estar em relatórios. Por exemplo, o “Identificador de Chaves”
pode ser usado para identificar e filtrar as contas contábeis que estão inativas em
um certo banco.
■ Indicador de Nível de Secreto: Uma das técnicas mais controversas é o atributo
“Indicador de Nível Secreto”. Esse atributo é usado para indicar que regras de negócio
ou suposições foram aplicadas em um dado em particular durante o processo ETL.
Esse atributo possibilita ao usuário medir o nível de credibilidade de um dado baseado
em um processo de transformação que foi executado. O “Indicador de Nível Secreto”
é freqüentemente usado para identificar problemas de qualidade de dados do sistema
fonte operacional e facilitar a correção desses problemas. O “Indicador de Nível
Secreto” também é usado para identificar dados que tiveram que ser estimados, previstos
ou tendenciados. Desta forma, um DW pode ter, por exemplo, níveis de estabilidade:
um determinado nível representa dados considerados mais voláteis, fáceis de limpar
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 89
ou relativamente moderados para definir; outro nível pode representar dados que fo-
ram considerados mais problemáticos para definir; um terceiro nível pode consistir de
dados que não vieram de nenhum dos sistemas fontes operacionais mas sim de alguma
planilha, e um quarto nível para marcar os dados de fontes externas como novos serviços
ou fontes comerciais.
Vale salientar que incorporar marcação de metadados técnicos faz possível uma variedade
de otimizações na aquisição dos dados, atividades de manutenção e informações de
auditoria dos usuários finais no DW. Como exemplo podemos citar a possibilidade de
eliminação de uma carga corrompida ou suspeita de um DW com maior facilidade, pois
antes de os atributos de metadados técnicos serem incorporados dentro do modelo de
dados, os desenvolvedores tinham opções limitadas de isolamento e remoção de
informações corrompidas. A marcação de metadados técnicos permite aos
desenvolvedores serem seletivos em seus métodos de remoção de dados do banco.
Controle de Metadados em um
Projeto Evolutivo de Construção de DW
Para um DW abranger toda a corporação inicialmente, a mesma deve ser totalmente
informatizada e integrada, além do fato de o projeto ser extremamente complexo e com
alta probabilidade de insucesso.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
90 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Em linhas gerais, os metadados englobam as maiores funções de cada ciclo de vida dos
dados dentro de um Federated Data Warehouse. Os metadados provêem uma linguagem
comum para definir o comportamento dos dados. A sintaxe formal dos metadados permite
definição robusta de regras de negócio e significados associados com os dados que estão
sendo transferidos do sistema de informação operacional de origem para o EDW e
eventualmente para dependentes ou independentes Data Marts. Isso se aproxima da visão
tradicional dos metadados, descrevendo como vendas e clientes se relacionam,
assegurando a consistência do grupo de clientes, definições universais, valores usados
para moeda, entre outros.
Os metadados também controlam o fluxo dos dados. Os metadados técnicos vão conter
não só definições dos dados, como também descrições formais da ocorrência dos fluxos,
regras de transformação de dados, dependências entre as transformações, e fatores de
tempo que afetam a transferência dos dados.
Finalmente, os metadados vão comunicar a natureza dos dados dentro do Data Warehouse
para os usuários e desenvolvedores com a necessidade de entender a base dos negócios.
Essa habilidade de acessar a definição e o controle dos dados é vital para que a proliferação
dos metadados ao longo das comunidades técnicas e não-técnicas seja efetiva e entendida.
O EDW pode suprir papéis diferentes nesse tipo de arquitetura. Ele provê um seguro e
completo mecanismo pelo qual a qualidade dos dados pode ser posta em controle de
consistência dentro dos Data Marts, mas evidentemente apresenta um nível significante
de redundância de dados. Cada item incluso no EDW estará no mínimo em uma das
estruturas dos Data Marts.
Todas as regras de negócio impostas pelo EDW ou pelos metadados técnicos dentro da
Staging Area serão herdadas pelos Data Marts, em um caso ideal. Os metadados técnicos
definem e controlam as regras de negócio que são aplicadas nos dados quando os
mesmos entram em um ambiente de Data Warehouse. Uma vez dentro do ambiente, a
interpretação que é posta sobre o dado pelos usuários é controlada pelos metadados de
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 91
Na prática, isto implica que os metadados devem ser gerenciados de acordo com os
seguintes aspectos:
■ As regras contidas dentro dos metadados técnicos devem ser controladas para assegurar
que elas estejam corretas. Regras sem necessidade devem ser omitidas e as regras
ditas universais não devem ser parciais.
■ As regras dentro dos metadados de negócio devem estar presentes em um formulário
de fácil entendimento pelo usuário final daquele dado – o principal propósito desses
metadados é assegurar que o usuário possa acessar e manipular o dado eficientemente
e corretamente. Isso não vai acontecer a menos que os metadados de negócio sejam
robustos e presentes nos termos de negócio.
■ O mecanismo de controle deve assegurar que os níveis dos metadados de negócio e
técnicos estejam consistentes. Se isso não acontecer, os metadados vão piorar a
qualidade dos dados ao invés de melhorar.
Padronização de Metadados
A globalização das corporações em um ambiente de negócios altamente competitivo
exige um fluxo de informações rápido e eficiente. Para isso, é necessária a integração
de informações e seu conseqüente gerenciamento como forma de diminuir o custo e o
tempo despendido na implementação de novas soluções. Contudo, esse gerenciamento
integrado encontra obstáculos na proliferação de ferramentas de gerenciamento e
manipulação de dados que, em sua maioria, processam metadados de maneira
proprietária. A solução para esse problema apresenta-se na forma de padrões para
definição e troca de metadados, o que permite a reutilização de dados entre diferentes
aplicações. Podemos citar dois principais padrões que possuem esse objetivo: MDIS
(Metadata Interchange Specification) e OIM (Open Information Model) ambos
pertencentes à Metadata Coalition, um consórcio não-lucrativo de vendedores e usuários
finais que tem como objetivo prover uma especificação não proprietária dos metadados
corporativos. O MDIS provê conceitos para suportar a troca de metadados relacionados
com diferentes tipos de repositórios de dados: relacionais, multidimensionais, em rede,
hierárquicos e baseados em arquivos. Contudo, sua especificação restringe-se aos
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
92 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Mesmo assim a padronização de metadados ainda não está estabilizada, pois padrões
para aplicações específicas requerem um alto grau de detalhe e regulamentação mais
precisa que padrões de propósito geral.
Seguindo na busca por padronização diversas empresas como a Oracle e Unisys deixaram a
Metadata Coalition e estão propondo o CWM (Common Warehouse Metadata). O mecanismo
é baseado no Intercâmbio XML9 de Metadados (XMI) especificamente. XMI usa os padrões
da XML. Em outras palavras, todo atributo de um metamodelo é representado na Definição
de Tipo de Documento (DTD) por um elemento de XML cujo nome é o atributo. Cada
associação entre duas metaclasses é representada por dois elementos de XML que representam
os papéis na associação. As multiplicidades da associação estão em multiplicidades de XML
que são válidas para especificar os modelos de elementos de XML.
Ainda não se sabe qual nível de detalhe e cobertura pode ser esperado pelo mesmo, ou seja,
até agora não está claro se o mesmo será um padrão estrutural que define um metamodelo
para Data Warehouse ou apenas um padrão de troca. O CWM não é a solução para a integração
funcional dos repositórios de dados, mas pode vir a facilitar esta tarefa por fornecer metadados
padronizados. Comparando o CWM com o OIM temos como principal diferença a amarração
do pacote OLAP do OIM ao modelo relacional. As diferenças são interessantes de serem
vistas, porém já é sabido que a Metadata Coalition forneceu suas especificações para o CWM
e parece ter desistido de continuar com a tarefa árdua de construir um “padrão”.
O Metamodelo CWM
O principal objetivo do CWM é facilitar a troca de metadados em um ambiente de DW
distribuído. O CWM pode ser classificado como um padrão para representação e troca
de metadados. Nele é especificado um metamodelo que pode ser visto como um esquema
conceitual para representação de metadados.
9
XML – eXtensible Markup Language – linguagem de marcação (Markup Language) extensível e flexível, cujos
dados são delimitados por tags. A XML foi projetada para descrever o conteúdo dos dados.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 93
O padrão CWM é uma proposta do OMG (Object Management Group) que se baseia em
outros três padrões do mesmo grupo.
Se o CWM for aceito verdadeiramente como padrão, habilitará produtos de apoio à decisão
a compartilhar dados e informação. Isto, em troca, proveria aos Data Warehouses uma
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
94 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Resumo
As pesquisas na área de metadados para DW estão aumentando em função da necessidade
extrema das organizações de conhecer melhor os dados que elas mantêm, e também
conhecer com mais detalhes os dados de outras organizações, através de intranets e
extranets. Sem uma documentação eficiente dos dados, é dificultada aos usuários a
localização de dados necessários para suas aplicações. Também, os dados ficam sujeitos
à superposição de esforços de coleta e manutenção, e vulneráveis a problemas de
inconsistências. O não uso ou uso impróprio da informação será altíssimo.
Para a construção de uma arquitetura de metadados o repositório dos mesmos deve atender
a requisitos básicos tais como: Integração; Extensibilidade; Robustez; Abertura;
Automatização e reutilização de processos; Padronização do processo de integração;
Flexibilidade; Gerenciamento de múltiplas versões de metadados; Facilidades de
atualização; Ser multicamadas; Gerenciamento de segurança.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 95
Para alcançar uma visão mais detalhada da informação contida no DW, o arquiteto do
repositório, o modelador dos dados e os desenvolvedores usam o metadado técnico que
foi estendido para forjar um relacionamento mais próximo entre o repositório e o banco
de dados de suporte a decisão. Isso é realizado incorporando o metadado técnico no DW.
Essa técnica é usada para estender o design e a arquitetura de um DW, para aumentar o
processo de otimização para aquisição dos dados, atividades de manutenção e medidas
para qualidade dos dados.
Para fazer do metadado técnico uma ponte entre o repositório e o modelo de dados de um
DW, o projetista deve incluir operadores no modelo de dados físico. O metadado técnico,
ao contrário da informação guardada no repositório, é referenciado de maneira livre no
DW. Essas marcações de metadados técnicos provêem um bom detalhamento da
informação contida no DW. Essa associação direta do metadado para cada informação
no DW é o que distingue o metadado estendido.
Para escolher os operadores, o sistema fonte operacional une os dados ao metadado técnico
estendido durante o processo ETL. O metadado técnico se une aos dados no DW provendo
um significado semântico mais claro para o dado. Por exemplo, a tabela de um cliente
deriva sua informação de duas fontes operacionais. A informação é retirada tanto de uma
aplicação de automação de venda quanto de uma aplicação de planejamento de recursos,
dependendo da disponibilidade. Sem o metadado técnico estendido na tabela, a informação
só pode ser usada do jeito que está, sem o sistema fonte operacional que a provê. O metadado
técnico marcado permite determinar quais dados foram derivados das duas fontes.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
96 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Conclusões
Os benefícios que um Repositório de Metadados pode oferecer a um ambiente de
Tecnologia da Informação, tais como histórico de informações e o grande aumento de
qualidade nas pesquisas, são notórios. Todavia, a utilização do mesmo em empresas
ainda está longe de ser uma tarefa fácil e de baixo custo. A tecnologia envolvida necessita
de mão-de-obra qualificada e escassa, e atualmente só grandes empresas têm capital e
estrutura para usufruir de tamanha qualidade na administração de informações. Devido a
estes fatores, empresas de várias categorias estão tentando desenvolver seu próprio
repositório utilizando-se de seus próprios conhecimentos e experiências. Isso certamente
resultará no desenvolvimento de Repositórios que possam ser acessíveis financeiramente
a pequenas e médias empresas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 5: Gerência de Metadados em um Data Warehouse 97
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 99
6
C A P Í T U L O
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
100 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
“Por onde começamos?”. Esta é uma das principais perguntas feitas pelos engenheiros
de software quando planejam implementar um DW. São várias as opções: DW
Corporativo, DWs departamentais, DWs funcionais (marketing, f inanceiro,
administrativo), DWs para projetos especiais, etc.
A tecnologia usada tanto no DW como no Data Mart é a mesma, as variações que ocorrem
são mínimas, sendo em volume de dados e na complexidade de carga. A principal diferença
é a de que os Data Marts são voltados somente para uma determinada área; já o DW é
voltado para os assuntos da empresa toda.
Segundo o Dr. Kimball, existem duas maneiras distintas de criação de DW: top-down e
bottom-up (Kimball, 1996).
■ Top-down: Uma perspectiva Top-down considera que um DW completo, centralizado
deva ser desenvolvido antes que partes dele, sumariadas, possam ser derivadas na
forma de Data Marts. A organização cria um DW e depois parte para a segmentação,
ou seja, divide o DW em áreas menores gerando assim pequenos bancos orientados
por assuntos departamentalizados.
■ Bottom-up: Na perspectiva Bottom-up temos uma situação inversa. A organização,
por desconhecer a tecnologia, prefere primeiro criar um banco de dados para somente
uma área. Com isso os custos são bem inferiores aos de um projeto de DW completo.
A partir da visualização dos primeiros resultados parte para outra área e assim
sucessivamente até resultar em um Data Warehouse completo.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 101
Um relevante desafio é manter a coerência entre os vários Data Marts. Para garantir
essa coerência, o projeto deve prever uma estrutura de metadados compartilhada,
como vimos no Capítulo 5 (seção Controle de Metadados em um Projeto Evolutivo
de Contrução de DW).
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
102 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Independente do tipo de Data Mart escolhido, em cada novo ciclo, deve-se seguir uma
metodologia de desenvolvimento bem definida como veremos nas próximas seções.
Por outro lado, a análise de SADs está focada na determinação de requisitos de dados e
fontes de dados de um sistema, e em documentar como extrair e disponibilizar esses
dados para os usuários finais.
A primeira diferença importante entre a análise para sistemas OLTP e SADs está nas
descrições das interfaces com os usuários. Na análise tradicional, um cuidado especial é
tomado com o método através do qual o usuário final irá interagir com o sistema. Na
análise de SADs, os desenvolvedores esperam que a maioria, se não todas, as consultas
feitas sejam adhoc10 . Sendo assim, os desenvolvedores de sistemas de apoio à decisão
estão mais interessados em especificar os dados para a base de informações do que
especificar os métodos de acessos aos dados.
Outra distinção básica entre sistemas tradicionais e sistemas de apoio à decisão é o objetivo
da fase de análise. Análises de sistemas de apoio à decisão são orientadas a dados,
diferentemente de sistemas tradicionais que colocam a lógica de processo como foco
principal. Na análise de SADs, as bases de dados fonte já existem e estão claramente
definidas. Sendo assim, os objetivos da análise de sistemas de apoio à decisão são:
compreender quais dados são de interesse dos usuários finais, como extrair esses dados
das bases operacionais e como disponibilizar essas informações para os usuários finais.
Basicamente, a análise de SADs envolve os seguintes processos:
10
Do latim, adhoc significa: “para isto”, para um “determinado ato”. Uma consulta adhoc é feita
intuitivamente e sem planejamento, ou seja, a consulta surge por demanda.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 103
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
104 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Entrevistas
O conhecimento do negócio e a compreensão das necessidades de informação das diversas
áreas da organização são fundamentais para a concepção de um ambiente de suporte à
decisão que permita subsidiar as atividades de controle do negócio, definição de estratégias
e elaboração de planejamento.
O ambiente de informação convencional fornece os dados que serão utilizados para gerar
as informações disponibilizadas pelo ambiente de suporte à decisão.
Os dados coletados devem ser consolidados para traçar o perfil das necessidades que
irão nortear o planejamento do modelo para a implementação do ambiente de suporte à
decisão. Dados relativos aos sistemas de informação devem ser levantados junto às equipes
de desenvolvimento e produção (TI). O foco deste levantamento deve ser a identificação
do conteúdo e volume das bases de dados existentes.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 105
Disponibilidade de Informações
Deve-se analisar o volume de informações disponíveis para os usuários finais e quais os sistemas
que as geram. Esta análise deve averiguar a existência de informações que permitam a
segmentação de clientes e destacar a importância do cadastro de todos os clientes da organização.
Acuracidade
Extrair o sentimento dos usuários em geral (grupo de entrevistados) com relação à
acuracidade das informações obtidas. Um fator que contribui para isto é a necessidade
de redigitação de dados para obtenção de algumas informações. Outro é a situação típica
de sistemas transacionais onde o momento em que a informação é obtida pode influenciar
em seu valor (os dados estão corretos, mas foram obtidos em momentos diferentes, levando
a resultados igualmente diferentes).
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
106 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Outra tabela importante a ser gerada é a que identifica os sistemas fontes que possuem as
informações necessárias dos usuários. A tabela da Figura 6.2 é um exemplo.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 107
Para efeito de levantamento, devem ser considerados os aplicativos responsáveis por informações
necessárias à implementação do Data Warehouse. A tabela da Figura 6.3 exemplifica como
relacionar os aplicativos avaliados. Esta avaliação deve ser composta por macrofluxo do sistema,
documentação da base de dados, características de processamento e etc.
As entrevistas também devem identificar os volumes de dados dos sistemas fontes para
fins de projeção do espaço em disco que deverá existir no servidor de Data Warehouse.
Os volumes devem ser obtidos a partir de dados do ambiente de produção e representar
um dia ou mês aleatórios, podendo haver desvios (a maior ou a menor) em relação ao
valor médio. No entanto, para fins de avaliação de volume total de armazenamento em
disco necessário, estes desvios não afetarão a ordem de grandeza da capacidade necessária.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
108 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Outro fato a considerar é que os volumes de dados devem ser multiplicados por 3 (fator
recomendado pela maioria dos fornecedores de SGBD) para obtenção da capacidade de
disco necessária para a implementação da estrutura de dados que irá suportar o Ambiente
de Suporte à Decisão. A tabela da Figura 6.4 demonstra como documentar estes volumes.
Por fim, é importante gerar tabelas de disponibilidade de arquivos que ilustrem os horários
da disponibilização dos arquivos (ou tabelas) necessários para a carga do Data Warehouse.
No cabeçalho destas tabelas podemos ter:
■ Horário: Término do processamento.
■ Momento: Indica quando os dados estão disponíveis (antes ou depois da execução de
determinado programa).
■ Interceptar: Indica o programa que libera ou utiliza o arquivo.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 109
Técnicas
Todas as técnicas básicas podem ser utilizadas. As entrevistas devem ser conduzidas
colocando os usuários (principalmente os gestores) como se estivessem em um ambiente
perfeito e pudessem obter todas as informações que desejam. O objetivo é extrair toda e
qualquer necessidade importante de informação gerencial. O entrevistador deve tentar
absorver destas pessoas a visão que têm em relação às tarefas que executam, o que elas
acham que devem fazer e como o fazem. Deve-se tomar cuidado com respostas agradáveis,
pois muitas vezes os entrevistados dão essas respostas com o intuito de auxiliar o
entrevistador e acabam mascarando alguma informação relevante.
Ao começar as entrevistas pelos gerentes, praticamos uma técnica política, pois as pessoas
hesitam menos em conceder o seu tempo se o “chefe” estiver a par da entrevista e a tiver
aprovado. Quando entrevistamos alguém, devemos saber sua posição no organograma e
conhecer as funções básicas de seu departamento ou de seu grupo. Entrevistadores
despreparados fazem os entrevistados (no nosso caso, pessoas cheias de tarefas) perderem
tempo e conseqüentemente ficam desacreditados.
Outro fator importante é o roteiro (orientação) da entrevista, deve ser planejado antes.
Devemos ter sempre em mente perguntas para dar seqüência ao assunto se houver
desvio do objetivo-chave.
A entrevista deve ser aberta com uma atmosfera descontraída para que o estabelecimento
da comunicação seja favorável. Podemos iniciar com uma conversa sobre algo lúdico,
clima e etc. Contudo, não se pode perder muito tempo com isso e deve haver um cuidado
para essa técnica não atrapalhar a entrevista.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
110 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Em seguida, o entrevistador deve iniciar o processo com uma pergunta ou pedido genérico
do tipo: “Por favor, explique-me este modelo de negócio”. Depois de explicações do
usuário, é sempre bom resumir o que foi absorvido para verificar se a compreensão do
assunto está sendo correta, pois se houver discrepância o entrevistado irá discordar.
Em todo o decorrer da entrevista devemos ser políticos, ou seja, evitar críticas ao ambiente
de informações atual e manter a concentração nas respostas, valorizando-as por mais
insignificantes que algumas possam parecer.
Finalmente, é importante ter bom senso e não promover reuniões muito longas, pois no final das
mesmas a produtividade é baixa e usuários de Data Warehouses geralmente são ocupadíssimos.
Equipe
Considerando as análises necessárias para implementação de um Data Warehouse, a
equipe do projeto relaciona-se com usuários finais e equipes de desenvolvimento dos
sistemas legados (Figura 6.5).
Se não é possível obter as informações sobre os dados, também não será possível construir
corretamente as referências de metadados.
Por outro lado, a equipe também terá uma grande dependência da agilidade e
disponibilidade das equipes dos sistemas legados, para obter os arquivos (ou tabelas)
extraídos de acordo com os cronogramas de implementação.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 111
deve ter acesso aos responsáveis pelas áreas usuárias, para garantir um perfeito
entendimento das necessidades e, novamente, estabelecer acordo de prazos de liberação
ou de acesso às informações.
Equipe DW
Usuários Finais
Entendimento de necessidades de informação
Definição de indicadores de desempenho
Definição de necessidades de acesso
Outra tarefa que pode ser minimizada é a programação para consultas e relatórios. Se
forem utilizadas ferramentas adequadas, a equipe do projeto deverá preocupar-se apenas
com o suporte à ferramenta disponibilizada aos usuários, que passariam a ter a
responsabilidade sobre criar seus acessos aos dados (respeitando-se aí os limites
estabelecidos pela política de segurança de acesso). Nossa experiência mostra que este
suporte é sempre maior do que o esperado pela equipe DW. A maioria dos usuários ainda
não é capaz de construir consultas intuitivamente e criar seu próprios relatórios gerenciais
de acordo com a demanda. Os usuários preferem ter uma estrutura EIS (vide Capítulo 1),
ou seja, relatórios gerenciais prontos acionados via um simples botão gráfico.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
112 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Vários projetos já passaram por altos níveis de frustração pelo pouco uso ou desuso total do DW
após a sua implementação. É incrível, mas ainda existem diretores e gestores de empresas que
se negam a usar uma ferramenta OLAP disponibilizada e preferem continuar fazendo seus
cálculos no papel ou em planilhas eletrônicas. Além disso, ainda não é comum uma cultura de
criação dos relatórios gerenciais pelos próprios diretores. Para conseguir sucesso na utilização
do DW, deve existir uma política de marketing do produto, convencendo os usuários da
acuracidade e valiosidade das informações geradas. Os mais pessimistas dizem que isso só será
totalmente possível quando a atual geração de diretores aposentar-se e renovar-se com
administradores modernos e estrategistas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 113
Outro ponto a ressaltar é que o tempo de resposta das consultas realizadas sobre um
Data Warehouse será também decorrência do volume de informações acessadas.
Dependendo da pesquisa, o tempo de resposta poderá ser de alguns minutos,
independentemente da velocidade do canal de atendimento.
11
SMP é uma arquitetura de processamento paralelo onde um grupo de processadores trabalha
conjuntamente, sendo possível qualquer um deles executar uma parte do programa.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
114 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
12
Backups são cópias de segurança de um sistema.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 115
Dependendo do servidor contratado, poderá ser feita uma expansão que será
configurada como ambiente independente do ambiente “de produção”, isto é, aquele
ambiente sendo utilizado para consultas.
Por outro lado, outros equipamentos não possuirão esta característica, exigindo a
disponibilização de um servidor exclusivamente para esta finalidade. Deve-se observar,
aqui, que este servidor e o SGBD utilizado devem ser totalmente compatíveis com os
utilizados no ambiente principal, evitando-se assim retrabalho e dificuldades na
implementação das novas fases.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
116 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Esquema de Carga
Como ferramentas ETL ainda são relativamente caras, pequenas, médias e até mesmo
grandes empresas tendem a construir um sistema de carga próprio para o DW. Sendo assim,
descreveremos aqui os componentes básicos que um sistema como esse deve possuir.
Muitas etapas são necessárias para transformar dados não processados de origem externa
em informações prontas para serem acessadas pelo usuário final e para serem utilizadas
no processo de tomada de decisões comerciais. Enumeramo-las:
■ Metadados precisam ser atualizados.
■ Os dados precisam ser lidos diretamente a partir de uma variedade de fontes, inclusive
arquivos de disco, linhas de rede, conexões de canal de mainframe e fitas magnéticas.
■ O dados precisam ser convertidos para o formato interno do banco de dados escolhido
para o DW a partir de uma variedade de representações externas, incluindo registros
de comprimento variável e fixo, formatos de caracteres e binários e etc.
■ Os dados precisam ser filtrados de modo a rejeitarem valores inválidos, chaves repetidas
ou registros com outros tipos de erro.
■ Os registros precisam ser reorganizados a partir de representações dos Flat Files13 de
modo a ficarem compatíveis com o esquema do DW. Quando o sistema fonte utiliza
um banco de dados diferente ou imcompatível, ou até mesmo utiliza outra estrutura de
13
Flat File é um arquivo plano geralmente do tipo texto, formatado para conversão de outro banco de dados. O Flat
File possui registros de tamanho único, onde cada registro de detalhe gera uma inclusão no banco de dados.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 117
arquivos diferente de um SGBD, o mesmo deve gerar Flat Files com os dados a serem
carregados no DW. Explicaremos a estrutura de um Flat File adiante.
■ Os registros precisam ser gravados fisicamente, observando as exigências de
configurações para particionamento de dados, balanceamento de discos e etc.
■ Os registros precisam ser verificados em relação ao banco de dados existente de modo
a assegurar consistências, mantendo uma integridade referencial completa.
■ Os registros precisam estar corretamente indexados.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
118 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Uma atualização de Data Warehouse não estará completa até que todas as etapas tenham
sido finalizadas de maneira bem-sucedida. A transmissão dos Flat Files dos computadores
em que estão instalados os sistemas legados para o servidor de DW pode ser feita de
várias formas como via FTP (File Transfer Protocol ou protocolo de transferência de
arquivo), por exemplo. Vale salientar que Flat Files são dispensáveis em organizações
que possuem uma estrutura unificada de banco de dados e são formados por:
■ Header: Primeiro registro do arquivo, que serve para identificar o mesmo. O header
armazena a data e a hora de processamento, a data de referência, o sistema de origem
e o tipo deste arquivo que geralmente é texto.
■ Detail: São os registros de detalhe provenientes dos sistemas legados, onde cada registro
dá origem a uma linha no banco de dados.
■ Trailler: Último registro do arquivo, onde é feita a totalização de registros com o
intuito de verificar se não houve nenhum problema na transmissão do Flat File. Ao
ser dada a carga, o sistema verifica se a quantidade de registros lidos é igual à
especificada no trailler.
Na Staging Area (vide Capítulo 2) encontram-se tabelas que são a cópia dos Flat Files e
as tabelas de violação de dados, para cada uma destas tabelas. Estas tabelas de violação
são, por sua vez, a cópia das originais mais um atributo de diagnóstico. São exemplos de
tipos de diagnóstico:
■ Violação de chave estrangeira14: um contrato para um cliente que não existe.
■ Violação de chave primária: dois produtos com o mesmo código.
14
Chave estrangeira é um campo qualquer da tabela que permite representar a associação lógica entre
linhas de duas tabelas. Exemplificando, uma tabela de contratos individuais deve possuir um campo
“código do cliente”, que representa o cliente que fez o contrato. Este tipo de campo é chamado de chave
estrangeira, pois é uma chave primária exportada da tabela de clientes.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 119
Sistema de Carga
Ao construir um Sistema de Controle de Carga o mesmo deve ser responsável, no mínimo,
pela execução, controle e oferta dos recursos de monitoramento dos processos de carga
no Data Warehouse. O sistema deve ser totalmente operado a partir de menus no servidor
de Data Warehouse e pode ser implementado em qualquer linguagem de programação.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
120 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Arquivos pendentes de dias anteriores deverão ser carregados antes dos arquivos do
dia. A carga deve ser dada por sistema, ou seja, todos os Flat Files de um sistema,
depois de outro e assim sucessivamente, obedecendo, para cada sistema, uma ordem
predefinida estabelecida no procedimento de carga. Idealmente, somente após a chegada
de todos os Flat Files o processo de carga deve ser iniciado. Também deve ser possível
excluir um sistema (conjunto de Flat Files) da agenda, evitando assim o carregamento
do mesmo em dias específicos. O processo como um todo consiste em carregar os Flat
Files para tabelas temporárias no banco de dados (Staging Area e ODS), e destas para
as tabelas definitivas do Data Warehouse.
Para carregar os dados nas diversas camadas, o sistema deverá exibir a relação de sistemas
com suas respectivas datas de processamento. O operador poderá fazer alguma alteração
nas datas antes de o processo começar, montando assim a tabela de carga. A partir das
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 121
tabelas de carga e de sistemas é montada a tabela de tarefas (to do list), ou seja, a lista de
sistemas que serão carregados no dia.
Geralmente, as violações são checadas pelas rotinas de carga construídas no banco de dados.
Estas rotinas geram uma exceção para o sistema de carga que fica responsável em alertar o
operador. Aconselhamos métodos como o envio de e-mails para os analistas responsáveis.
Pontos de Verificação
Para Garantia de Qualidade
Determinadas características do ambiente de informação antes da implementação do DW
poderão dificultar a implementação de alguns conceitos, frustrando expectativas. Dessa forma,
recomendamos que seja analisada a melhor alternativa para suprimir estas dificuldades.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
122 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 123
Cronograma de Implementação
A implementação de DW deverá ser gradual e constituída por etapas consecutivas. Em
cada fase deverão ser disponibilizadas as informações e os recursos destinados a apoiar
as atividades de uma área alvo.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
124 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
O cronograma abaixo ilustra e dá orientação para atividades que podem ser feitas
concomitantemente.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 125
Nos demais incrementos, haverá uma repetição de atividades, sendo que algumas serão
bastante simplificadas. Dependendo de decisões da equipe de projeto, atividades poderão
ser divididas em subatividades. Assim, a duração de cada atividade será definida de
acordo com o escopo adotado e recursos alocados.
Resumo
Ao planejarem construir um SAD as organizações devem buscar um projeto evolutivo,
pois para um DW abranger toda corporação inicialmente, a mesma deve ser totalmente
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
126 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Enrevistas com usuários finais durante o decorrer do projeto são de grande importância
para o entendimento das características do ambiente de informação existente. Podem ser
usadas todas as técnicas tradicionais de entrevistas, coletando assim dados consolidados
para traçar o perfil das necessidades que irão nortear o planejamento do modelo para a
implementação do ambiente de suporte à decisão.
A equipe de projeto para construção do DW tem seu tamanho influenciado pela utilização
ou não de ferramentas que facilitem todos os processos envolvidos. Independente do
tamanho, a equipe se divide em dois grupos básicos: grupo de profissionais com profundos
conhecimentos das necessidades dos usuários e das ferramentas de visualização e grupo
de profissionais encarregado dos modelos de dados do Data Warehouse e Data Marts,
com amplos conhecimentos das estruturas de dados.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 6: Uma Metodologia Para Implementação de um Data Warehouse 127
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 7: Estendendo a UML Para Documentar um Data Warehouse 129
7
C A P Í T U L O
Estendendo a UML
Para Documentar um
Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
130 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Vista como padrão hoje, a UML compreende uma série de artefatos que são utilizados
para análise de requisitos e projeto de um sistema de software. O leitor interessado
em uma documentação mais completa e específ ica deve consultar livros
especializados em UML.
Projeto Arquitetural
O projeto arquitetural visa decompor um sistema em subsistemas menores para reduzir a
complexidade do problema original. São identificadas e definidas camadas (subsistemas),
módulos (partes de subsistemas) e interdependências.
+
Nesse contexto, o termo artefato refere-se a um resultado tangível de um processo de desenvolvimento. A
UML oferece uma série de artefatos de documentação que podem ser utilizados nas diversas fases de um
processo de desenvolvimento de sistemas de software.
15
CASE - Computer Aided Software Engineering – Toda ferramenta que ajude no processo de construção de
um software seja ela lógica ou física, documentação ou teste.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 7: Estendendo a UML Para Documentar um Data Warehouse 131
16
ODBC (Open DataBase Connectivity) é uma especificação Microsoft para permitir que aplicações Windows
acessem a múltiplos dados através de um método simples, sem considerar os diversos formatos dos
arquivos de dados.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
132 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Em um DW, exemplificando uma estrutura básica sem ODS, temos uma arquitetura
distribuída, sendo composta de um repositório de dados central (o próprio Data
Warehouse), que é acessado por máquinas clientes em diversos setores da organização,
conforme mostrado no projeto arquitetural representado pela Figura 7.1.
Visão Estática
Em se tratando de visão estática dos dados, é importante acrescentar à documentação o
modelo conceitual de dados da Staging Area e o modelo conceitual da camada de dados
(DW) propriamente dita. Além disso, se houver, é importante descrever a definição dos
Flat Files, obedecendo a uma padronização de nome, o qual pode ser formado por um
identificador (Ex.: SRH14, onde SRH é a sigla do sistema que gerou o arquivo), acrescido
da data de referência do arquivo (Ex.: SRH1420030818).
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 7: Estendendo a UML Para Documentar um Data Warehouse 133
Visão Dinâmica
Para documentação de procedimentos ou métodos criados para efetuar carga e
transformação de dados no DW é viável descrever:
■ Objetivo
■ Parâmetros
■ Origem de dados
■ Tabelas afetadas
■ Pseudocódigo básico do funcionamento.
Transformação de Atributos
Atributos podem ser transformados em outros a partir de pesquisas. Exemplificando
(vide Figura 7.3), podemos ter o atributo cd_loja, existente em tb_aux_fatos_vendas,
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
134 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Transformação de Atributos
em Mais de um Atributo
Existem situações similares ao caso anterior onde um atributo é transformado em mais de um
atributo. Nestes casos, os atributos novos podem ser representados como na Figura 7.4.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 7: Estendendo a UML Para Documentar um Data Warehouse 135
Chaves Artificias
Podemos ressaltar chaves artificiais com um indicador de seqüência, seguido do rótulo
que contém o nome do atributo correspondente à chave. Na Figura 7.8 o atributo
“id_produto” de tb_fatos_vendas é uma chave artificial (vide Capítulo 4).
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
136 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 7: Estendendo a UML Para Documentar um Data Warehouse 137
Hierarquias, Agregados
e Tipos de Indicadores
Tipos de indicadores podem ser representados com os símbolos “(A)”, “(N)” e “(S)”
para caracterizar indicadores aditivos, não-aditivos e semi-aditivos respectivamente.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
138 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Como agregados não deixam de ser tabelas de fatos, podemos acrescentar ao estereótipo
<<Fato>> o estereótipo <<Agregado>>. Os campos utilizados para agregação podem
ser representados pela ligação das dimensões com a tabela de fatos agregada. Estas ligações
representaram os campos de agregação utilizados. Também é possível especificar a função
de agregação (vide na Figura 7.10 a função Soma()).
Documentação da Configuração
Física e de Relatórios OLAP
O gerenciamento de grandes volumes de dados causa muitos problemas
administrativos e de desempenho, o que pode ser minimizado a partir de técnicas
como particionamento de tabelas e de índices (vide Capítulo 8). A documentação do
projeto deve especificar todas as técnicas utilizadas, com o intuito de orientar futuras
manutenções aditivas e até corretivas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 7: Estendendo a UML Para Documentar um Data Warehouse 139
Resumo
Por questões de compatibilidade com as atuais metodologias de desenvolvimento de
software e para reaproveitar os modelos utilizados pelas ferramentas CASE, devemos
buscar a utilização da linguagem UML (Unified Modeling Language ou linguagem de
modelagem unificada) como mecanismo de representação para especificar e documentar
as diversas fases do desenvolvimento de um DW.
Para cada novo Data Mart implementado, deve-se gerar um documento contendo todas
as informações que especificam a total funcionalidade do mesmo. Com relação à visão
estática dos dados, os tradicionais artefatos UML para representação de modelos
conceituais podem ser usados para documentação do modelo de dados da Staging Area e
do modelo da camada de dados (DW) propriamente dita.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 8: Otimização da Configuração Física de um Banco de Dados... 141
8
C A P Í T U L O
Otimização da Configuração
Física de um Banco de Dados
Para Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
142 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Embora a maioria das técnicas de projeto físico utilizadas para Sistemas OLTP sirva
para o ambiente de Data Warehouse, elas não são suficientes para solucionar os problemas
inerentes ao volume de dados trabalhado em um Data Warehouse e atender às pressões
por consultas mais rápidas. A combinação desses fatores tem contribuído, cada vez mais,
para o desenvolvimento de novas características nos SGBDs a fim de suportar as
exigências impostas por aplicações baseadas em DW. Em conseqüência, faz-se necessária
a reciclagem técnica dos DBAs que passarão a ser responsáveis por grandes repositórios
de dados para que os mesmos tenham conhecimento das principais técnicas e soluções
disponíveis atualmente para essa nova classe de aplicação. Somente através dessa
consciência, poderá ser possível desenvolver projetos físicos que traduzam segurança,
disponibilidade e alto desempenho.
Este capítulo, portanto, possui dois principais propósitos: Prover embasamento teórico
necessário para a elaboração de um projeto físico de dados para Data Warehouse; e
servir de base para a escolha de um SGBD que apresente características que dêem suporte
à criação e evolução de um banco de dados voltado para suporte à decisão. Não representa
nosso objetivo substituir a experiência de um DBA, mas apontar questões cruciais que
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 8: Otimização da Configuração Física de um Banco de Dados... 143
Bloco de Dados
A grande maioria dos Sistemas Gerenciadores de Banco de Dados armazena seus dados
em uma unidade lógica chamada bloco de dados ou página. Uma tabela, por exemplo, é
formada por vários blocos que são responsáveis por armazenar seus registros. Um bloco
representa a menor unidade de Entrada e Saída (E/S) para um SGBD e, geralmente,
consiste de um ou mais blocos contíguos do Sistema Operacional. De maneira geral, um
bloco de dados em um SGBD é dividido em três partes distintas (Figura 8.1): Cabeçalho,
Área de Dados e Área Livre.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
144 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 8: Otimização da Configuração Física de um Banco de Dados... 145
Uma vez esclarecido o conceito de bloco de dados, vamos verificar qual a influência
desse componente no projeto físico de um Data Warehouse.
17
CHARACTER VARYING é um tipo de dado que representa uma cadeia de caracteres de tamanho variável.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
146 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
17
Nesse contexto, contenção é uma espera resultante da concorrência por recursos de Entrada e Saída.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 8: Otimização da Configuração Física de um Banco de Dados... 147
■ Tabelas
■ Índices
Caso não haja mudanças estruturais, os objetos do dicionário de dados são, relativamente,
estáticos, e devem sempre estar disponíveis para o perfeito funcionamento do SGBD.
Por esse motivo, deve-se evitar agrupar objetos pertencentes ao dicionário e objetos
pertinentes às aplicações em um único Espaço de Tabela.
Tabelas e índices são objetos com características físicas diferentes. Índices são objetos
voláteis que têm como principal objetivo prover um caminho de acesso rápido aos dados
contidos em tabelas. Em decorrência de operações de inserção, remoção e alteração, as
estruturas de dados que formam os índices tendem a ficar desordenadas, necessitando de
uma reorganização. Essa atividade de reorganizar as estruturas de dados faz com que
espaços de memória no Espaço de Tabela sejam desocupados e novos espaços sejam
utilizados. Isso acarreta no aparecimento de “buracos” no Espaço de Tabela que degradam
desempenho e minimizam a utilização do espaço livre em disco.
b) Os arquivos relacionados aos Espaços de Tabelas devem ser distribuídos entre
controladoras e dispositivos de discos de modo a evitar contenção de E/S.
No ambiente OLTP existe uma forte tendência por parte dos Administradores de Banco de Dados
em utilizar Espaços de Tabela para agrupar tabelas pertencentes a um mesmo sistema. Embora
essa abordagem alcance bons resultados para o ambiente operacional, ela não pode ser propagada
para o ambiente de DW. Nesse, existe a necessidade real de utilizar Espaços de Tabelas para cada
tabela de Fatos, uma vez que essas estruturas possuem características físicas diferentes mesmo
estando vinculadas a um mesmo Data Mart. Um segundo motivo para criar uma relação de 1
para 1 entre tabela de Fatos e Espaço de Tabela é o volume de dados geralmente ocupado por
essas estruturas. Através desse isolamento, pode-se alcançar melhor desempenho e facilidade em
tarefas administrativas como backup e restauração.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
148 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Particionamento
Um Data Warehouse, por definição, representa um banco de dados histórico com grande
volume de dados. Tal característica traz consigo problemas relacionados ao gerenciamento
de estruturas com centenas de gigabytes e até terabytes de dados. Consideremos o seguinte
cenário: uma tabela de fatos com, aproximadamente, 300 Gbytes de dados relativos a
uma década de informações transacionais que são acessadas constantemente como
mecanismo de planejamento estratégico e gerencial.
Para solucionar essas questões, os SGBDs passaram a oferecer mecanismos para o suporte
a grandes estruturas de dados para sistemas de missão crítica e Data Warehouses. O
principal mecanismo oferecido, atualmente, é o Particionamento. Embora os SGBDs
apresentem diferentes implementações, todos compartilham da mesma idéia: decompor
uma estrutura em estruturas menores (Figura 8.4) que possam ser mais facilmente
gerenciadas e que possam oferecer melhor desempenho. Na Figura 8.4 podemos observar
uma tabela de vendas que contém dados históricos divididos pelo ano em 11 partições.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 8: Otimização da Configuração Física de um Banco de Dados... 149
Visões Particionadas
Também conhecido com pseudoparticionamento ou particionamento manual, esse
mecanismo, ainda presente como o único em muitos SGBDs, representou a primeira
solução para o problema de grandes estruturas de dados. Esse tipo de particionamento é
alcançado através de duas atividades. A primeira consiste em dividir uma tabela em
diversas tabelas com estruturas idênticas e, através de restrições, separar os dados
pertinentes a cada uma delas. A segunda atividade é a criação de uma visão de banco de
dados que faça a união dos dados de todas as estruturas idênticas. Uma vez definida a
visão, consultas direcionadas à mesma e que contenham restrições no atributo de divisão,
farão referência, apenas, às estruturas efetivamente necessárias.
Vantagens do Particionamento
O Particionamento de estruturas, sejam elas tabelas ou índices, apresenta as seguintes
vantagens:
■ Redução do tempo de execução de consultas: O Otimizador de consultas pode,
automaticamente, eliminar partições que não atendem ao critério de consulta.
■ Redução do tempo de indisponibilidade em função de tarefas de manutenção: Algumas
tarefas de manutenção como criação e reconstrução de índices, e eliminação de dados
referentes a determinado período são altamente favorecidas pelo Particionamento,
pois partições isoladas de uma tabela podem ser acessadas mesmo que outras partições
estejam indisponíveis.
■ Redução do tempo para execução de backups e restauração: Partições podem ser
armazenadas em áreas de armazenamento individuais (Espaços de Tabela), o que pode
facilitar operações de gerenciamento como backup e restauração.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
150 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Índices
Índices são estruturas opcionais associadas a tabelas que têm por objetivo aumentar o
desempenho da execução de consultas. Índices para tabelas funcionam de forma
semelhante ao índice desse livro para a busca de informações. Além de auxiliar na busca
de dados, índices são os principais responsáveis pela redução de operações de E/S.
Os dados em um DW são organizados para que possam ser acessados da forma mais
eficiente possível, auxiliando assim o processo de tomada de decisão. Essa organização,
traduzida pelo Star Schema (ver Capítulo 4), precisa ser auxiliada por estruturas como
índices para que seja alcançado um alto grau de desempenho na execução de consultas.
A seguir, serão apresentados os principais tipos de índices utilizados em bancos de dados
voltados para a atividade de suporte à decisão.
Índices de Árvore B
Índices de Árvore B são os índices mais comuns encontrados na maioria dos SGBDs.
Sua estrutura de dados, como o próprio nome traduz, é uma Árvore B, na qual os nós de
nível mais baixo possuem os dados reais e apontadores para as linhas correspondentes.
Esse tipo de índice, em Data Warehoses, é mais apropriado para indexar chaves únicas
ou quase únicas. Logo, como direcionamento para a criação de índices de Árvore B em
um Star Schema, podemos afirmar que:
■ Deve-se criar um índice para os atributos chave das dimensões.
■ Deve-se criar um índice para os atributos chave da tabela de fatos.
■ Deve-se criar um índice para cada atributo ou conjunto de atributos das dimensões
que sejam utilizados como restrições em consultas e que apresentem alta seletividade.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 8: Otimização da Configuração Física de um Banco de Dados... 151
Índices de Bitmap
Em função da necessidade de consultas cada vez mais eficientes sob bases de dados cada
vez maiores, a indústria de SGBDs desenvolveu um tipo de índice especialmente projetado
para atender a aplicações baseadas em Data Warehouse. Índices de Bitmap (ou mapa de
bits) provêem a mesma funcionalidade que índices convencionais, a exemplo dos índices
baseados em Árvore B, porém utilizam uma representação interna diferente que os torna
mais rápidos e mais eficientes na economia de espaço.
Para explicar e exemplificar o uso de índices de Bitmap, vamos considerar uma tabela de
clientes que contenha os seguintes atributos: Nome, Sexo, Endereço e Região, onde os
possíveis valores para Sexo são “M” e “F”, e os possíveis valores para Região são “Norte”,
“Nordeste” e “Sudeste”. Utilizando os dados da Tabela 8.1, vamos criar índices de Bitmap
para os atributos Sexo e Região.
Um índice de Bitmap para o atributo Sexo teria dois vetores de bits, um para cada valor de
Sexo, com o comprimento igual a 5, que é o número total de linhas da tabela (Tabela 8.2).
M 10101
F 01010
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
152 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
A partir da Tabela 8.2, podemos observar que o mapa de bits criado para um atributo é
composto por um vetor de bits para cada valor assumido pelo atributo, e cada vetor apresenta
um tamanho igual ao número de linhas da tabela. Esse mapa de bits pode ser utilizado para
responder, com alto desempenho, consultas com restrições no atributo Sexo.
Vamos criar um outro índice de Bitmap para o atributo Região (Tabela 8.3).
Norte 10010
Nordeste 00101
Sudeste 01000
A partir de agora podemos utilizar a potencialidade dos índices de Bitmap para responder
questões do tipo: Quais os clientes do Sexo Masculino que vivem na região Nordeste?
Para responder a consulta anterior, o primeiro passo é encontrarmos o vetor de bits que
representa o Sexo Masculino: 10101, e o vetor de bits que representa a região Nordeste:
00101. O segundo passo é executar a operação AND bit a bit dos dois vetores: 10101
AND 00101 = 00101. O vetor de bits resultante, 00101, representa à resposta à nossa
consulta. Nele, podemos observar que os registros de números 3 e 5 são os que satisfazem
nossas restrições (Tabela 8.4).
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 8: Otimização da Configuração Física de um Banco de Dados... 153
Uma vez entendido o funcionamento dos índices de Bitmap, podemos apontar suas
principais vantagens:
■ Operações envolvendo comparações, junções e agregações são reduzidas à aritmética
binária com uma melhoria dramática no tempo de processamento.
■ Redução substancial do espaço utilizado comparado a outras técnicas de indexação.
■ Ganho dramático de desempenho mesmo para equipamentos com número relativamente
pequeno de CPUs e pouca quantidade de memória.
Nessa seção, recomendaremos uma série de medidas que podem ser utilizadas para
aumentar o desempenho da carga de dados para uma área de Staging no ambiente de
Data Warehouse.
■ Emprego de utilitários para leitura de Flat Files: Considere o emprego de utilitários
de carga oferecidos pelos SGBDs. Esses utilitários apresentam excelente desempenho
para a leitura de Flat Files, podendo carregar milhares de registros por segundo.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
154 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Resumo
Embora a maioria das técnicas de projeto físico utilizadas para Sistemas OLTP sirva
para o ambiente de Data Warehouse, elas não são suficientes para solucionar os problemas
inerentes ao volume de dados trabalhado em um Data Warehouse e atender às pressões
por consultas mais rápidas. A combinação desses fatores tem contribuído, cada vez mais,
para o desenvolvimento de novas características nos SGBDs a fim de suportar as
exigências impostas por aplicações baseadas em DW.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 8: Otimização da Configuração Física de um Banco de Dados... 155
■ Espaços de tabelas: o banco de dados deve possuir Espaços de Tabelas diferentes para
objetos de dicionário de dados, tabelas e índices.
■ Particionamento: devemos particionar tabelas e índices para alcançarmos os seguintes
objetivos:
■ Redução do tempo de execução de consultas.
■ Redução do tempo de indisponibilidade em função de tarefas de manutenção.
■ Redução do tempo para execução de backups e restauração.
■ Melhorar desempenho de operações de Entrada e Saída.
■ Uso de índices: Os dados em um DW são organizados para que possam ser acessados
da forma mais eficiente possível, auxiliando assim o processo de tomada de decisão.
Essa organização, traduzida pelo Star Schema, precisa ser auxiliada por estruturas
como índices para que seja alcançado um alto grau de desempenho na execução de
consultas.
■ Carregamento de dados para o DW: uma série de medidas pode ser utilizada para
aumentar o desempenho da carga de dados para uma área de Staging no ambiente de
Data Warehouse. São elas:
■ Emprego de utilitários para leitura de Flat Files.
■ Desabilitar índices de tabelas auxiliares da Staging Area.
■ Desabilitar log.
■ Habilitar diretiva APPEND para inserção de dados em blocos de dados vazios.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 157
9
C A P Í T U L O
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
158 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Ao mesmo tempo, a forma de interação entre as empresas e seus clientes tem mudado de
forma drástica. Os vendedores de hoje encaram uma situação muito complexa, com uma
variedade enorme de produtos e, conseqüentemente, maior concorrência. A continuidade
dos negócios com o cliente não está mais garantida e lealdade é coisa do passado. Os
clientes estão aumentando o seu nível de exigência e querem coisas que vão ao encontro
de suas exatas necessidades.
Como resultado destas profundas mudanças, as empresas têm descoberto que precisam
entender melhor seus clientes, dando respostas às suas vontades e necessidades de forma
ágil, sem esperar que os sinais de insatisfação sejam óbvios para se tomar as ações. Para
ter sucesso, as organizações devem ser proativas e antecipar os desejos dos clientes.
Todo este cenário faz surgir a necessidade de novas estratégias de negócio e os tomadores
de decisão modernos precisam de ferramentas para enfrentar as profundas mudanças.
Uma das vantagens da coleta intensiva de dados é o uso destas informações para ganhar
vantagens competitivas. O objetivo passa a ser, através da análise de dados, guiar o processo
de tomada de decisão.
Técnicas de Mineração de Dados (em inglês, Data Mining) podem ajudar a resolver
temas delicados de interações com clientes. Entretanto, é importante frisar que Data
Mining é somente uma parte de todo o processo de exploração da informação, e precisa-
se trabalhar com outras tecnologias (por exemplo, Data Warehouse e automação de mar-
keting), bem como com as práticas de negócio já estabelecidas.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 159
Diferentemente das tradicionais consultas a bancos de dados com SQL1 9, nas quais deve
ser explicitado tudo o que se deseja obter, um algoritmo de mineração de dados é capaz
de descobrir informações “escondidas” do usuário. Neste ponto, podemos voltar ao
clássico exemplo das fraldas e da cerveja (Capítulo 1): a venda associada destes dois
produtos só poderia ser descoberta, sem o auxílio de técnicas de mineração, através de
uma consulta explícita ao banco de dados, na qual deveria ser especificado que o inter-
esse era verificar em quantas transações do supermercado os produtos apareceram jun-
tos. É fácil perceber que isto não seria nada intuitivo, visto que é difícil imaginar que
possa haver alguma associação na venda dos dois itens. Um algoritmo de Mineração de
Dados deve ser capaz por si só de descobrir padrões como este.
19
Structured Query Language - Linguagem de consulta a bancos de dados.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
160 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
É importante frisar que Mineração de Dados é apenas uma das etapas do chamado Processo
de Descoberta de Conhecimento em Bancos de Dados (KDD – Knowledge Discovery in
Databases), explicado na seção O Processo de Descoberta do Conhecimento.
Técnicas de Data Mining, por outro lado, extraem informação útil, valiosa e previamente
desconhecida.
A tradicional abordagem para resolver este problema é escolher alguns clientes e tentar
convencê-los a assinar um plano por mais algum tempo de serviço. Esta tentativa poderia
envolver algum tipo de brinde ou talvez um desconto no plano tarifário. O problema,
entretanto, é descobrir quais clientes deveriam ser incluídos nesta solução. Por exemplo,
um cliente que utiliza as funcionalidades topo de linha dos aparelhos e sempre contrata
serviços especiais pode querer um novo aparelho, ainda mais moderno, ou outro brinde
para manter-se fiel por mais outro ano. A chave é determinar com qual tipo de cliente a
empresa está lidando. Neste ponto, as técnicas de Mineração de Dados são empregadas
como auxílio a uma das tarefas mais árduas: traçar o perfil dos clientes que devem ser
encaixados em determinadas estratégias.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 161
Database Marketing (ver Capítulo 3). Depois disto, serão apresentadas duas das mais
disseminadas técnicas de mineração de dados. O tópico seguinte explica em detalhes um
algoritmo de mineração bastante disseminado. Finalmente são tratadas questões de
integração de Data Mining e Sistemas Gerenciadores de Banco de Dados.
O Processo de Descoberta
do Conhecimento
O processo de descoberta de conhecimento envolve várias fases, mostradas na Figura 9.1.
O objetivo é extrair de grandes bases de dados, sem nenhuma formulação prévia de hipóteses,
informações desconhecidas, válidas e acionáveis, úteis para a tomada de decisão.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
162 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 163
Segmentar clientes e traçar seus perfis requer uma quantidade significativa de dados
sobre os mesmos e seus comportamentos de compra. Entretanto, o armazenamento
massivo de dados torna difícil filtrar a base em busca das informações valiosas. Desta
forma, as aplicações de Data Mining têm servido para automatizar os processos de procura
nas montanhas de dados de maneira a encontrar padrões que sejam bons preditores de
comportamentos de compra. Depois disso, providências são tomadas levando em
consideração os segmentos de mercado definidos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
164 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Algumas questões típicas de que as técnicas de Data Mining tratam podem incluir
respostas a difíceis questões, como:
■ Quais clientes são mais prováveis de adquirir um determinado produto?
■ Qual é a probabilidade de um cliente comprar um valor predeterminado de mercadoria
através de um catálogo enviado pelo correio?
■ Qual a probabilidade de o cliente adquirir certos produtos juntos?
■ Qual o impacto sobre as vendas de uma determinada empresa caso ela deixe de
comercializar determinado produto?
■ Qual o produto mais indicado para um determinado perfil de cliente?
Respostas a essas questões podem ajudar a reter clientes e aumentar as taxas de respostas
de campanhas, que, em seguida, aumentam as compras, vendas amarradas e retorno de
investimentos.
Técnicas de Data Mining podem ser utilizadas nas mais diversas áreas. Sem a intenção de
esgotar as possibilidades, mas com intuito de destacar algumas aplicações importantes,
mineração de dados pode ser utilizada em segmentos como:
Principais Técnicas
de Mineração de Dados
Existem vários modelos de descoberta de padrão ou de conhecimento. A escolha de um
modelo – juntamente com um algoritmo que extrai conhecimento segundo o modelo –
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 165
Classificação
O objetivo desta técnica é a organização de dados em classes, baseando-se em propriedades
(atributos) comuns entre um conjunto de objetos em uma base de dados.
A interpretação de um dos galhos é que uma pessoa que possui mestrado e ganha acima
de dez mil reais por ano paga seus empréstimos, sendo, portanto, classificada como uma
pessoa confiável. Já uma pessoa com o título de mestrado e com uma renda anual menor
que 10 mil reais não é confiável para se conceder um empréstimo. Tal conhecimento
extraído da massa de dados de uma empresa permite ao gerente, por exemplo, tomar a
decisão de fazer novos empréstimos com uma maior segurança.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
166 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Os ramos da árvore podem crescer de maneira diferente. Isto pode ocorrer porque, por
exemplo, para um determinado grau de escolaridade como o 1º grau, é possível que não
existam empréstimos realizados a clientes com tal atributo. Além disso, todas as regras
geradas a partir de uma árvore terão que conter o atributo raiz em seu antecedente. No
exemplo, como o grau de escolaridade é o atributo raiz escolhido, não há como se ter
uma regra do tipo: Se Ra > 50 então confiável.
Concluindo, uma regra de classificação terá sempre no seu conseqüente uma resposta ao
fato de as condições satisfazerem ou não a uma determinada classe previamente definida.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 167
Regras de Associação
Entre os diversos modelos de conhecimento, aqueles que geram regras de associação são
bastante poderosos e flexíveis, além de provavelmente serem os mais usados em problemas
práticos. A técnica tem sido intensamente pesquisada e seu principal objetivo é realizar
associações entre os itens, com o intuito de estabelecer correlações entre eles.
Diz-se que X é o antecedente da regra, enquanto Y é o seu conseqüente. Uma regra pode
ter vários itens tanto no antecedente quanto no conseqüente. Um algoritmo baseado em
regras de associação consiste em descobrir regras desse tipo entre os dados preparados
para a mineração. A seguir, um exemplo prático de regra de associação:
{Pão} ➨ {Leite, Manteiga}
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
168 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
A regra pode ser lida da seguinte forma: “Se Pão, então Leite e Manteiga”. Isto indica
que clientes compraram os itens Pão, Leite e Manteiga juntos. Além disso, em muitas
compras onde aparecia o produto Pão, os itens Leite e Manteiga também foram vendidos.
Podemos perceber que uma regra de associação é então uma regra de classificação
generalizada. A generalização consiste no fato de que Y, o conseqüente na regra de
associação, é uma conjunção de termos com quaisquer atributos, enquanto que, nas regras
de classificação, este é só um termo envolvendo unicamente o atributo de classificação.
É importante salientar que um algoritmo de regras de associação pode gerar uma explosão
de regras, uma vez que muitas combinações de itens são possíveis. Para evitá-la, dois
parâmetros são passados para o algoritmo: suporte mínimo e confiança mínima. O suporte
visa calcular com que freqüência os itens que compõem a regra apareceram juntos na
base de transações. Já a confiança tem o objetivo de descobrir a correlação entre o
antecedente e o conseqüente: quanto mais forte a correlação, mais expressiva ou mais
confiável é a regra. As definições de suporte e confiança são mostradas formalmente nas
Figuras 9.3 e 9.4, respectivamente. Em seguida, estes parâmetros são mais bem detalhados.
Para entender como estas medidas funcionam, veja a Tabela 9.1, que representa dados de
uma mercearia para mineração. A primeira coluna indica o código da transação e as demais,
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 169
os itens ou produtos de venda. Cada linha representa uma transação feita para um cliente e
é identificada a partir do identificador de transação. Se um cliente comprou um item, o
valor da coluna correspondendo ao item é 1, e caso contrário, 0. Por exemplo, a primeira
transação indica que um cliente comprou leite e manteiga, mas não comprou pão.
1 1 1 0
2 1 0 1
3 1 1 1
4 1 1 1
5 0 1 1
6 1 1 1
7 1 1 1
8 1 0 1
9 1 1 1
10 1 1 1
Considere a regra:
{pão, leite} ➨ {manteiga} /* Se pão e leite então manteiga */
Pode-se constatar que os itens Pão, Leite e Manteiga foram comprados juntos em 6 das
10 transações da Tabela 9.1. Podemos dizer então que a regra tem suporte (“coverage”)
de 0,60 (6/10) ou 60%. Por outro lado, o antecedente aparece em 8 transações; destas 8,
6 contêm o conseqüente. Desta forma a confiança da regra é de 0,75 (6/8) ou 75%.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
170 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Que é lida assim: 60% dos clientes compraram pão, leite e manteiga; 75% dos clientes
que compraram pão e leite também compraram manteiga.
Para se ter uma idéia, técnicas de mineração de dados, ainda no contexto da mercearia,
podem levar a conclusões como qual a melhor organização das prateleiras, de maneira
que produtos que geralmente são comprados juntos sejam disponibilizados também jun-
tos para os clientes, estimulando um possível aumento nas vendas.
Voltamos a frisar que, diferentemente das tradicionais consultas a bancos de dados nas quais
o usuário expressa exatamente tudo o que quer consultar e como os resultados devem ser
apresentados (o que aqui chamamos de consulta fechada), um algoritmo de mineração de
dados é capaz de descobrir informações escondidas na massa de dados (consulta aberta).
Exemplificando, para descobrir quantas transações tiveram dois produtos quaisquer associados,
a consulta precisaria ser escrita explicitamente. Com a utilização de um algoritmo de mineração,
o máximo que precisa ser feito é especificar o tipo de técnica que deverá ser utilizada; neste
caso, regras de associação. O algoritmo seria então executado recebendo os valores de suporte
e confiança mínimos e todas as possíveis associações de itens (regras) são geradas
automaticamente, sem necessidade de especificação de nenhuma consulta prévia.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 171
iria prever que a venda de fraldas pudesse ter alguma relação com a de cervejas. Assim,
é praticamente impossível descobrir associações realmente relevantes e previamente
desconhecidas entre os itens sem a utilização de um algoritmo de regras de associação.
Geração de Regras de
Associação: O Algoritmo Apriori
O algoritmo Apriori foi introduzido por Agrawal e Srikant. O problema de descobrir
regras de associação pode ser decomposto em dois subproblemas:
■ Encontrar todos os conjuntos ou combinações de itens (itemsets) que têm suporte acima
do suporte mínimo, os quais são chamados de Grandes Conjuntos (Large Itemsets).
■ Usar os grandes conjuntos para gerar as regras com confiança acima do valor mínimo
estabelecido.
A Tabela 9.2 contém algumas notações importantes utilizadas pelos diversos algoritmos
de regras de associação.
Notação Descrição
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
172 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
O algoritmo aparece na Figura 9.5. Nas próximas três subseções, explicamos em detalhes
seu funcionamento.
O algoritmo para descobrir os grandes conjuntos faz muitas passagens pelos dados. Na
primeira, o suporte para cada item individual existente é contado e, a partir deste valor,
verifica-se quais conjuntos de tamanho 1 são grandes.
A partir da segunda passagem pelos dados, cada passo se inicia com um conjunto semente
de itens, o qual irá gerar novos conjuntos potenciais, ou seja, novos candidatos.
Exemplificando, se os itens {Leite} e {Pão} inidvidualmente são grandes conjuntos,
então a combinação dos dois forma um conjunto candidato de tamanho 2. Da mesma
forma, os candidatos de tamanho 3 são gerados a partir das combinações de grandes
conjuntos de tamanho 2. Assim, sendo {Leite, Pão} e {Leite, Manteiga} grandes conjuntos,
então {Leite, Manteiga, Pão} formam um conjunto candidato.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 173
Essa estratégia de fazer várias passagens pelos dados está representada no algoritmo a
partir do laço na linha 2, Figura 9.5. Nela está sendo mostrado que o processo continua
até que nenhum grande conjunto seja encontrado na passagem anterior. Dentro do laço é
feita a geração dos candidatos e posterior contagem do suporte de cada um deles (linhas
3 a 8). A linha 9 indica que os candidatos de tamanho k que atingirem o suporte passarão
a compor os grandes conjuntos deste mesmo tamanho denominados de Lk.
Cabe ressaltar que a ordem dos itens não faz diferença para o algoritmo. Por exemplo, o conjunto
{Leite, Pão} é idêntico ao {Pão, Leite}, visto que os dois teriam o mesmo suporte. Justamente
por isso que só um candidato de tamanho 3 foi gerado, qual seja, {Leite, Manteiga, Pão}.
Fase de Poda
Esta fase irá mostrar quando um conjunto deve ser descartado. Aqui devemos lembrar
que pode existir uma combinação muito grande de itens. Imagine em um supermercado
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
174 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
quantas combinações de 2 ou mais itens podem ser geradas. Desta forma, quanto mais
cedo um candidato que não atinge o suporte mínimo for descartado, melhor para o
desempenho do algoritmo. Assim, grande parte do esforço de otimização dos algoritmos
para geração de regras de associação está concentrado nesta etapa. De uma maneira
geral, a otimização consiste em descartar o quanto antes todos os conjuntos candidatos
que não obedecem ao suporte mínimo. Após esta etapa, a geração das regras torna-se
uma tarefa extremamente simples.
Alguns candidatos poderão ser podados antes mesmo de terem seu suporte contado,
constituindo a segunda forma de descarte de conjuntos. Isso acontece porque qualquer
subconjunto de um grande conjunto terá que ser necessariamente grande. Ora, para que
{Leite, Manteiga} obedeça ao suporte mínimo, os itens {Leite} e {Manteiga}
individualmente também devem satisfazê-lo. Assim, se um candidato tem algum subconjunto
que não é grande terá sua poda antecipada. O passo de poda então remove todos os itemsets
c ∈ Ck que contém algum (k-1)-subconjunto de c que não está em Lk-1. Desta forma, a
segunda parte da poda é executada sempre imediatamente após a geração dos candidatos e
antes da contagem do suporte. Esta poda é executada a partir da geração dos candidatos de
tamanho 3, visto que, para os de tamanho 2, eles necessariamente foram gerados a partir de
dois grandes conjuntos de tamanho 1.
Contagem de Suporte
Esta fase resume-se a passar por todas as transações, verificando a existência ou
não do candidato. Caso exista, seu suporte é incrementado (linhas 4 a 7 do algoritmo
na Figura 9.5).
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 175
Geração de Regras
A última parte do algoritmo Apriori é a geração das regras (linha 11, Figura 9.5), partindo
dos grandes conjuntos com seus respectivos suportes já encontrados, não exigindo,
portanto, passagem pelos dados. Aqui, a confiança mínima aceitável passa a ser
considerada. O processo de geração é visto como:
Para todo Large Itemset l, encontre todos os subconjuntos não vazios de l. Para cada
subconjunto a, gerar a regra no formato a ➨ (l - a), se a divisão do suporte(l) pelo
suporte(a) for pelo menos igual à confiança mínima estabelecida (MinConf).
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
176 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Entretanto, o número de conjuntos candidatos pode ser enorme, podendo até impedir
a execução do algoritmo e a explosão de regras. Na prática, o custo do algoritmo
depende criticamente da base de dados utilizada e do suporte mínimo especificado.
A confiança tem menos influência, pois, para calculá-la, não é mais necessária a
varredura das transações.
Considerando o estudo de caso da mercearia, uma regra quantitativa é: 70% das pessoas
que compram entre 1 e 3 litros de leite também compram de 5 a 10 pães.
Como se pode perceber, os passos básicos são semelhantes aos do Apriori tradicional,
mas a informação extra das quantidades adiciona uma nova dimensão nas regras geradas.
O algoritmo é mudado basicamente no passo de poda, onde as informações quantitativas
são levadas em conta, para que o corte seja mais eficiente.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 177
Integração de Mineração
de Dados e SGBDs
As pesquisas iniciais em Data Mining concentraram-se em definir novas operações de
mineração e desenvolver algoritmos para as mesmas, os quais lêem dados a partir de
arquivos isolados não normalizados (“Flat Files”), especialmente preparados com esta
finalidade. A maioria das aplicações foi desenvolvida em sistemas de arquivos com
estruturas de dados e estratégias de gerenciamento de memória especializadas.
Por outro lado, muito investimento em pesquisa e desenvolvimento tem sido feito para o
contínuo aprimoramento dos SGBDs. Entre suas numerosas características importantes,
destacamos: robustez, escalabilidade, controle de acessos concorrentes e otimização de
consultas. Além disso, cada vez mais as empresas armazenam seus dados sob a gerência
de robustos SGBDs. A tecnologia de SGDB então oferece várias funcionalidades que a
tornam valiosa ao implementar aplicações de mineração de dados. Por exemplo, é possível
trabalhar com conjuntos de dados consideravelmente maiores que a memória principal,
uma vez que o SGBD por si só é o responsável por grande parte do manuseio das
informações. Com a maturidade alcançada pelos SGBDs para armazenar, manter e
recuperar informações de grandes bancos de dados de forma eficiente, essas técnicas de
“otimização” poderiam ser incorporadas aos algoritmos de mineração de dados.
Apesar disto, grande parte das aplicações atuais de mineração ainda tem uma fraca conexão
com SGBDs: em grande parte das aplicações, eles são utilizados apenas como repositórios, a
partir dos quais os dados são extraídos e preparados para mineração. Fica claro que SGBDs e
algoritmos de mineração de dados deveriam se complementar, os primeiros tratando da gerência
dos dados a minerar, enquanto os últimos cuidariam da mineração propriamente dita.
Atualmente, esforços estão também se concentrando em integrar mineração de dados e
SGBDs, visando somar as vantagens desses dois mundos, aliando o potencial das técnicas
de mineração às conhecidas vantagens dos SGBDs. O algoritmo de regras de associação
utilizado tem sido o clássico Apriori, já apresentado e discutido.
Muitos fabricantes de SGBD já trazem soluções para utilização de técnicas de mineração
de dados completamente integradas a seus produtos. Outros fornecedores propõem
ferramentas que possam ser integradas a bancos existentes no mercado. Além disso,
aplicações para mineração podem ser implementadas e integradas a SGBDs de várias
maneiras, como mostram as próximas seções deste livro.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
178 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Abordagens de Integração
Várias propostas para integração de mineração de dados e SGBDs têm sido estudadas.
Na grande maioria dos trabalhos, a classificação das abordagens divide-se basicamente
em: convencional, fortemente acoplada e caixa preta.
Na primeira, os dados sob um SGBD são lidos tupla a tupla, através de um cursor SQL20 .
Esta alternativa caracteriza-se pelo desenvolvimento de aplicações que usam a linguagem
SQL e uma linguagem de programação de propósito geral – linguagem hospedeira. A
base de dados nunca é copiada para um sistema de arquivo no disco local. Todo o acesso
é feito através de uma rede, resultando em alguns casos em problemas de desempenho.
20
Um cursor recebe o resultado da consulta permitindo que o mesmo seja tratado linha a linha.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 179
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
180 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uma aplicação fortemente acoplada, o objetivo não é retornar do servidor banco de
dados cada vez que um registro é buscado. Deseja-se retornar apenas depois que todos
os registros tenham sido processados. Ao invés de trazer os registros do banco de dados
para o programa de aplicação, insere-se, seletivamente, partes do programa aplicação
que realizam a computação sobre registros recuperados no SGBD, evitando assim a
degradação de performance ocorrida na categoria fracamente acoplada.
Categoria Caixa-Preta
Finalmente, na categoria caixa-preta, aos olhos do usuário o algoritmo de mineração é
completamente encapsulado dentro do SGBD. A aplicação envia uma simples requisição
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Capítulo 9: Data Mining e a Descoberta de Informações Para Alavancagem do Negócio 181
Pode-se até dizer que, do ponto de vista do desempenho, esta é a melhor alternativa,
visto que todos os recursos do SGBD são explorados.
Resumo
O crescimento da concorrência e a conseqüente mudança do perfil do cliente, que
passa a ser mais exigente, faz surgir a necessidade de novas estratégias de negócio e os
tomadores de decisão modernos precisam de subsídios para encarar as mudanças. Ao
mesmo tempo, existe uma enorme quantidade de informação potencialmente importante
guardada nos bancos de dados, mas que ainda não foi descoberta, ou seja, está escondida
e é raramente tornada explícita.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
182 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Mineração de dados pode ser utilizada nos mais variados segmentos do mercado e auxilia
em processos para analisar e determinar o perfil dos clientes, analisar vendas, traçar
estratégias de marketing, entre outros aspectos.
Várias técnicas de mineração de dados podem ser encontradas, dentre as quais se destacam:
Regras de Associação e Classificação. Especificamente falando da geração de regras de
associação, a capacidade de descobrir correlação entre produtos vendidos é
extraordinariamente importante ao processo de tomada de decisão nas empresas de
comércio varejista. Esta técnica é geralmente utilizada para descobrir vendas associadas
de produtos nos mais diversos ramos. Já a classificação procura formar classes a partir
dos dados minerados. Por exemplo, a partir desta técnica é possível saber que clientes
terão mais chances de não pagar um determinado empréstimo no banco.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Bibliografia 183
B I B L I O G R A F I A
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
184 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
BARQUIN, R. C. et al. Planning and Designing The Data Warehouse. New Jersey:
Prentice Hall, 1997.
BERSON A.; SMITH S.; THEARLING K. Building Data Mining Applications for
CRM. McGraw Hill, 2000.
BHARGAVA, H., POWER, D. J. Power. Decision Support Systems and Web Technologies:
A Status Report. Prepared for AMCIS 2001, Americas Conference on Information Systems,
Boston, Massachusetts, August 3th – 5th, 2001, Decision Support Systems Mini Track.
(URL http://dssresources.com/papers/dsstrackoverview.pdf).
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Bibliografia 185
BOOCH, G. et al. The Unified Modeling Language User Guide. Addison-Wesley, 1999.
BRAY, T., PAOLI, J., McQUEEN C. M. S., MALER, E. Extensible Markup Lan-
guage. Word Wide Web, , Novembro 2001
CANTOR, M. R. Object Oriented Project Management with UML. John Wiley &
Sons, 1998.
DINTER, B. et al. The OLAP Market: State of the Art and Research
Issues. Proceedings of the ACM 1st International Workshop on Data Warehousing
and OLAP, pp. 22-27, Washington, United States, 1998.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
186 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
INMON, W. H., ZACHMAN, John A. Data Stores Data Warehousing and the
Zachman Framework – Managing Enterprise Knowledge. Editora Campus, 1996.
IYENGAR, Sridhar. CWM Audio Briefing: The Key to Integrating Business Intel-
ligence – OMG Site (http://www.omg.org/technology/cwm/index.htm), 2000.
KIMBALL, R. The Data Warehouse Toolkit. New York: John Wiley & Sons, 1996.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Bibliografia 187
KIMBALL, R. et al. The Data Warehouse Lifecycle Toolkit. New York: John Wiley
& Sons, 1998.
KITCHEN, Philip J., SCHULTZ, Don E. Raising the Corporate Umbrella. Corpo-
rate communications in the 21st century. Great Britain, Palgrave, 2001.
MARCO, David. Building and Managing the Meta Data Repository: A Full Lifecycle
Guide. Wiley Computer Publishing, 2000.
POE, V. et al. Building a Data Warehouse for Decision Support. Prentice Hall PTR, 1998.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
188 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
RAJAMANI, K., IYER, B., COX A., CHADHA A. Efficient Mining for Associa-
tion Rules with Relational database Systems. Proceedings of the International Database
Engineering and Applications Symposium (IDEAS’99), August 1999.
RUMBAUGH, J. et al. Object Oriented Modeling and Design. Prentice Hall, 1991.
SACHDEVA, S. Metadata for Data Warehouse. Sybase, Inc. World Wide Web,
http://www.sybase.com/services/dwpractice/meta.html, 1999.
SARAWAGI S., THOMAS S., AGRAWAL R. Integrating association rule mining with
relational database systems: Alternatives and implications. Proc. ACM-SIGMOD, 1998.
STÖHR, T., MÜLLER, R., RAHM, E. An Integrative and Uniform Model for Metadata
Management in Data Warehousing Environments. Proceedings of the International
Workshop on Design and Management of Data Warehouses, Heidelberg, Germany, 1999.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Bibliografia 189
VETTERLI T. & VADUVA, A. & STAUDT M. Metadata Standards for Data Ware-
housing: Open Information Model vs. Common Warehouse Metadata, SIGMOD Record,
Vol 29, no 3, 2000.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Bibliografia 191
G L O S S Á R I O
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
192 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Índice Remissivo 193
Í N D I C E R E M I S S I V O
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
194 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Banco de Dados, 3, 8, 14, 16, 21, 26, 36, 42, Bloco de, 143, 154
46, 48, 52, 57, 68, 72, 78, 81, 85, 92, 112, 116, Dicionário de, 75, 115, 146, 147, 155
132, 142, 159, 179
Mineração de, 8, 10, 42, 93, 158, 164, 166-
Administrador de, 142, 147 170, 177-182
Volume de, 72, 100, 101, 113, 126, 142, 146,
BD, 8 147, 148, 153, 154
BI, 9, 26, 42 Data Mart, 18, 21, 22, 73, 76, 89, 90, 91, 96, 97,
100, 101,102, 112, 123, 126, 127, 132,139, 147
Bloco de Dados, 143, 154
Data Mining, 8, 10, 26, 42, 113, 125, 157, 158,
Business Intelligence (BI), 9, 26
159, 160,161, 163, 164, 165, 167, 169, 171, 173,
175, 177, 179
C Data Warehouse, 9, 15, 16, 17, 18, 19, 21, 22,
Carga, 17, 19, 23, 68, 72, 86, 89, 100, 103, 108, 23, 26, 27, 28, 38, 40, 42, 46, 49, 56, 60, 68, 71,
116, 125, 127, 133, 138, 153 72, 73, 74, 89
Carga de Dados, 103, 125, 153, 155 Data Warehousing, 68, 71, 93, 127
Chave, Database Marketing, 9, 42, 46, 113, 161, 163
Estrangeira, 118 DBA, 142, 145
Primária, 51, 56, 118 Decisão,
Chaves Artificiais, 52, 53, 56, 57, 135, 136 Árvore de, 165, 166
Classes, 71, 73, 80, 86, 131, 165, 166 Ferramentas de apoio à, 7, 9, 25
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Índice Remissivo 195
Suporte à, 5, 6-9, 10, 15, 16, 27, 38, 45, 77, Fato, 28, 50, 118, 136, 137, 147, 150
80, 84-86, 95, 104, 108, 113, 121-126, 138, Fatos,
142, 145, 150
Tabela de, 50-65, 136, 138, 147, 148, 150
DER, 48, 49
Federated Data Warehouse (FDW), 89, 90, 96
Descoberta de Conhecimento, 160, 161, 162
Ferramentas de apoio à decisão, 7, 9, 25
Desempenho, 14, 15, 18, 22, 37, 38, 49, 50, 52,
54, 56, 57, 59, 64, 103, 113, 138, 142, 145 - Fidelização, 40
155, 174, 178-181 Flat Files, 116, 120, 132, 153, 177
Indicadores de, 26, 51, 101, 122 FTP, 118
Dimensão, 29, 30, 31-36, 42, 45, 50-64, 86, 115,
118, 134-138, 145, 150, 176 G–H
Descaracterizada, 55, 56, 59, 64 Gerência de metadados, 67
Tempo, 29, 42, 51, 52, 57, 58, 63, 86 Hierarquia, 32, 58, 137
Documentação, 19, 68, 69, 94, 107, 130, 132,
133, 138, 139 I
Incremental, 123, 127
E Indicadores de Desempenho, 26, 51, 101, 122
EDW, 89, 90, 96 Índices, 81, 122, 138, 144, 147, 150
EIS, 6, 7, 8, 10, 111 Índices de Árvore B, 150
Enterprise Data Warehouse (EDW), 89, 96 Índices de Bitmap, 151
Enterprise Resource Planning (ERP), 21 Índices Particionados, 149
Entrevista, 68, 104 - 110, 126 Informação,
Equipe, 78, 81, 86, 100, 101, 104, 110-112, 125,
Tecnologia da, 10, 26, 40, 96, 104
126, 163
Integração, 3, 15, 19, 21, 42, 46, 68, 74, 77, 84,
ERP, 21, 22, 23
89, 91, 94, 101, 115, 122, 126, 162, 177
Espaço de Tabela, 146, 147
Integraçao Data Mining e SGBD, 177
Esquema de dados, 37, 62-64, 83-88, 92, 116
Interativo, 6, 122, 162
Esquemas-estrela, 37, 49-65, 88
Internet, 41, 81
Estimativa de espaço, 20, 107, 108, 109, 113,
146, 152, 153, 179
K–M
Executivos, 2, 4, 6, 7, 10, 14, 70 KDD, 160
Marketing, 8, 9, 38, 42, 45, 46, 100, 112, 113,
F 158-161, 163
FAD, 9, 14
MDIS, 91
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
196 Projetando Sistemas de Apoio à Decisão Baseados em Data Warehouse
Metamodelo, 82, 92-96 Otimização, 17, 85, 95, 139,141-143, 145, 174,
Metodologia de Desenvolvimento, 4, 7, 86, 96, 176-180
102, 130, 139 Otimizador de Consulta, 149,180
Mineração de Dados, 8, 10, 42, 93, 158, 164,
166-170, 177-182 P
MIS, 5 Particionamento, 117, 131, 138, 142, 148, 149,
154, 155
Modelagem Dimensional, 60
Processo de Descoberta de Conhecimento, 160, 161
Modelo,
Projeto,
Conceitual, 48, 92, 132
Arquitetural, 130-132
Entidade e Relacionamento, 48, 51
conceitual, 48, 80, 82, 83, 92, 96, 132
Físico, 76, 87, 125
físico, 142, 145, 154,
Lógico, 125
físico de dados, 142
Relacional, 49, 92
MOF, 93
Q
MOLAP, 35-38 Qualidade, 2, 6, 15, 40, 41, 84, 85-90, 95, 96,
Multidimensional, 29, 35-38, 49, 80, 91, 93,113 121, 127
N R
Negócio, 2,7,9,16,20,26, 31, 42-44, 48, 60, 68- Redundância, 3, 9, 18, 21, 23, 48, 49, 58, 59,
75,80-82,84-91, 104, 110, 119, 122, 158 64, 70, 90
Normalização, 27, 48, 49, 50, 54, 56, 58, 62, Regra,
64, 65, 70, 118, 177
de associação, 159, 162, 165, 167-182
OLAP, 9,19, 26-32, 35-38, 48, 58, 60, 64, 68, Restauração, 15, 114, 147, 149, 155
70, 75, 86, 92, 112, 127, 138 ROLAP, 37
Multidimensional (MOLAP), 35
Relacional (ROLAP), 37 S
SAD, 7, 8, 11, 102, 103, 125, 126, 142, 143
OLTP, 2, 28, 68, 102, 142, 145-147
Segurança, 3, 28, 41, 81, 82, 94, 111, 114, 123,
Orientação a Objetos, 80, 93, 130
142, 165
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Índice Remissivo 197
T
Tabela de Fatos, 50-65, 136, 138, 147, 148, 150
Tabela Particionada, 148, 149
Técnicas de Data Mining, 160, 164
Tecnologia da Informação, 10, 26, 40, 96, 104
Transação, 2, 3, 28, 169
Transacional, 3, 5, 6, 8, 14, 19, 48, 56, 105, 115,
143, 148, 154
U
UML, 93, 129, 130, 133, 136, 139
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
www.axcel.com.br
Fruto da experiência de vários profissionais especialistas nas áreas de Banco de Dados, Business
Intelligence, Marketing, Data Warehouse (DW) e Data Mining, este livro traduz as potencialidades de um DW como
a base para sistemas de suporte à decisão. Através de uma linguagem simples e com foco em aspectos essen-
ciais, o leitor adquire um conhecimento sólido sobre Sistemas de Apoio à Decisão (SADs) e passa a conhecer as
características fundamentais de todas as ferramentas envolvidas neste processo. São abordados conceitos sobre PROJETANDO SISTEMAS
ferramentas de Business Intelligence tais como as ferramentas OLAP, EIS, ERP, CRM, Database Marketing e Data
Mining.
Além de preparar conceitualmente o leitor, é apresentada uma metodologia de desenvolvimento e documentação
DE APOIO À DECISÃO
de um projeto de ambiente de suporte à decisão. Muitos dos exemplos apresentados não se prendem aos con-
ceitos básicos, mas agregam conhecimento e criatividade por parte do seu autor e colaboradores, inclusive esten- BASEADOS EM
dendo a UML para documentação de um DW. Há um cuidado especial para não apresentar um Data Warehouse
como a resolução de todos os problemas, mas sim apresentar soluções que podem ser utilizadas por gerentes
de um projeto como este. Gerência de metadados e projeto físico de banco de dados também são abordados e
DATA WAREHOUSE
todos os capítulos do livro são finalizados com um resumo, para fixação e simples revisão do que foi abordado.
O livro beneficia profissionais e estudantes de Informática em matérias como Banco de Dados e Tópicos Espe-
ciais, e é direcionado para estudantes e profissionais de Administração, Marketing, Publicidade, Contabilidade e
Economia, envolvidos profissionalmente com a área gerencial ou academicamente com disciplinas como Tecno-
logia da Informação, Sistemas de Informação, Contabilidade Gerencial, CRM, entre outras.
Os profissionais de Marketing também poderão encontrar neste livro a base para a implantação de aplicações de
Database Marketing.
Methanias Colaço Júnior é M.Sc. em Informática pela Universidade Federal de Campina Grande (UFCG) na