Visão geral de um Data Warehouse e seus componentes
Este artigo foi publicado originalmente em 2012, como forma de fixar o conhecimento sobre esse assunto novo pra mim e que seria pano de fundo das minhas novas atividades. Devido à sua importância histórica (pra mim!), não poderia utilizar outro conteúdo para inaugurar minhas postagens no Medium.
Mesmo tendo se passado mais de 10 anos, muito conteúdo continua relevante por abordar, principalmente, conceitos e fundamentos.
Se quiser saber o que estou estudando, experimentando ou escrevendo, visite o meu Diário de Bordo e veja as novidades.
Um DW (Data Warehouse) pode ser definido como um banco de dados especializado, que integra e gerencia o fluxo de informações a partir de bancos de dados departamentais e fonte de dados externas à organização, resumidamente.
Por trás de uma solução de DW existe uma série de ferramentas / tecnologias / conceitos (peças) que precisam ser combinadas para atingir um objetivo específico.
E para não sair do padrão, temos a tradicional sopa de letrinhas: SAD, BI, OLAP, OLTP, ETL, ODS além de alguns termos como Data Mart, Data Mining, Metadados, etc…
SAD (Sistema de Apoio à Decisão)
Um SAD se diferencia de outros sistemas existentes nas organizações basicamente por:
- Manipular grandes volumes de dados;
- Obter dados de fontes diferentes (internas e externas);
- Flexibilidade de relatórios gerenciais;
- Execução de rotinas de otimização e heurística;
- Execução de análises de simulação;
- Suporte para diversos níveis na tomada de decisão.
Com a utilização de um SAD, as organizações têm melhores condições de, por exemplo:
- Decidir sobre fazer ou não uma promoção, de qual produto e quando;
- Projetar o risco ou o sucesso do investimento em determinado empreendimento ou do lançamento de um produto;
- Decidir se deve contratar ou não novos funcionários no próximo mês.
Ou seja, com este sistema, os gestores têm condições de tomar decisões não apenas baseadas na intuição.
BI (Business Intelligence)
O termo Business Intelligence ou Inteligência Empresarial foi utilizado pela primeira vez na década de 80 pelo Gartner Group, porém o conceito remonta desde a antiguidade onde, por exemplo, se observavam a posição dos astros, os períodos de sol / chuva e as marés para a tomada de decisões.
Com o desenvolvimento dos sistemas computacionais ao longo das últimas décadas, observa-se também o desenvolvimento do BI, impulsionado pela permanente necessidade das organizações de manterem a competitividade.
Atualmente, pode-se sintetizar BI como um conjunto de ferramentas, conceitos e metodologias que se utiliza da Tecnologia da Informação (TI) para coletar dados, analisá-los e transformá-los em informação.
Com isso, os sistemas de BI concedem às organizações conhecimento sobre seus negócios, contribuindo para que os gestores optem pela decisão mais assertiva.
Os componentes de uma estrutura de BI são basicamente:
- Dados operacionais (são a matéria prima do BI, são os dados originados das aplicações utilizadas no dia-a-dia da organização, por exemplo o ERP);
- Operacional Data Store (ODS) (onde são armazenados os dados operacionais de forma consolidada, porém não possuem características dimensionais, como o DW e DM);
- Ferramentas de ETL (Extração, Transformação e Carga);
- Data Warehouse (DW) e Data Marts (DM);
- Data Mining (Mineração de Dados);
- Visualização dos resultados (ferramentas que permitem ao usuário final visualizar de forma amigável as informações para auxiliar na tomada das decisões).
DataWarehouse (DW) & Data Mart (DM)
Um DW (Data Warehouse ou Armazém de Dados) é uma coleção de dados orientada por assunto, integrada, variante no tempo e não volátil que tem por objetivo dar suporte aos processos de tomada de decisão.
É um repositório central que armazena dados de várias fontes, transformando-os em um modelo comum, multidimensional, para a realização de consultas e análises mais eficientes.
Enquanto um DW foca na organização como um todo, um DM foca em um determinado departamento ou conjunto especifíco de usuário.
Portanto, a diferença entre um DW e um DM consiste, basicamente, no volume de dados, na abrangência e no foco.
A construção destas bases de dados pode acontecer de duas formas, Top-Down ou Bottom-Up, as circunstâncias e particularidades de cada empresa / projeto é que determinarão qual utilizar.
Top-Down
Primeiro se monta o DW corporativo, para num segundo momento criar os DM’s departamentais.
Bottom-Up
Primeiro é criado os DM’s departamentais, para em seguida montar o DW corporativo.
OLTP & OLAP
OLTP (OnLine Transaction Processing ou Processamento de Transações em Tempo Real) caracteriza-se por um grande número de transações (INSERT, UPDATE e DELETE) envolvendo uma pequena quantidade de dados em um ambiente multi-acesso, mantendo a integridade referencial.
No planejamento do banco de dados busca-se reduzir o tamanho e a redundância dos dados, e normalmente se aplica a 3FN (terceira Forma Normal) na modelagem, que são os dados primitivos ou dados operacionais, segundo W. H. Inmon.
OLAP (OnLine Analytical Processing ou Processamento Analítico em Tempo Real) caracteriza-se por poucas transações (INSERT e SELECT) envolvendo uma quantidade muito grande de dados.
Na busca por eficiência das consultas, os dados armazenados em DW ou DM´s, normalmente são desnormalizados e utilizam esquemas multi dimensionais, são dados derivados ou dados SAD segundo W. H. Inmon.
A partir do OLAP, termos foram derivados ou criados, como: DOLAP, ROLAP, MOLAP, HOLAP, slice and dice, pivot table, drill down/up que abordaremos em outras ocasiões.
De acordo com a tabela abaixo, extraída do livro “Como construir o Data Warehouse”, de W. H. Inmon, é apresentada algumas diferenças conceituais entre os dados primitivos e os dados derivados. Vejamos:
O ambiente do DW
Devido às diferenças existentes entre os dados primitivos e os dados derivados, como vimos em OLTP & OLAP, outros aspectos por consequência necessitam de nova abordagem, segundo Inmon.
Os níveis dos dados
Estas diferenças acabam por gerar 4 (quatro) níveis de dados na organização, como segue:
- Operacional ==> Contém os dados primitivos que atende às transações OLTP, refletindo o valor atual dos registros;
- Atômico / Data Warehouse ==> Contém dados primitivos que não são atualizados e alguns dados derivados. Não existe a sobreposição de valores, mantendo um histórico dos registros através da utilização de um elemento tempo associado a chave de cada registro;
- Departamental ==> Contém apenas dados derivados e agrupados por departamento, tem-se uma base de dados para o Marketing, outro para o RH, outro para o Financeiro e assim por diante. Também existe neste nível o elemento tempo associado a chave de cada registro;
- Individual ==> Contém dados que serão utilizados nas análises heurísticas, normalmente são dados temporários de pequenas proporções e utilizados pelos Sistemas de Informações Executivas (EIS).
Ciclo de vida do desenvolvimento de sistemas
As diferenças entre os sistemas tradicionais e um DW não termina na forma de armazenar / modelar os dados. O desenvolvimento de sistemas para um ambiente de DW é praticamente o oposto ao tradicional SDLC (Systems Development Life Cycle), conforme abaixo:
Utilização de Hardware
Em um sistema OLTP, o consumo do hardware mantém um certo padrão / média de utilização durante o tempo. É possível planejar o crescimento / upgrade do sistema.
É possível, também, prever os picos de utilização por conta da sazonalidade, por exemplo, no Natal o sistema das operadoras de cartão de crédito têm um pico de utilização.
Em contrapartida, um sistema DW / SAD terá picos de utilização do hardware apenas quando houver solicitações de ETL e/ou consultas OLAP dos usuários e logo em seguida o hardware voltará a ficar ocioso.
Neste cenário, consegue-se prever o ritmo de crescimento da base de dados, porém o consumo de CPU / memória RAM e espaço para dados temporários já fica mais complicado.
Ou seja, a configuração / ajuste fino do hardware que vai atender às demandas dos sistemas legados (OLTP) é totalmente diferente das necessidades / especificações dos sistemas que irão atender às demandas dos sistemas DW / OLAP.
Fontes:ANTONELLI, Ricardo A. Conhecendo o Business Intelligence (BI) - Uma Ferramenta de Auxílio à Tomada de Decisão. Revista TECAP. v. 3, n. 3, 2009. Disponível em: http://revistas.utfpr.edu.br/pb/index.php/CAP/article/viewFile/933/544 acesso em: 14 de mar. 2012.BORTOLIN, Sérgio A. M. Sistema de Apoio à Decisão. Disponível em: http://www.al.urcamp.tche.br/infocamp/edicoes/nov05/Apoio%20a%20Decisao.pdf Acesso em: 13 de mar. 2012.FALSARELLA, Orandi M.; CHAVES, Eduardo O. C. Sistemas de Informação e Sistemas de Apoio à Decisão. Disponivel em: http://www.chaves.com.br/TEXTSELF/COMPUT/sad.htm Acesso em: 13 de mar. 2012HARRISON, Thomas H. Intranet Data Warehouse. São Paulo, Berkeley, 1998. 362 p.MARTINS, C. E. W.; SILVA, E. L. da.; MUSSI, E. A. S. Implantação de um ODS no Banco do Brasil visando um DATA WAREHOUSE - Estudo de Caso. 1999. 51 f. Tese (MBA em Tecnologia) - Escola Politécnica, Universidade de São Paulo, Brasília. 1999.PRIMAK, Fabio Vinicius. Decisões com B.I. Business Intelligence. Brasil. 1a edição. Ciência Moderna. 2008. 168 p. ISBN 8573937149.
Conclusão!
Espero que este artigo tenha lhe ajudado a entender um pouco mais sobre Data Warehouse e seus componentes.
Gostou do conteúdo? bata palmas e compartilhe nas suas redes sociais.
Sentiu falta de algo? quer conversar a respeito? tem alguma dúvida, crítica ou sugestão? deixe seu comentário.
Obrigado pela atenção, até o próximo! Fui!
Se quiser saber o que estou estudando, experimentando ou escrevendo, visite o meu Diário de Bordo e veja as novidades.