Data Warehouse

Um data warehouse (ou armazém de dados) é um sistema de computação utilizado para armazenar informação relativa às atividades de uma organização em banco de dados, de forma consolidada. O desenho da base de dados favorece os relatórios e análise de grandes volumes de dados e obtenção de informações estratégicas que podem facilitar a tomada de decisão.

O data warehouse possibilita a análise de grandes volumes de dados, coletados dos sistemas transacionais. Por definição, os dados em um data warehouse não são voláteis, ou seja, eles não mudam, salvo quando é necessário fazer correções de dados previamente carregados. Os dados então são somente para leitura e não podem ser alterados.

A ferramenta mais popular para exploração de um data warehouse é a Online Analytical Processing ou Processo Analítico em Tempo Real, mas muitas outras podem ser usadas.

Os data warehouse surgiram como conceito acadêmico na década de 1980. Com o amadurecimento dos sistemas de informação empresariais, as necessidades de análise dos dados cresceram paralelamente. Os sistemas transacionais não conseguiam cumprir a tarefa de análise com a simples geração de relatórios.

Nesse contexto a implementação do data warehouse passou a se tornar realidade nas grandes corporações. O mercado de ferramentas de data warehouse, que faz parte do mercado de Business Intelligence, cresceu então, e ferramentas melhores e mais sofisticadas foram desenvolvidas para apoiar a estrutura do data warehouse e sua utilização.

Pela sua capacidade de sumarizar grandes volumes de dados e de possibilitar análises os data warehouses são atualmente o núcleo dos sistemas de informações gerenciais e apoio a decisão das principais soluções de Business Intelligence do mercado.

Geralmente o data warehouse não armazena informações sobre os processos correntes de uma única atividade de negócio e sim cruzamentos e consolidações de várias unidades de negócios de uma empresa.

As ferramentas OLAP (Online Analytical Processing) têm como função a navegação nos dados de um data warehouse, possuindo uma estrutura adequada tanto para as pesquisas como para a apresentação das informações.

Nas ferramentas de navegação OLAP é possível navegar entre diferentes granularidades (detalhamento) de um cubo de dados. Através de um processo chamado Drill o usuário pode aumentar (Drill down) ou diminuir (Drill up) o nível de detalhamento dos dados. Por exemplo, um relatório pode estar consolidado por Países. Fazendo um Drill down os dados passam a ser apresentados por estados, cidades, bairros e assim sucessivamente até o menor nível possível. O processo contrário Drill up faz com que os dados sejam consolidados em níveis superiores.

Outra possibilidade apresentada pela maioria das ferramentas de navegação OLAP é a de rearranjar colunas e linhas. É possível trocar a ordem de colunas e linhas bem como suprimí-las ou exibir aquelas que estejam ocultadas na visualização dos dados.

A possibilidade de manipular dado e formas de apresentação de maneira rápida é um dos pontos fortes de um data warehouse. Essa característica faz com que os relatórios sejam mais comumente utilizados em tela e não impressos. O analista de informação ou pessoa que precisa dos dados, pode então navegar nas informações por diversas maneiras e ao final pode imprimir e até mesmo salvar aquela visão para uma futura consulta.

Arquitetura Data Warehouse

    » O Armazenamento

O armazenamento se dá num depósito único, mas que seja de rápido acesso para as análises. Tal armazenamento tem que ser histórico com todos os dados possíveis para que possa se ter uma análise mais bem apurada.

    » Modelagem Multidimensional

Os sistemas de base de dados tradicionais utilizam a normalização no formato de dados para garantir consistência dos dados e uma minimização do espaço de armazenamento necessário. Entretanto, algumas transações e consultas em bases de dados normalizadas podem se tornar lentas devido às operações de junção entre tabelas. Um Data Warehouse utiliza dados em formato de-normalizados. Isto aumenta o desempenho das consultas e, como benefício adicional, o processo torna-se mais intuitivo para os utilizadores comuns.

    » Metadado

O conceito Metadado é considerado como sendo os "dados sobre dados", isto é, os dados sobre os sistemas que operam com estes dados. Um repositório de metadados é uma ferramenta essencial para o gerenciamento de um Data Warehouse no momento de converter dados em informações para o negócio. Entre outras coisas, um repositório de metadados bem construído deve conter informações sobre a origem dos dados, regras de transformação, nomes e alias formatos de dados, etc. Ou seja, esse "dicionário" deve conter muito mais do que as descrições de colunas e tabelas: deve conter informações que adicionem valor aos dados.

Tipo de Informação considerada Metadado

