You are on page 1of 12

Data Warehouses Uma Introduo

Alex dos Santos Vieira, Renaldy Pereira Sousa, Ronaldo Ribeiro Goldschmidt

1. Motivao e Conceitos Bsicos Com o advento da globalizao, a competitividade entre as empresas no mundo dos negcios vem aumentando intensamente nos ltimos anos. As empresas contemporneas, cientes da necessidade de adaptao a este cenrio, tm investido na captao, armazenamento, tratamento e aplicao da informao como diferencial estratgico e competitivo na conduo dos negcios. Recursos da rea da Tecnologia da Informao tm sido fundamentais neste processo. Em particular, muitos sistemas de informao vm sendo desenvolvidos e utilizados em diversas aplicaes. A maioria dos sistemas de informao opera sobre bancos de dados chamados transacionais. Estes bancos de dados contm informaes detalhadas que permitem s empresas acompanhar e controlar processos operacionais. Por outro lado, existe uma demanda cada vez maior por sistemas de informao que auxiliem no processo de tomada de deciso. Gerentes e executivos necessitam de recursos computacionais que forneam subsdios para apoio ao processo decisrio, sobretudo nos nveis ttico e estratgico das empresas. A tecnologia Data Warehouse surgiu em meio s dificuldades que as organizaes passaram a sentir pela quantidade de dados que suas aplicaes estavam gerando e dificuldade de reunir estes dados de forma consolidada para uma anlise mais eficiente. A idia desta tecnologia reunir em um nico local somente os dados considerados teis para as tomadas de deciso. Diante desta necessidade, empresas tm utilizado Data Warehouses para auxiliar nos processos corporativos de tomada de deciso. Conceitualmente, um Data Warehouse um conjunto de dados baseado em assuntos, integrado, no-voltil, varivel em relao ao tempo, e destinado a auxiliar em decises de

negcios. A orientao a assunto, aliada ao aspecto de integrao, permite reunir dados corporativos em um mesmo ambiente de forma a consolidar e apresentar informaes sobre um determinado tema. Os dados so no volteis, pois uma vez carregados no datawarehouse, estes no podem mais sofrer alteraes. Cada conjunto de dados, ao ser carregado em um datawarehouse fica vinculado a um rtulo temporal que o identifica dentre os demais. Cada rtulo temporal fica associado, portanto, a uma viso instantnea e sumarizada dos dados operacionais que corresponde ao momento de carga do data warehouse. Desta forma, na medida em que o data warehouse vai sendo carregado com tais vises, pode-se realizar anlises de tendncias a partir dos dados. Convm reforar as diferenas entre data warehouses e bases de dados operacionais. Uma base de dados operacional um banco de dados clssico que contm informaes detalhadas a respeito do negcio em nvel transacional. Nas bases de dados tradicionais, normalmente, os dados encontram-se voltados para a representao de detalhes operacionais corporativos. Em data warehouses, os dados encontram-se consolidados de forma a prestar informaes para os nveis gerencial e estratgico das empresas. Em geral, os data warehouses devem disponibilizar dados sobre a histria da empresa de forma a viabilizar consultas, descoberta de tendncias e anlises estratgicas a partir dos dados.

Os exemplos abaixo procuram ilustrar, de forma simples, o exposto acima. Exemplo 1: Considere uma base de dados transacional relacional contendo os detalhes de cada venda realizada por seus vendedores durante um ms. A cardinalidade desta relao representa o nmero de vendas realizadas durante o ms. Imagine, a ttulo de exemplo, que tenham ocorrido 1000 vendas durante o ms. Venda(Seqencial, Data, Hora, Vendedor, Valor)

Um data warehouse sobre Venda, gerado a partir do exemplo acima poderia conter um resumo sobre as vendas realizadas:

Venda_Mensal(Ms, Ano, Vendedor, Total) Convm perceber que nesta estrutura existiria apenas uma tupla referente a cada vendedor no ms, indicando o total vendido. O nvel de consolidao de informao varia em funo da necessidade de cada aplicao e deve ser definido durante o processo de modelagem e construo do data warehouse. A granularidade de uma informao corresponde ao grau de consolidao de informao envolvido. Por exemplo, a relao Venda acima apresenta uma maior granularidade do que a relao Venda_Mensal. O detalhamento dos dados na primeira relao maior do que na segunda. Exemplo 2: Considerando uma empresa de bebidas que utilizasse a tecnologia Data Warehouse para procurar obter a informao sobre qual trimestre do ano houve uma maior procura por determinados tipos de bebida, considerando as estaes do ano ou pocas festivas. Os exemplos acima se aplicam empresas privadas. No entanto, o data warehouse tambm pode ser utilizado em organizaes governamentais pblicas. Utilizando um Data Warehouse, o IBGE (Instituto Brasileiro de Geografia e Estatstica) pode, por exemplo, obter informaes sobre qual regio da cidade ocorreu maior crescimento da populao nos ltimos trs anos e, em quais meses, bimestres, trimestres ou semestres (de acordo com a necessidade) nas diversas regies metropolitanas houve uma maior incidncia de natalidade. Sistemas de Informao que utilizam bases de dados transacionais so muitas vezes denominados de aplicaes OLTP (On-Line Transactional Processing). Neste tipo de aplicao as informaes so armazenadas em um minucioso nvel de detalhe. Por outro

