Escrito
por Carlos Alberto Sowek
Buscando
dar uma melhor visão sobre uma proposta de arquitetura de um Data
Warehouse para a Celepar, bem como para os clientes da Celepar,
sentimos a necessidade de elaborar alguns documentos para estabelecer
um entendimento comum sobre alguns termos utilizados, e que as vezes
não são bem compreendidos ou são usados de forma incorreta. Neste
sentido elaboramos este documento que é uma tradução do tópico técnico
divulgado pela Prism Solutions, Inc , volume 1 n. 1 escrito por
W. H. Inmon "What is a Data Warehouse".
Data Warehouse é o centro
da arquitetura dos sistemas de informações dos anos 90. Data Warehouse
suporta processamento informatizado provendo uma plataforma sólida
e integrada, com dados históricos dos quais se faz análises. Data
Warehouse provê as facilidades para integração em um mundo de sistemas
de aplicações não integrados. Data Warehouse organiza e armazena
os dados necessários para processamento informatizado e analítico
sobre perspectivas históricas ao longo do tempo.
Então o que é um Data
Warehouse ?
Por Willian H.
Inmon
"Data
Warehouse é um banco de dados orientado por assunto, integrado,
não volátil e histórico, criado para suportar o processo de tomada
de decisão."
Fig. 1: O que é um
Data Warehouse?
O dado entra no Data
Warehouse vindo de um ambiente operacional em quase todos os casos.
O Data Warehouse é sempre um armazenamento de dados transformados,
separados fisicamente do ambiente operacional e da fonte do dado
da aplicação.
Esta definição de um
Data Warehouse (por W. H. Inmon) merece uma completa explanação,
porque existem alguns detalhes importantes e sutilezas básicas nas
características de um Warehouse.
A primeira característica
de um Data Warehouse é que ele está orientado ao redor do principal
assunto da organização. O percurso do dado, orientado ao assunto
está em contraste com a mais clássica das aplicações orientadas
por processos/funcões ao redor dos quais os sistemas operacionais
mais antigos estão organizados. Figura 2 mostra o contraste entre
os dois tipos de orientações.
Figura
2: O Data Warehouse tem uma forte orientação por assunto
O mundo operacional está
desenhado ao redor de aplicações e funções de uma instituição financeira
assim como: empréstimo, crédito, cartão bancário. O mundo do Data
Warehouse está organizado ao redor do principal assunto assim como
cliente, vendas, produtos e atividades. O alinhamento ao redor das
áreas de assunto afetam o desenho e implementação do dado criado
no Data Warehouse. A área de assunto mais influente é a parte mais
importante da estrutura chave.
O mundo das aplicações
está preocupado com o desenho de processos e de banco de dados.
O mundo do Data Warehouse está focado exclusivamente na modelagem
de dados e desenho do banco de dados. Desenho de processos (como
é na forma clássica) não é parte de um ambiente de Data Warehouse.
As diferenças entre aplicações
orientadas por processos/funções e as orientadas por assunto mostra
as diferenças no conteúdo dos dados e no nível de detalhes dos mesmos.
No Data Warehouse são excluídos os dados que não devem ser usados
no processo de DSS( Sistemas de Suporte a Decisão), enquanto no
ambiente operacional as aplicações contêm dados para satisfazer
imediatamente as requisições funcionais/processamento que podem
ou não ser usadas para análise de DSS.
Outra importante maneira
na qual os dados operacionais das aplicações diferem dos dados para
Data Warehouse está no relacionamento dos dados. Dados operacionais
mantêm relacionamentos entre duas ou mais tabelas baseadas nas regras
de negócio que estão em efeito. Dados do Data Warehouse usam um
espectro de tempo e os relacionamentos criados no Data Warehouse
são muitos. Muitas regras de negócio são representadas no Data Warehouse
entre duas ou mais tabelas.
Facilmente o mais
importante aspecto do ambiente de Data Warehouse é que dados criados
dentro de um ambiente de Data Warehouse são integrados. SEMPRE.
COM NENHUMA EXCEÇÃO. A melhor essência do ambiente de warehouse
é que dados contidos dentro dos limites do warehouse estão integrados.
A integração mostra-se em muitas diferentes maneiras: na convenção
consistente de nomes, na forma consistente das variáveis, na estrutura
consistente de códigos, nos atributos físicos consistente dos dados,
e assim por diante.
Contrastes e diferenças
ao construir integração dentro do Data Warehouse com a falta de
integração criada no ambiente das aplicações, são totais assim como
mostrado pela figura 3
Fig. 3: Como dado orientado para aplicações é movido para
Data Warehouse
A habilidade coletiva
de muitos arquitetos de aplicações em criar aplicações inconsistentes
é legendário. Figura 3 mostra algumas das muitas diferenças importantes
na maneira como as aplicações são desenhadas.
Codificação -
desenvolvedores de aplicações têm preferido codificar o campo SEXO
de diferentes maneiras. Um desenvolvedor representa SEXO com um
"M" e um "F". Outro desenvolvedor de aplicação
representa SEXO com um "1" e um "0". Outro desenvolvedor
de aplicação representa SEXO com um "x" e um "y".
E ainda outro desenvolvedor de aplicação representa SEXO com "masculino"
e "feminino". "M" e "F" são provalvelmente
bons para algumas representações. Entretanto quando SEXO é carregado
para o Data Warehouse de uma aplicação onde tem sido representado
em outro formato que não "M" e "F", o dado deve
ser convertido para o formato do Data Warehouse.
Forma dos atributos
- desenvolvedores de aplicações têm preferido ao longo dos anos
usar uma variedade de medidas. Um desenvolvedor armazena dados em
centímetros. Outro desenvolvedor armazena em polegadas. Outro desenvolvedor
de aplicação armazena dados em milhões de pés cúbicos por segundo.
E outro desenvolvedor armazena informações em termos de jardas.
Quando a informação chega no Data Warehouse é necessário ser mensurada
de algum modo.
Figura 4
Como mostra a figura
3, o uso da integração afeta sempre alguns aspectos do desenho,
as características físicas do dado, o dilema de ter mais de uma
fonte do dado, o uso de padrões de nomes inconsistentes, formatos
de dados inconsistentes, e assim por diante.
Enquanto o analista de
DSS olha o Data Warehouse, o foco do analista deve ser no uso do
dado que está no Data Warehouse, melhor que surpreender-se sobre
a credibilidade ou consistência do dado.
Todo dado no Data
Warehouse é exato em algum momento do tempo. A característica básica
do dado em warehouse é ter muitas fontes de dados diferentes no
ambiente operacional. No ambiente operacional o dado é exato no
momento do acesso. Em outras palavras, no ambiente operacional quando
você acessa uma unidade do dado, você espera que isto deva refletir
os valores corretos no momento do acesso.
Por causa do dado em
Data Warehouse ser exato em algum momento do tempo (isto é, não
"correto no momento"), dado criado no warehouse é dito
ser "histórico". Figura 4 mostra os valores históricos
do dado no warehouse.
Os valores históricos
dos dados no Data Warehouse são mostrados em várias maneiras. O
modo mais simples é que o dado no Data Warehouse representa os dados
sobre um horizonte de tempo distante - de 5 até 10 anos. O horizonte
de tempo representado pelo ambiente operacional é muito curto -
do valor corrente do dia até o sexto ou nono dia.
O segundo modo que "histórico"
é mostrado no Data Warehouse é na estrutura chave. Sempre na estrutura
chave do Data Warehouse existe - explicitamente ou implicitamente
- um elemento de tempo, assim como dia, semana, meses, etc. O elemento
de tempo está quase sempre no final da chave concatenada criada
no Data Warehouse. Em certas ocasiões, o elemento de tempo deverá
existir implicitamente, assim como no caso onde um arquivo todo
é duplicado no final do mês.
A terceira maneira que
"histórico" aparece no Data Warehouse, uma vez o registro
estando correto, não pode ser atualizado. Dado no Data Warehouse
e, para todos os propósitos práticos, é uma série longa de snapshots.
Naturalmente se os snapshots do dado têm sido feitos incorretamente,
eles não são alterados uma vez feitos. Em alguns casos isto pode
ser sempre ilegal podendo os snapshots no Data Warehouse
serem alterados. Dados operacionais, iniciam pontualmente no momento
do acesso, podendo ser atualizados quando surgir a necessidade.
A quarta característica
definida para um Data Warehouse é que ele é não volátil. Figura
5 ilustra este aspecto no Data Warehouse.
Figura
5
Na figura 5 abaixo,
mostra que atualizações - inclusão exclusão, e alteração - são feitas
regularmente no ambiente operacional de um registro básico. Mas
a manipulação de dados básicos que ocorre no Data Warehouse é mais
simples. Tem somente duas espécies de operações que ocorre no Data
Warehouse - a carga inicial do dado, e o acesso ao dado. Esta não
é uma atualização do dado (no sentido geral de atualização) no Data
Warehouse como parte normal do processamento.
Estas são mais algumas
das diferenças básicas entre processamento operacional e processamento
do Data Warehouse. Para o nível de desenho, existe a necessidade
de ter cautela nas atualizações anormais, o que não é um fato importante
no Data Warehouse, atualizações neste dado não são feitas. Existem
meios para que no nível físico do desenho, permissões possam ser
feitas para otimizar o acesso ao dado, particularmente em procedimentos
com o uso de normalização e desnormalização física. Outras conseqüências
da simplicidade das operações do Data Warehouse estão na tecnologia
básica usada para rodar no ambiente de Data Warehouse. Como suporte
para atualização de registro por registro em modo on-line requer
uma tecnologia com uma fundamentação muito complexa em baixo da
simplicidade de uso. A tecnologia que suporte backup, recovery,
transação com integridade do dado, a detecção e correção de deadlock
é muito complexa. Isto não é necessário para processamento de Data
Warehouse.
As características de
um Data Warehouse - desenho orientado ao assunto, integração dos
dados com o Data Warehouse, histórico, e simplicidade de gerenciamento
dos dados - todos conduzem para um ambiente que é MUITO, MUITO diferente
do ambiente operacional básico.
A fonte para aproximar
todos os dados do Data Warehouse é o ambiente operacional. Isto
é uma tentação para pensar que isto é mais uma redundância do dado
entre os dois ambientes. De fato, na primeira impressão muitas pessoas
acham que é uma grande redundância de dados entre o ambiente operacional
e o ambiente de Data Warehouse. Mas este entendimento superficial
é a necessidade de demonstrar o que está ocorrendo no Data Warehouse.
Em fato, este é um MÍNIMO de redundância do dado entre o ambiente
operacional e o ambiente de Data Warehouse.
Considere o seguinte:
- dado é filtrado quando
passa do ambiente operacional para o ambiente de Data Warehouse.
Muitos dados nunca saem do ambiente operacional. Somente o dado
que é necessário para o processamento do DSS é encontrado no ambiente
warehouse;
- o histórico do dado
é muito diferente de um ambiente para outro. Dado no ambiente
operacional é muito recente. Dado no warehouse é muito antigo.
Só na perspectiva de histórico recente, é muito pequeno o overlap
entre o ambiente operacional e o ambiente de Data Warehouse;
- o Data Warehouse contém
dados sumarizados que nunca são encontrado no ambiente operacional;
- dados sofrem uma fundamental
transformação ao passar para o Data Warehouse. Figura 3 mostra
que muitos dados são alterados significativamente após serem selecionados
e movidos para o Data Warehouse. Dito de outra maneira, muitos
dados são fisicamente e radicalmente alterados quando movidos
para o warehouse. Estes dados não são os mesmos que residem no
ambiente operacional do ponto de vista de integração.
Para clarear esses fatores,
redundância de dados entre os dois ambientes é uma ocorrência rara,
resultando em menos que 1% de redundância entre os dois ambientes.
sowek@celepar.gov.br

|