Principal     Home     DataMart     Ferramentas Utilizadas     Andamento     Desenvolvedores     Objetivo     Bibliografia     Arquitetura     Cases     Coordenador    Links
     

Arquitetura  

Podemos definir duas formas de apresentação da arquitetura de DWs, uma conceitual e outra física do modelo relacional que representa o sistema.

 Visão Conceitual
(Visão em Camadas, Estrutura Física, Arq.de Duas Camadas, Três Camadas, Modelo Alternativo)

 A arquitetura conceitual do DW é baseadas nos seguintes componentes [CHA97]:

 Existem ferramentas para extração de dados de diversas bases de dados operacionais e de fontes externas, ferramentas para limpeza, transformação e integração destes dados, para carga de dados no DW e ainda outras para atualização periódica do warehouse a fim de refletir as atualizações ocorridas nas fontes.

 Além do DW podem existir vários Data Marts (DMs), que departamentalizam os dados separando-os por setor dentro da organização.

 Os dados contidos no DW e nos DMs são gerenciados por um ou mais servidores de warehouse, os quais apresentam visões multidimensionais dos dados para uma variedade de ferramentas front end.

 A visão multidimensional em forma de cubo de dados indica que as informações são visualizadas em linhas e colunas como o formato tradicional das planilhas, porém existem mais dimensões, sendo que o cubo teria apenas mais uma dimensão. Esta característica organiza e facilita a consulta aos dados de maneira que se pode ter, por exemplo, numa dimensão do cubo os meses do ano, na segunda dimensão estariam as cidades de origem dos clientes e na terceira dimensão o médico que encaminhou o cliente para o hospital.

 Finalmente, existe um repositório para armazenagem e gerenciamento dos metadados acompanhados de ferramentas para monitorização e administração do sistema.

 Visão em Camadas
(Visão Conceitual, Estrutura Física, Arq.de Duas Camadas, Três Camadas, Modelo Alternativo)

 As diversas aplicações existentes podem enquadrar-se na visão em camadas demonstrada a seguir [CAM97]:

 Camada de Bancos de Dados Operacionais e Fontes Externas: contém as bases de dados operacionais e pode ser composta também de informações de fontes externas, estes dados recebem um tratamento especial para poderem ser incorporados ao DW; Camada de Acesso aos Dados: compõe o elo de ligação entre as ferramentas de acesso à informação e os bancos de dados operacionais, comunicando-se com diversos Sistemas de Gerenciamento de Banco de Dados (SGBDs) e sistemas de arquivos, sendo que a este conjunto de características dá-se o nome de acesso universal de dados;
 Camada de Transporte ou Middleware: tem a função de gerenciar a transmissão das informações pelo ambiente de rede que serve de suporte para o sistema como um todo, separando as aplicações operacionais do formato real dos dados, realiza ainda a coleta de mensagens e transações e se encarrega de entregá-las nos locais e nos tempos determinados;
 Camada do Data Warehouse: constitui-se do armazenamento físico dos dados oriundos dos sistemas operacionais da empresa e externos, permitindo um acesso mais rápido e seguro aos dados do DW, além de prover maior flexibilidade de tratamento e facilidade manipulação;
 Camada de Acesso à Informação: proporciona a interação com os usuários finais através de ferramentas visuais tradicionais, tais como sistemas de planilhas de cálculo, browsers, entre outras;
 Camada de Metadados (Dicionário de Dados): os metadados descrevem os dados e a organização do sistema, podem ser ainda fórmulas utilizadas para cálculo, descrições das tabelas disponíveis aos usuários, descrições dos campos das tabelas, permissões de acesso, informações sobre os administradores do sistema, entre outras;
 Camada de Gerenciamento de Processos: faz o controle destas tarefas que mantêm o sistema atualizado e consistente, gerenciando as diversas tarefas que são realizadas durante a construção e a manutenção dos componentes de um sistema de DW;
 Camada de Gerenciamento de Replicação: serve para selecionar, editar, resumir, combinar e carregar no DW as informações a partir das bases operacionais e das fontes externas, envolvendo programação bastante complexa, sendo que existem ferramentas poderosas que permitem que estes processos sejam gerenciados de forma mais amigável, além do controle da qualidade dos dados que serão carregados.

 Estrutura Física dos Dados do DW
(Visão Conceitual, Visão em Camadas, Arq.de Duas Camadas, Três Camadas, Modelo Alternativo)

 A respeito da disposição física dos dados, o DW pode ter uma estrutura centralizada em um único local ou então ser implementado de forma distribuída. Se optarmos pelo primeiro modelo, o centralizado, teremos um warehouse consolidado e o Banco de Dados (BD) formará um DW integrado. Definindo o projeto desta forma pode-se maximizar o poder de processamento e acelerar os processos de busca por informações analíticas.

 Definindo-se uma arquitetura federativa, pode-se distribuir a informação por função, separando os dados do setor financeiro em um servidor, os dados de marketing em outro local, e dados de manufatura em um terceiro lugar.

 Existe ainda uma terceira metodologia, na qual considera-se uma arquitetura de DW separada por camadas, armazenando os dados mais resumidos em um servidor, dispondo os dados um pouco mais detalhados, em nível de detalhe intermediário, em um segundo servidor, e por fim colocamos os dados mais detalhados (atômicos) em um terceiro servidor.

 O primeiro servidor geralmente atende à maior parte das consultas, sendo que teremos um menor número de pedidos de acesso solicitados para a camada 2 e camada 3.

 O dimensionamento dos servidores é o seguinte: na primeira camada podemos ter uma configuração para suportar um grande número de usuários que farão diversas consultas, as quais trabalharão com um volume relativamente pequeno de dados. Já os servidores das outras duas camadas devem ser configurados para permitir processar grandes volumes de dados, porém não é necessária uma preocupação em configurar o sistema para suportar o acesso de um número maior de usuários. Isto explica-se pelo fato de que a maioria dos usuários terá suas perguntas respondidas pelas consultas iniciais da camada 1. Se algum usuário não se satisfizer com o nível de detalhe das respostas da camada 1, pode buscar maiores informações na camada 2 e até mesmo na camada

 Concluímos então que poucos usuários farão acessos regulares à última camada, sendo que alguns nunca o farão além do nível inicial.

 Esta metodologia em camadas é bastante utilizada, sendo defendida por diversos autores. É sabido que, além das camadas do DW propriamente dito, tem-se ainda a camada dos dados transacionais de onde os dados atômicos são coletados.

 Arquitetura de Duas Camadas