Os metadados são utilizados normalmente como um dicionário de informações e, sendo assim, devem incluir:

    ORIGEM DOS DADOS - Todo elemento de dado precisa de identificação, sua origem ou o processo que o gera. Esta identificação é muito importante no caso da necessidade de saber informações sobre a fonte geradora do dado. Esta informação deve ser única, ou seja, cada dado deve ter uma e somente uma fonte de origem.

     FLUXO DE DADOS - Todo elemento de dado precisa ter identificado os fluxos nos quais sofre transformações. É importante saber que dados servem de base para que processos sejam executados.

     FORMATO DOS DADOS - Todo elemento de dados deve ter identificado seu tamanho e tipo de dado.

     NOMES E ALIAS - Todo elemento de dados deve ser identificado por um nome. Este nome pode ser da Área de Negócios ou um nome técnico. No caso de serem usados alias para os nomes, pode-se ter os dois. Devem existir padrões para criação de nomes e alias (ex.: convenções para abreviações), evitando assim ambigüidades.

     DEFINIÇÕES DE NEGÓCIO - Estas definições são as informações mais importantes contidas nos metadados. Cada elemento de dado deve ser suportado por uma definição do mesmo no contexto da Área de Negócio. O método de manutenção destas informações também deve ser muito consistente, de forma que o usuário possa obter facilmente definições para as informações desejadas. Nestas definições devem ser evitadas referências a outros metadados que necessitem de uma segunda pesquisa para melhor entendimento.

     REGRAS DE TRANSFORMAÇÃO - São consideradas como sendo as Regras de Negócio codificadas. Estas regras são geradas no momento da extração, limpeza e agrupamento dos dados dos Sistemas Operacionais. Cada regra de transformação codificada deve estar associada a um elemento de Metadado. Se mais de uma aplicação contiver a mesma regra de transformação, deverá ser garantido que estas sejam idênticas.

     ATUALIZAÇÃO DE DADOS - O histórico das atualizações normalmente é mantido pelo próprio banco de dados, mas definir um elemento de metadado, indicando as datas de atualização dos dados, pode ajudar o usuário no momento de verificar a atualidade dos dados e a consistência da dimensão tempo do Data Warehouse.

     REQUISITOS DE TESTE - Identifica os critérios de julgamento de cada elemento de dado. Valores possíveis e intervalos de atuação. Deve conter também padrões para procedimentos de teste destes dados.

     INDICADORES DE QUALIDADE DE DADOS - Podem ser criados índices de qualidade baseados na origem do dado, número de processamentos feito sobre este dado, valores atômicos X valores concisos, nível de utilização do dado, etc.

     TRIGGERS AUTOMÁTICOS - Podem existir processos automáticos associados aos metadados definidos. Estes processos ou triggers devem estar definidos de forma que possam ser consultados por usuário e desenvolvedores, para que os mesmos não venham a criar situações conflitantes entre as regras definidas nestes processos.

     RESPONSABILIDADE SOBRE INFORMAÇÕES - Deve ser identificado o responsável por cada elemento de dados do Data Warehouse e também o responsável pela entrada de metadados.

     ACESSO E SEGURANÇA - Os metadados devem conter informação suficiente para que sejam determinados os perfis de acesso aos dados. Deve-se poder identificar que usuários podem ler atualizar, excluir ou inserir dados na base. Deve haver, também, informações sobre quem gerencia estes perfis de acesso e como se fizer contato com o Administrador da Base de Dados.

Data Marts

O Data Warehouse é normalmente acedido através de Data Marts, que são pontos específicos de acesso a subconjuntos do Data Warehouse. Os Data Marts são construídos para responder prováveis perguntas de um tipo específico de usuário. Por exemplo: um Data Mart financeiro poderia armazenar informações consolidadas dia-a-dia para um usuário gerencial e em periodicidades maiores (semana, mês, ano) para um usuário no nível da diretoria. Um Data Mart pode ser composto por um ou mais cubos de dados.

Hoje em dia, os conceitos de Data warehouse e Data Mart fazem parte de um conceito muito maior chamado de Corporate Performance Management.

Extração de Dados

Os dados introduzidos num Data Warehouse geralmente passam por uma área conhecida como área de stage. O stage de dados ocorre quando existem processos periódicos de leitura de dados de fontes como sistemas OLTP. Os dados podem passar então por um processo de qualidade, de normalização e gravação dos dados no Data Warehouse. Esse processo geralmente é realizado por ferramentas ETL.

Ferramentas

    » OLAP

As ferramentas OLAP (do inglês, Online Analytical Processing) são geralmente desenvolvidas para trabalhar com banco de dados normalizados, embora existam ferramentas que trabalham com esquemas especiais de armazenamento, com dados (informações) normalizados.

Essas ferramentas são capazes de navegar pelos dados de um Data Warehouse, possuindo uma estrutura adequada tanto para a realização de pesquisas como para a apresentação de informações.

Nas ferramentas de navegação OLAP, é possível navegar entre diferentes níveis de granularidades (detalhamento) de um cubo de dados. Através de um processo chamado Drill o usuário pode aumentar (Drill down) ou diminuir (Drill up) o nível de detalhamento dos dados. Por exemplo, se um relatório estiver consolidado por países, fazendo um Drill down, os dados passarão a ser apresentados por Estados, cidades, bairros e assim sucessivamente até o menor nível de detalhamento possível. O processo contrário, o Drill up, faz com que os dados sejam consolidados em níveis superiores de informação.

