Arquitetura data warehouse
O armazenamento
O armazenamento se dá num depósito único, que seja de rápido acesso para as análises. Tal armazenamento conterá dados históricos advindos de bancos de dados transacionais que servem como backend de sistemas como ERPs e CRMs. Quanto mais dados do histórico das operações da empresa, melhor será para que a análise destas informações reflita o momento da empresa.
Modelagem multidimensional
Os sistemas de base de dados tradicionais utilizam a normalização [1] do formato de dados para garantir consistência dos dados, minimização do espaço de armazenamento necessário e diminuição (redução) de redundâncias, que devem ser verificadas antes da conclusão do modelo de dados. Entretanto, algumas transações e consultas em bases de dados normalizadas podem se tornar lentas devido às operações de junção entre tabelas (JOIN).
Um data warehouse utiliza dados em formato de-normalizados[2] . Isto aumenta o desempenho das consultas e como benefício adicional, o processo torna-se mais intuitivo para os utilizadores [3] comuns. Essa maneira de reordenar os dados chama-se Modelagem Dimensional, e o resultado da modelagem é o Modelo Dimensional, ou MD.
Esse tipo de modelagem tem dois modelos MODELO ESTRELA (STAR SCHEMA) e MODELO FLOCO DE NEVE (SNOW FLAKE).
- Modelo Estrela: Mais simples de entender, nesse modelo todas as dimensões relacionam-se diretamente com a fato.
- Modelo Floco de Neve: Visa normalizar o banco, esse modelo fica mais complicado do analista entender, nele temos dimensões auxiliares.
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 ambiguidades;
- 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 sumariados [4] , 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 fazer contato com o administrador da base de dados.
Apresentação sobre banco de dados - suas aplicacoes para Data Warehouse:
slideplayer.com.br/slide/361888/