lado, Sistemas de Informao que acessam datawarehouses so usualmente chamados de aplicaes OLAP (On-Line Analytical Processing). Em geral, estes ltimos permitem visualizao e navegao pelos dados sob diversas perspectivas e nveis de consolidao. Permite ao usurio (geralmente diretores, presidentes e gerentes) um rpido acesso para visualizar e analisar os dados nos diversos nveis de detalhe disponibilizados. A seguir esto relacionados alguns exemplos de aplicaes em data warehouses: Pesquisa de fraudes; Anlise de crdito; Anlise de sazonalidade da produo; Anlise de risco; Integrao de Informaes de Clientes; Rentabilidade de Clientes e Produtos; Anlises de Resultados de Vendas; Anlises de Aes de Marketing.

Em geral, a passagem de dados de um ambiente operacional legado para um data warehouse no to simples quanto uma mera extrao e carga de dados. Muitas vezes h a necessidade de transformao e consolidao dos dados. Existem ferramentas que permitem o chamado processo de ETC (Extrao, Transformao e Carga) dos dados, muito teis para auxiliar no processo de criao de data warehouses. O processo de extrao dos dados oriundos de diversas fontes de dados operacionais, transformao e carga em datawarehouses normalmente prev um estgio intermedirio de preparao dos dados, sincronizao e integrao dos dados. Durante este estgio, os dados permanecem em uma rea de armazenamento intermediria entre as bases de dados operacionais e o datawarehouse. Aes de limpeza e integrao dos dados so realizadas neste momento, conforme ilustra a figura abaixo. Em bases de dados operacionais, em contra-partida aos datawarehouses, so permitidas atualizaes constantes sobre os dados. O contedo de um datawarehouse somente sofre

alteraes no momento de carga de novo conjunto de dados, associado a um novo rtulo temporal.

Nvel

Data Warehouse

Operacional

Data Warehouse

Carregar

Acessar

Excluir Incluir Alterar Acessar Limpar

Como a construo e a manuteno de data warehouses envolvem um contnuo prprocessamento dos dados (limpeza, transformaes, integrao, dentre outras aes), estes repositrios so fontes potenciais de informao para serem submetidas ao processo de descoberta de conhecimento em bases de dados. Um dos maiores desafios na construo e na manuteno de data warehouses reside na busca pela qualidade dos dados. Diversos so os tipos de problemas existentes nas bases de dados operacionais e que devem ser tratados no projeto de data warehouses. Alguns deles esto citados a seguir: Ausncia de informao Valores invlidos Ausncia de integridade referencial Violaes de regras de negcios Clculos invlidos Formatos no padronizados Duplicao de informao e inconsistncia Falhas na modelagem das bases de dados operacionais

Um Data Mart uma poro fsica ou lgica de um Data Warehouse para atender a uma rea especfica da empresa. Trata-se de um subconjunto do data warehouse. Muitas vezes data marts so criados de forma a oferecer simplicidade, menor custo e agilidade ao processo de construo e manuteno de data warehouses. Uma estratgia comum na construo de data warehouses envolve a construo paulatina destes por meio de data marts. O cubo de dados (ou hipercubo de dados) um recurso que permite o cruzamento e a visualizao dos dados em aplicaes OLAP. A figura abaixo contm um exemplo de cubo de dados com 3 dimenses (local, produto e perodo), onde cada clula mostra o total

vendido de um determinado produto em uma determinada semana em um determinado local.

Mercado

ASIA EUR. EUA Prod 1 $ 120 $ 60 $ 92 Sem1 $ 115 $ 75 $ 87 Sem2 $ 123 $ 73 $ 106 Sem3

Produto

Prod 2 Prod 3

Tempo
Os metadados assumem um papel de grande relevncia na manuteno e na expanso de data warehouses. Devem conter informaes sobre diversos aspectos, dentre os quais, podem ser destacados: A fonte original dos dados e como ter acesso Os responsveis pela informao original Como so criados os relatrios e para que servem As consultas disponveis para acesso a determinadas informaes Como as definies de negcio e terminologia mudaram ao longo dos anos Quais premissas de negcio foram assumidas na modelagem do data warehouse

