Pergunta de entrevista para Analista de Dados

Por que as tabelas de relatório costumam ser desnormalizadas quando os bancos transacionais são normalizados?

O que o entrevistador está avaliando, como estruturar sua resposta e um exemplo falado que você pode adaptar.

Resposta rápida

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

Exemplo falado, em primeira pessoa

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 funciona

Perguntas 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

Ensaie as perguntas difíceis antes que elas apareçam

Pratique com um copiloto ao vivo e depois entre pronto. Um Session Pass de $29 te leva até o fim da entrevista, sem assinatura e sem amarras.

Instalar o GhostPilot