Tutorial DBFORUM`98 - Data Warehousing e OLAP - Produtos e Tecnologia

Autor: Ricardo Shoiti Ikematu - GPT

A tarefa de se manter atualizado na área de informática é bastante árdua, tanto pela rapidez da evolução da tecnologia quanto pelo envolvimento dos técnicos nas suas atividades diárias. Tentando facilitar esta tarefa estamos reproduzindo algumas idéias e conclusões de uma palestra do DBForum´98. O tema abordado foi a respeito do dado, informação e descoberta do conhecimento. Há algum tempo discutia-se que havia muitos dados e não se conseguia obter informações. Hoje, as organizações discutem uma forma de transformar as informações em conhecimento agregado para o seu negócio.

Passamos por relatórios batch a sistemas de informações executivas, OLAP e Data Mining. O OLAP e Data Mining devido, à tecnologia disponibilizada pelo mercado, oferecem mais liberdade de pesquisa ao usuário final. A principal diferença entre OLAP e Data Mining é como eles operam o dado. A tecnologia OLAP mostra os dados para análise em várias dimensões e níveis de agregação. Data Mining apresenta proporções e padrões de comportamento dos dados. O assunto deste artigo é basicamente sobre a tecnologia OLAP. OLAP é a habilidade de organizar logicamente os dados, de forma hierárquica através de múltiplas dimensões, para os usuários rapidamente criarem, calcularem e analisarem relacionamentos de dados complexos.

Embora pareça lógico, ao desenvolver uma aplicação, considerar prioritariamente as necessidades do usuário, na construção de muitos Data Warehouses, isto não é levado em consideração. Na construção destas arquiteturas primeiro são selecionados os produtos o que, às vezes, limita as potencialidades do Data Warehouse para o usuário.

É necessário verificar as várias fontes de informação do usuário. O Data Warehouse organiza e armazena os dados necessários para o processamento analítico sobre uma perspectiva de um tempo longo.

É possível se fazer um Data Warehouse virtual através de ferramentas OLAP acessando vários bancos de dados de produção. Neste caso, não seria necessário comprar outro banco de dados e nem ter o trabalho de carga, porém, compartilhar informações de produção com sistemas de suporte à decisão, gera vários problemas que afetam o desempenho de ambos. A grande maioria projeta esta arquitetura em um ambiente separado.

Existem vários tipos de arquitetura de dados para um Data Warehouse.

  • Um deles é um Data Warehouse centralizado, concentrando vários bancos de dados. Os vendedores gostam muito desta arquitetura pois necessita mais equipamento e, conseqüentemente, rende mais dinheiro. Ela é conceitualmente boa mas devido ao seu tamanho temos problemas de administração do ambiente e de performance.
  • Outra arquitetura é um Data Warehouse centralizado com cópias, para o que o palestrante chama de Workgroup Data Warehouse. O equipamento do Data Warehouse central pode ser menor pois o processamento não é feito nesta máquina. As cópias para grupos de usuários específicos geram banco de dados menores e mais ágeis. É importante lembrar que algumas ferramentas OLAP não comportam arquiteturas muito grandes.
  • Uma arquitetura alternativa seria eliminar este Data Warehouse central com uma ligação direta das bases de produção para os Workgroup Data Warehouse.

Ainda a partir dos workgroup´s poderiam ser geradas bases ainda mais específicas, chamadas de Private Data Warehouse.

Os bancos de dados multidimensionais oferecem mais facilidades que um relacional, dando mais liberdade de pesquisa ao usuário final. Como as pesquisas variam muito, os bancos relacionais teriam de ter índices específicos para cada pesquisa. Para a criação destes índices seria necessário ter um DBA ao lado do usuário e, mesmo que isto fosse possível, o custo de criação do índice em grandes volumes não justificaria o seu retorno.

Em um banco de dados multidimensional os dados são logicamente organizados como arrays multidimensionais (or hyper-cubos, cubos, variáveis, estruturas, ou tabelas MD). Um array multidimensional tem um número fixo de dimensões e os valores são armazenados nas células. Uma célula pode conter mais de um valor. Cada dimensão consiste de um conjunto de elementos. Eles precisam ter uma ordem e podem ser elementos derivados. As instâncias de uma coluna viram uma dimensão. Podem existir dimensões com múltiplos níveis para agrupar dados hierarquicamente. Os níveis não necessitam estar balanceados. Alguns produtos podem ter hierarquias múltiplas para as mesmas dimensões.

O palestrante disponibilizou uma classificação das ferramentas OLAP dividida em ferramentas que utilizam um banco de dados multidimensional (MD-DBMS) ou um banco de dados multidimensional virtual, isto é, armazenamento em bancos de dados relacionais. Outra divisão desta classificação seria o processamento realizado no cliente ou no servidor.

MD-DBMS Real baseado em Servidor

Armazena todos os dados em um formato multidimensional e não usa SQL, constituindo um ambiente muito fechado. Todo o processamento é realizado no servidor. Algumas vezes é referenciado como MOLAP. Projetado para queries complexas, traz mais performance mas tem limitação de espaço de armazenamento de dados.

MD-DBMS Virtual baseado em Servidor

Armazena todos os dados em outros bancos de dados, geralmente relacionais. Os dados são recuperados do banco de dados quando solicitado pelo usuário e são gerados comandos SQL. Todo o processamento é realizado no servidor. Algumas vezes é referenciado de ROLAP. É lento para queries complexas mas é um ambiente mais aberto.

Há muita discussão para se saber qual o melhor ambiente. O ambiente multidimensional real normalmente tem uma performance excelente e necessita um servidor menor. O ambiente virtual tem menos duplicação de dados, é possível realizar o Data Mining no mesmo banco de dados, os dados são mais atualizados e um banco de dados relacional pode armazenar mais do que um banco de dados multidimensional. Uma forte tendência que está surgindo no mercado é o banco de dados multidimensional híbrido.

 

 

MD-DBMS Real

MD-DBMS Virtual

Cliente

Cross Target, Cube-It, PowerPlay

BusinessObjects, DSS Agent, InfoDjini

Servidor

Acumen, Essbase, Express, Gentia, Holos, Media, MS OLAP Server, Pilot, SAS/mdbms, TM1

Corvu, DecisionSuite, DSS Server, FocusFusion, MetaCube, InfoBeacon, SAS/EIS Motore

 

MD-DBMS Híbrido baseado no Servidor

O armazenamento pode ser feito tanto em um banco de dados normal ou no formato multidimensional. Todos os dados são apresentados como dados multidimensionais. Algumas vezes são gerados comandos SQL e todo o processamento é feito no servidor. Às vezes é referenciado como HOLAP.

MD-DBMS Real baseado no Cliente

Armazena todos os dados localmente no formato multidimensional. Todo o processamento é feito no cliente. O dado é periodicamente copiado para o banco de dados local.

MD-DBMS Virtual baseado no Cliente

Todos os dados são armazenados local ou remotamente em banco de dados externos à ferramenta. Todo o processamento é feito no cliente e são gerados comandos SQL.

 

  MOLAP

Hybrid-OLAP

ROLAP

Cliente

CrossTarget, Cube-It, PowerPlay

SAS/EIS Motore

Business

Objects, DSS Agent, InfoDjini

Cliente & Servidor

Gentia, Pilot

Corvu, Media, MS OLAP Server DSS Agent & DSS Server

Quanto ao mercado de ferramentas OLAP deu-se destaque na parte cliente ao BrioQuery e BusinessObjects. Na parte servidora os destaques foram o Express da Oracle, Holos e o Gentia como um dos produtos mais modernos. Mas a grande vedete deste mercado deve ser o OLAP Server da Microsoft que tem uma API que conversa com os outros bancos de dados. O mercado deve mudar muito com o lançamento do produto da Microsoft pois deve ser distribuído gratuitamente com o SQL Server. O ponto fraco do produto é o desenvolvimento do OLE DB que deve ser semelhante ao ODBC. A Microsoft tem que dar uma resposta rápida do seu desenvolvimento em termos de performance.

Ainda persistem algumas dúvidas em relação ao Data Warehouse. Vejamos algumas delas. Alguns pensam que a estrutura do Data Warehouse é estática. A realidade é que a estrutura do Data Warehouse é dinâmica, o dado é que é muito estático. Devemos projetar para que o Data Warehouse seja adaptável. Um Data Warehouse não é um banco de dados, é uma arquitetura. Para os usuários finais, a ferramenta de pesquisa é que é o Data Warehouse. Devemos projetar uma arquitetura de Data Warehouse que leve em consideração as necessidades do usuário: volume de dados, localizações do usuário, necessidade da informação atualizada, mobilidade e disponibilidade dos usuários. Há a idéia que basta uma ferramenta de pesquisa para todos usuários, porém, diferentes ferramentas requerem diferentes estruturas de Data Warehouse e diferentes grupos de usuários podem ter diferentes definições e diferentes modos de calcular certos valores.

Devemos ter em mente que o Data Warehousing não é a meta e sim o meio. A meta é fornecer aos usuários dados corretos e no tempo certo.