O Que é Data Warehouse
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.
- Orientado por Assunto
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.
- Integrado
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.
- Histórico
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.
- Não Volátil
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.