A normalização otimiza para escrita e integridade, então um banco transacional evita duplicar dados e atualiza uma linha em um único lugar. Relatório otimiza para leitura em varreduras enormes, onde cada join custa tempo e cada tabela extra custa clareza para o analista. Um star schema desnormalizado significa menos joins, queries mais rápidas em armazenamento colunar e nomes de coluna que o analista entende sem um dicionário de dados.
Por que os entrevistadores perguntam isso
Isso verifica se você entende por que existe uma camada analítica separada, em vez de tratá-la como uma cópia de conveniência da produção. Os entrevistadores querem o enquadramento de otimizar para escrita versus leitura, o ponto de que a compressão colunar torna barato duplicar valores de dimensão, e a consciência de que consultar o banco de produção direto é lento para você e operacionalmente arriscado para todo mundo.
Como estruturar sua resposta
- Contraste a carga de trabalho para a qual cada desenho é otimizado.
- Explique por que os joins são caros em escala analítica.
- Acrescente o argumento de usabilidade para os analistas.
- Cite a compressão colunar que torna a duplicação barata.
- Observe por que consultar produção direto é má ideia.
Exemplo de resposta
Eles resolvem problemas diferentes. Um banco transacional é feito para muitas escritas pequenas com integridade estrita, então normalizar significa que o endereço de um cliente existe uma vez e atualizá-lo é uma escrita só. Uma tabela analítica é feita para varrer milhões de linhas de uma vez, onde cada join é um custo e um join de quinze tabelas é lento e difícil de acertar. Então a gente desnormaliza em fatos e dimensões conformadas, o que corta joins e dá aos analistas nomes de coluna legíveis em vez de um diagrama de schema e três tabelas de lookup. O armazenamento colunar deixa isso barato, porque repetir uma string de país por milhões de linhas comprime para quase nada. O outro motivo é operacional. Rodar uma varredura analítica pesada contra o banco de produção compete por recursos com a aplicação, e eu já vi uma query pontual derrubar um serviço de checkout. Mesmo ignorando modelagem por completo, a carga analítica pertence a um lugar onde ela não pode prejudicar clientes.
Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.
Veja como funcionaPerguntas de acompanhamento que você pode esperar
- O que é uma dimensão conformada e por que ela importa?
- Quando você manteria uma estrutura normalizada dentro do data warehouse?
- Como você lida com uma métrica que precisa de dados de duas tabelas fato?
Mais perguntas para Analista de Dados
Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.
Prever minhas perguntas