2. Modelagem Multidimensional A modelagem multidimensional uma forma de Modelagem de Dados voltada para concepo e visualizao de conjuntos de medidas que descrevem aspectos comuns de um determinado assunto. utilizada especialmente para sumarizar e reestruturar dados, apresentando-os em vises que suportem a anlise dos valores envolvidos. Enquanto a modelagem de dados tradicional assegura o cumprimento de restries e evita redundncia de informao, a modelagem multidimensional facilita a realizao de consultas por usurios no tcnicos, acelerando o desempenho destas consultas e admitindo redundncia de informao. O exemplo abaixo ilustra uma modelagem multidimensional onde, a partir das informaes de ao, bolsa e ms, expressa-se a lucratividade da ao:

Ao Tel PN Tel PN Tel PN Tel PN Tel PN Tel PN Pet PN BB PN

Bolsa Rio de Janeiro Rio de Janeiro Rio de Janeiro So Paulo So Paulo So Paulo So Paulo Rio de Janeiro

Ms Janeiro Fevereiro Maro Janeiro Fevereiro Maro Janeiro Janeiro

Lucratividade +5% -2% +7% +4% -1% +4% +2,5% -1%

O cubo de dados possui recursos adequados para visualizao das informaes modeladas em um formato multidimensional. A figura abaixo apresenta o cubo de dados (com apenas 3 dimenses) do exemplo mencionado: Um modelo multidimensional possui trs componentes bsicos:

Fatos - Um fato uma coleo de itens de dados, composta de dados de medida e de contexto. Representa um item, ou uma transao ou um evento associado ao tema da modelagem. Exemplo: uma tupla da relao acima. Dimenses Uma dimenso um tipo de informao que participa da definio de um fato. No exemplo: ao, local, ms. As dimenses determinam o contexto do assunto. Normalmente so descritivas ou classificatrias. Em geral, as perguntas O que? Quem? Onde? Quando? ajudam a identificar as dimenses de um assunto. Medidas Uma medida um atributo ou varivel numrica que representa um fato. Exemplos: valor da ao, nmero de evases escolares, quantidade de produtos vendidos, valor total de venda, etc.

Existem diversos operadores OLAP que permitem acessar os dados em modelos multidimensionais. A seguir encontram-se indicados alguns deles: Drill up/down Utilizado para aumentar ou reduzir o nvel de detalhe da informao acessada. Exemplo: Vendas por pas Vendas por UF

Slicing Utilizado para selecionar as dimenses a serem consideradas na consulta. Exemplo: Visualizar as vendas, separadas por pas e por ms. Dicing Utilizado para limitar o conjunto de valores a ser mostrado, fixando-se algumas dimenses. Exemplo: Vendas no estado de Minas, de um determinado produto em um determinado ano. Pivoting Utilizado para inverter as dimenses entre linhas e colunas. Exemplo: Ao visualizar vendas por produto e por estado, aplicar o operador para visualizar as vendas por estado e por produto. Data Surfing Executar uma mesma anlise em outro conjunto de dados. Exemplo: Ao visualizar as vendas no Brasil, aplicar o operador para realizar a mesma consulta na Inglaterra.

Existem diversas formas de modelagem fsica de um data warehouse. Uma das mais populares a esquema estrela. Neste esquema, uma relao central de fatos cercada por relaes que correspondem s dimenses do problema. As dimenses no esquema estrela so usualmente denominadas pontos cardeais, conforme mostra a figura abaixo:

ONDE ? FATOS

QUANDO ?

QUEM ?

O QUE ?

Abaixo encontra-se um exemplo de data warehouse modelado segundo o esquema estrela:

Dimenso Cliente Cdigo Cliente Nome Cliente Atividade Cidade Estado Pas Segmento

Fato Vendas Data Cdigo Vendedor Cdigo Produto Cdigo Cliente Valor da Venda Quantidade Margem Margem %

Dimenso Vendedor

Cdigo Vendedor Nome Vendedor Cdigo Regio Nome Regio

Dimenso Produto Cdigo Produto Nome Produto Cdigo Grupo Nome Grupo

Os fatos esto na tabela Vendas. As dimenses esto representadas pelas tabelas Produto, Cliente e Vendedor. As medidas neste exemplo so: valor da venda, quantidade, margem e margem%.

O esquema estrela pode ser estendido de forma a compor o esquema Flocos de Neve (SnowFlake). Neste esquema, as dimenses podem ser associadas a novas dimenses, conforme ilustra a figura abaixo.

DIM N + 1

DIM 1 FATOS

DIM N DIM N + 2

...

DIM N + M

DIM 2

DIM 3

Para maiores detalhes sobre data warehouses, sugerimos os livros (Nri, 2004) e (Inmon, 1996).

Referncias: INMON, W. H. Building the Data Warehouse, 2a ed., Wiley, 1996. NERI, F. Tecnologia e Projeto de Data Warehouse. Editora rica, 2004.