Data Warehouse e Data Lake Flashcards
O que são Data Warehouses?
Repositório central de informações que podem ser analisadas para tomar decisões mais adequadas. Basicamente é o local onde os dados são armazenados com o objetivo de servir para tomadas de decisões.
Como Funcionam os Data Warehouses?
O Data Warehouse recebe dados de diversas fontes diferentes, normalmente com uma cadência regular, armazena esses dados de maneira eficiênte e alimentam relatórios, painés e ferramentas de análise com os dados.
Como um Data Warehouse é Arquitetado?
Com camadas de front-end (disponibiliza as informações para o cliente), camada intermediária (acessa e analisa os dados) e camada inferior (onde os dados são carregados e armazenados)
Quais são os benefícios de usar um Data Warehouse?
- Tomada de decisão adequada
- Dados consolidados de várias formas
- Análise de dados históricos
- Qualidade, consistência e precisão de dados
- Separação do processamento analítico dos bancos de dados transicionais
Conceitos essenciais para business intelligence
ETL
DW
OLAP
Painéis de indicadores
Big Data
O que são: DadoXMetadadoXInformação
- Dado: É o registro de qualquer coisa (não precisa significado)
- Metadado: É o que descreve outro dado (dá significado ao dado)
- Informação: É a junção do Dado + Metadado
- Um dado pode ser um metadado e vice-versa
O que é e quais são as características de Business Intelligence - BI
- Infraestrutura teórica e tecnológica para organizar e analisar dados de diversas fontes de dados
- Para BI não se utilizam bancos de dados tradicionais e sim Data Warehouses
- Caracteristicas de BI -> Visão da corporação, processamento analítico, visa facilitar análises para tomadas de decisão, deve ser histórico, consultas ad-hoc e longas, BD basicamente desnormalizado.
O que são Data Warehouses?
- São bancos de dados estruturados (normalmente relacionais) que armazena dados homogeneizados e históricos para tomadas de decisão
- Integra diferentes dados de uma empresa em um único reppositório
Para que servem Data Warehouses?
- Integrar dados de múltiplas fontes
- Facilitar o processo de análise sem impactar os sistemas operativos
- Obter informações de qualidade
- Atender diferentes tipos de usuários finais
- Dar flexibilidade e agilidade para atender novas análises
- Prover mais autonomia ao tomador de decisão
Qual é a definição de Data Warehouse segundo Inmon?
- É um conjunto de dados orientado por assuntos, não volátil, variável com o tempo e integrado, criado para dar suporte à decisão
- Orientado por assunto -> Dados são organizados por processo
- Não volátil -> Basicamente carga em lote e análise de dados
- Variável com o tempo -> Os dados devem ser históricos
Integrado -> Os dados deve estar homogeneizados e consistentes
Qual é a definição de Data Warehouse segundo Kimbal?
É uma cópia dos dados transacionais especificamente estruturada para consulta e análise, é o lugar onde as pessoas podem acessar seus dados.
Quais são os Principais objetivos de Data Warehouses?
- Prover dados consistentes -> Tratar as heterogeneidades de dados e metadados, garantindo a consistência de valores, nomes e tipos de dados.
- Ser flexível à mudanças -> Alterações não devem invalidar os dados ou aplicações existentes
- Ser um lugar seguro -> Controlar o acesso a informações confidenciais da organização.
- Facilitar o acesso aos dados -> Os dados e metadados devem ser intuitivos para os tomadores de decisão e as ferramentas de acesso aos dados devem ser fáceis de usar.
- Ser bem aceita pelos tomadores de decisão.
O que é Data Mart?
- O DW que é um BD otimizado para fornecer uma imagem global da realidade do negócio de uma organização é demorado, complexo e custoso para ser implementado.
- Para facilitar a implementação, utilizam-se os Data Marts que é um DW específico para um assunto/negócio/processo da organização
- DM é um subconjunto do DW que satisfaz os requisitos de uma atividade de negócio
Quais os benefícios de se utilizar Data Marts?
Redução de tempo, complexidade e custo de implantação
Qual é a restrição para se utilizar Data Marts?
Requerem planejamento prévio, para evitar ilhas de dados
Como podem ser implementados os Data Marts?
- Os data marts podem ter implementação monolítica, onde os DMs derivam do DW, seguindo a lógica Top-Down, ou podem ter implementação modular, onde os DMs são implementados um de cada vez até ter o DW, seguindo a lógica Bottow-Up
- Na implementação monolítica os DM/DW podem ser normalizados, já na implementação modular não recomenda-se normaliza-los.
O que é Data Warehousing?
Processo de Construção do DW
Quais são os elementos básicos do Data Warehousing?
Os elementos básicos que precisam ser definidos e construidos no processo de data warehousing são, as fontes dos dados, a staging area dos dados, a area de apresentação dos dados e as ferramentas de acesso aos dados.
O que são as fontes de dados no processo de Data Warehousing?
Para um DW as fontes de dados podem ser as mais variadas possíveis, e as informações sobre essas fontes devem ser levadas em conta no modelo de negócio, informações como disponibilidade dos dados, confiabilidade, formato.
O que é a Staging Area no processo de Data Warehousing?
- É a área onde os dados são tratados para inserção no DM/DW
- É nela que é implementado o processo de ETL (Extract-Transform-Load)
O que é a area de apresentação dos dados no processo de Data Warehousing?
- É onde os dados são organizados, armazenados e disponibilizados para consulta direta pelos usuários ou ferramentas de relatórios.
- É basicamente uma série de DM integrados (o DM em si), onde os dados ficam armazenados.
- Todos os DM devem ser construídos usando dimensões e fatos (esquema dimensional)
O que são as ferramentas para o usuário final no processo de Data Warehousing?
- São as ferramentas que apresentam os dados de forma intuitiva e eficiente para o objetivo final do usuário.
- Elas fazem acesso aos dados
O que é o modelo dimensional?
É um tipo de modelagem de armazenamento de dados que tem o objetivo de tornar o esquema do BD mais simples (menos tabelas), intuitivo (com nomes significativos) e otimizado (desnormalizado-poucas junções) para favorecer consultas e análises.
Quais são os componentes do Modelo Dimensional
No modelo dimensional os dados são modelados em tabelas de dimensões, que armazena as propriedades descritivas dos dados e tabelas de fatos que armazena registros dos fatos.
O que são os esquemas estrela, flocos de neve e constelação na modelagem dimensional?
- Esquema estrela, esquema flocos de neve e esquema constelação são maneiras das tabelas estarem distribuídas na modelagem.
- No esquema estrela que é o mais simples, as tabelas de fato contém as chaves para as tabelas de dimensões, similar ao esquema floco de neve, a diferença é que no esquema floco de neve as tabelas de dimensões são normalizadas.
- Já o esquema constelação consiste em vários esquemas estrelas juntos onde as tabelas de fato compartilham as tabelas de dimensões.
O que é o esquema 5 W e 3 H?
- O 5W3H é uma técnica utilizada na gestão empresarial, já na modelagem de dados pode ser usado como guia para tipificar as tabelas no esquema estrela.
- Tabela de Fatos -> How many | How much
- Tabelas de Dimensões -> How | When | Who | What | Where | Why
Quais são as desvantagens de normalizar as tabelas de dimensão?
- Depois da primeira carga as dimensões crescem pouco ((a tabela de fatos é a que mais cresce, mas esta já é bem normalizada.
- O espaço economizado é pequeno
- A perda de performance por conta das junções extras é grande
- Resumindo: em comparação com o esquema estrela, o esquema floco de neve (que tem as tabelas de dimensões normalizadas) é menos claro, tem maior número de tabelas, têm consultas mais complexas e performance inferior.
Qual a diferença da modelagem tradicional (relacional) e da modelagem dimensional?
- Na modelagem tradicional o foco é em representar todos os dados e relacionamentos do negócio com a menor redundância possível (normalização).
- Já na modelagem dimensional o foco é em prover um esquema onde os fatos sejam o foco, sendo fato um registro de medidas que ocorre periodicamente.
- A partir de um esquema tradicional podem ser criados vários data marts (DM).
O que é Tabela de Dimensão?
- As tabelas de dimensões armazenam as descrições dos objetos do negócio, é nela que os dados em si são armazenados.
- Seus campos armazenam as descrições do negócio e definem os rótulos, as restrições e/ou os agrupamentos dos relatórios.
- A qualidade de uma tabela de dimensão está diretamente ligada à qualidade dos seus campos
Como criar campos com qualidade em uma tabela de dimensão?
- Os campos devem refletir as terminologias do negócio
- Os melhores campos são textuais e categóricos, logo, invés de usar idade e salário, pode-se usar faixa etária e faixa salarial, por exemplo.
- Os rótulos dos campos devem ser intuitivos, sem abreviaturas ou termos desnecessariamente complexos.
- Não utilizar campos que armazenem valores inteligentes, esses devem ser quebrados de forma intuitiva e seus valores devem ser descrições amigáveis.
- Os campos podem ter múltiplas hierarquias implícitas além de outros campos que são usados para definir agrupamentos. Por exemplo, para uma tabela de dimensão de tempo podem existir campos de diversos níveis hierárquicos, como ANO que seria um nível mais alto e DIA que seria um nível mais baixo.
O que é e como funciona a granularidade de uma tabela de dimensão?
- Granularidade é uma medida que tem relação com o nível de detalhe de uma tabela.
- É inversamente proporcional ao nível de detalhe dos dados, ou seja, quanto mais detalhado são os dados, menor é a granularidade.
- Em uma tabela de dimensão, o campo de menor hierarquia é o que define o grão da dimensão.
- Na tabela de dimensão tempo por exemplo, se só existe um campo para ano então a tabela tem alta granularidade, já se existe campo para hora e segundo a tabela tem baixa granularidade.
Quais são as principais características de uma tabela de dimensão?
- Possuem normalmente muitos campos (dezenas), mas poucos registros (poucos milhares), geralmente o volume de dados de todas as dimensões não chega a 10% do volume de dados do DW.
- São normalmente desnormalizadas (estrela-1FN), mas podem ser normalizadas (floco de neve-3FN)
- Tem PK simples, sendo elas Surrogate Keys ou seja, chaves artificiais que são geradas automaticamente de maneira incremental sem relação com os outros campos. O uso dessas chaves garantem a estabilidade/neutralidade pois ficam transparentes para os usuários, servindo apenas como ligação entre dimensões e fatos.
Quais cuidados devem ser tomados ao lidar com tabelas de dimensões?
- Manter as SK quando houver reprocessamento de ETL
- Evitar chaves do tipo data, inteligente ou natural, pois tem tamanhos exagerados e demandam um campo extra para fazer o versionamento.
- Usar chave natural apenas para manter o vínculo com a fonte de dados
O que é e quais são as principais características de uma tabela de fato?
- Tabelas de fatos são tabelas que armazenam observações ou eventos, geralmente envolvendo medidas registradas em um período de tempo.
- São basicamente normalizadas (3FN)
- São formadas principalmente por FK e por medidas
- Na prática, dificilmente tem PK. Quando for necessário é mais performático utilizar uma SK
- Tem muitas linhas, na casa dos M e B que crescem a cada carga. Tem poucas colunas que consistem das FKs para as dimensões e medidas.
- Representa cerca de 90% do volume de dados do DW
- São equivalentes a relacionamentos n-ários
- Podem ser criadas sem medidas (factless fact table), geralmente essas são usadas para registrar a cobertura/abrangência de alguma ação.
O que é um fato?
- Fato é um registro da tabela de fato
- Consiste na interseção entre as FK para as dimensões + medida(s)
- As dimensões definem o grão da tabela de fatos
O que são medidas na tabela de fatos?
- Medida são campos geralmente numéricos que devem ser continuamente valorados, geralmente são obtidas a partir da medição de alguma variável do negócio.
- As medidas podem ser derivadas/calculadas
- É aconselhado dar preferência para medidas perfeitamente aditivas (que podem ser utilizadas por group by/sum).