(Visão Conceitual, Visão em Camadas, Estrutura Física, Arq. Três Camadas, Modelo Alternativo)

 Existe uma arquitetura de implantação de sistemas de DW que consiste em utilizar um computador de alta capacidade como servidor. Este método disponibiliza aplicações aos usuários finais na forma de ferramentas front end, que servem para realizar as consultas, em conjunto com os componentes do servidor com ferramentas back end, que servem para municiar o DW com informações.
 Organizações que podem crescer com a incorporação de outras empresas do mesmo ramo ou ainda de outro ramo de negócio, gradualmente acumulam diversos sistemas de computação legados, cada um com suas incompatibilidades de definições dos dados. Esta redundância e falta de consistência dos dados dificulta a administração das bases de dados, resultando numa dificuldade também para desenvolver-se novas aplicações front end.
 Esta arquitetura pode ser chamada de "sistema guarda-chuva", a qual possui um formato em que o cabo do guarda-chuva representa o servidor principal e as hastes representam os sistemas de consulta a este servidor.

 A arquitetura, pode ser usada para construir um sistema de DW em duas camadas, o qual possui os componentes dos clientes (front end) e os componentes do servidor (back end).
 Esta arquitetura é bastante conveniente, uma vez que utiliza os sistemas já existentes na empresa bem como os servidores de bancos de dados e requer um pequeno investimento em hardware e software.
 Um dos grandes problemas que existe neste tipo de arquitetura é o fato de não ser permitido o seu escalonamento, o que resulta, com o aumento do número de usuários, numa performance ruim pelo gargalo existente entre os clientes e o servidor.  Estas anomalias podem ocorrer pelo uso de estações clientes muito lentas e com muitos processos rodando simultaneamente.

 Arquitetura de Três Camadas
(Visão Conceitual, Visão em Camadas, Estrutura Física, Arq.de Duas Camadas, Modelo Alternativo)

 Para tentar solucionar os problemas de performance resultantes do gargalo da arquitetura de duas camadas, existe uma arquitetura de informação em múltiplas camadas. Esta arquitetura é bastante flexível e suporta um grande número de serviços integrados, onde a interface do usuário (ferramentas front end), as funções de processamento do negócio e as funções de gerenciamento do BD são separadas em processos, os quais podem ser distribuídos através da arquitetura de informação.
 Este tipo de arquitetura em três camadas é bastante utilizado. Na primeira camada ficam as aplicações de interface com os usuários, que devem ser gráficas e baseadas em rede. Dados e regras de negócio podem ser compartilhados pela organização, assim como o BD para o DW, ficam armazenados em servidores de alta velocidade na segunda camada, a camada central. Na terceira e última camada estão localizadas as fontes de dados.
 Analisando o ambiente do DW, os servidores de BD e os servidores de aplicações da camada central provêem um acesso eficiente e rápido aos dados compartilhados.
 Com a separação dos servidores em transacional e analítico pode-se obter uma boa performance nas consultas e no processamento, sendo que deve haver disponibilidade de equipamentos e recursos satisfatórios de conexão entre os diversos componentes do sistema.

 Um Modelo Alternativo de Arquitetura
(Visão Conceitual, Visão em Camadas, Estrutura Física, Arq.de Duas Camadas, Três Camadas)

 A partir do modelo de camadas descrito anteriormente, é possível definir um modelo alternativo que facilita o entendimento e reduz o número de componentes a serem considerados, simplificando a sua descrição. Há um exemplo desta arquitetura [VAL96], na qual pode-se visualizar na parte inferior as bases de dados que formam as fontes externas e internas, acima destas fontes de dados estão os módulos extratores que detectam automaticamente as alterações ocorridas nas bases de dados. Sempre que ocorrer uma mudança no conteúdo da base, a informação que foi incluída ou atualizada é propagada para o integrador, desde que reflita em modificações na base de dados do DW.
 O integrador constitui-se no módulo responsável pela consolidação do conteúdo fornecido pelos extratores e o seu posterior repasse para o DW. Para integrar os dados oriundos de diversos tipos de bases de dados é necessária a execução de alguns processos, tais como especificar as diferenças existentes entre as bases de dados, ajustar os dados ao modelo conceitual utilizado no DW, juntando-os aos dados já carregados, solucionar os problemas de duplicações e inconsistências e, ainda, definir a forma com que as informações serão integradas dentro do sistema.