Outra possibilidade apresentada pela maioria das ferramentas de navegação OLAP é o recurso chamado Slice and dice. Esse recurso é usado para criar visões dos dados por meio de sua reorganização, de forma que eles possam ser examinados sob diferentes perspectivas.

O uso de recursos para manipular, formatar e apresentar os dados de modo rápido e flexível é um dos pontos fortes de um data warehouse. Essa característica faz com que a apresentação de relatórios na tela seja mais comum do que imprimi-los. Além disso, o usuário tem liberdade para examinar as informações que quiser de diversas maneiras e, ao final, pode imprimir e até mesmo salvar as visões mais importantes para uma futura consulta.

    » Data mining

Conhecido também como mineração de dados. Sua função principal é a varredura de grande quantidade de dados a procura de padrões e detecção de relacionamentos entre informações gerando novos subgrupos de dados. Usado comumente em grandes bancos de dados. Por enquanto podemos pensar que Data Mining é como um agregador e organizador de dados.

A formação de subgrupos de dados é feito pelo Data Mining através da execução de algoritmos capazes de conhecer e aprender mediante a varredura dessas informações. Baseado em sistemas de redes neurais, esses dados são examinados e pensados, gerando uma nova informação associativa com outros dados. A formação de estatísticas também é uma de suas funções. Números estatísticos são gerados trazendo resultados comparativos e levando a uma tomada de decisão inteligente.

É gigantesco o resultado desse processamento, uma das mais fortes é a formação de hipóteses e principalmente regras de dados a serem apresentados ao usuário. Falaremos como isso é exibo um pouco mais pra frente.

Que dados o Data Mining avalia?

Grandes corporações não sobrevivem sem um perfeito sistema de gestão. Perfeito pelo motivo de que hoje em dia milhares de informações são processadas diariamente. Na rotina de pequenas e médias empresas essas informações ficam perdidas e esquecidas. Esses sistemas de gestão armazenam em seus bancos de dados os acontecimentos do dia-a-dia: estoques, pedidos, compras, orçamentos, contábil, financeiro, jurídico, pós-venda, relacionamento com cliente, vendas entre outros. Todos esses departamentos geram informações independentes. A função principal de um Business Intelligence é trabalhar todo esse histórico de acontecimentos inseridos diariamente e garantir que no final das contas todos os dados sejam visualizados como um todo, trazendo informações concretas, consistentes e decisivas, basicamente através da ação do Data Mining.

Pra onde vai?

Essa mineração de informação na base de dados do sistema resulta - como já mencionado - em novas informações mais detalhadas e principalmente organizada (dependendo muito do algoritmo sendo executado). O Data Mining alimenta uma base de dados já comentada aqui no Alvo Conhecimento: o Data Warehouse, base única e totalmente estruturada para garantir a tomada de decisão em nível de usuário, através de relatórios customizados. Saiba mais sobre Data Warehouse aqui.

Como é feita a mineração?

Essa varredura nos dados “históricos” requer que eles sejam filtrados a fim de desconsiderar o que é específico sobre algum assunto e valorizar tudo que for generalizado dentro do sistema, ou dados genéricos. Se por acaso uma faculdade recebe muitos pedidos de descontos num determinado dia, significa que houve uma procura comum, e não uma regra sobre “pedir descontos em um dia especifico”. O que quero dizer é que não há ma associação entre pedido de desconto e dia específico como uma regra. O que importa para o Data Mining é que em um determinado dia houve um padrão de acontecimentos, e isso ele ira considerar.

É simples, para localizar os padrões de um sistema, basta iniciarmos naqueles que se repetem. Por quê? Como diz na Wikipédia: “O cérebro dos seres humanos utiliza-se de processos similares, pois muito do conhecimento que temos em nossa mente é, de certa forma, um processo que depende da localização de padrões”.

Exemplo teórico

Um site de vendas permite que seu cliente entre no portal e veja produtos similares ao que ele já havia comprado ou pesquisado. Então ele deverá armazenar o trajeto do cliente pelo site para que consiga traçar o perfil do cliente.

 


Associação SoftwareLivre

A Associação SoftwareLivre.org (ASL) é uma associação civil sem fins-lucrativos, com sede em Porto Alegre/RS que reúne empresários, profissionais liberais, estudantes e servidores públicos, estabelecendo relações com os mais diversos setores da sociedade como o poder público, universidades, empresas, grupos de usuários, hackers e ONGs. A ASL tem por principal objetivo tornar o software livre amplamente incluído na sociedade, propiciando espaço de discussão, apoio, fomento e organização de iniciativas nas mais diversas áreas relacionadas. - Site oficial da associação