La normalisation optimise l'écriture et l'intégrité, donc une base transactionnelle évite de dupliquer les données et met à jour une ligne à un seul endroit. Le reporting optimise la lecture sur d'énormes balayages, où chaque jointure coûte du temps et chaque table supplémentaire coûte de la clarté à l'analyste. Un schéma en étoile dénormalisé signifie moins de jointures, des requêtes plus rapides sur du stockage colonne, et des noms de colonnes qu'un analyste comprend sans dictionnaire de données.
Pourquoi les recruteurs posent cette question
Cela vérifie si vous comprenez pourquoi une couche analytique séparée existe, plutôt que de la voir comme une copie de confort de la production. Les recruteurs veulent le cadrage optimisation en écriture contre optimisation en lecture, le point sur la compression colonne qui rend les valeurs de dimension dupliquées peu coûteuses, et la conscience qu'interroger directement la base de production est à la fois lent pour vous et risqué en exploitation pour tous les autres.
Comment structurer votre réponse
- Opposez les charges de travail que chaque conception optimise.
- Expliquez pourquoi les jointures coûtent cher à l'échelle analytique.
- Ajoutez l'argument d'utilisabilité pour les analystes.
- Mentionnez la compression colonne qui rend la duplication peu coûteuse.
- Notez pourquoi interroger la production directement est une mauvaise idée.
Exemple de réponse
Elles résolvent des problèmes différents. Une base transactionnelle est faite pour beaucoup de petites écritures avec une intégrité stricte, donc normaliser fait que l'adresse d'un client existe une seule fois et que la mettre à jour est une seule écriture. Une table analytique est faite pour balayer des millions de lignes d'un coup, où chaque jointure est un coût et où une jointure sur quinze tables est à la fois lente et difficile à écrire correctement. On dénormalise donc en faits et en dimensions conformes, ce qui réduit les jointures et donne aux analystes des noms de colonnes lisibles au lieu d'un schéma et de trois tables de correspondance. Le stockage colonne rend cela peu coûteux, puisque répéter une chaîne de pays sur des millions de lignes se compresse jusqu'à presque rien. L'autre raison est opérationnelle. Lancer un gros balayage analytique sur la base de production entre en concurrence avec l'application pour les ressources, et j'ai vu une requête ad hoc mettre à terre un service de paiement. Même en ignorant complètement la modélisation, la charge analytique a sa place là où elle ne peut pas nuire aux clients.
Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.
Voir comment ça marcheQuestions de relance à prévoir
- Qu'est-ce qu'une dimension conforme et pourquoi est-ce important ?
- Quand garderiez-vous une structure normalisée dans l'entrepôt ?
- Comment traitez-vous un indicateur qui a besoin de données venant de deux tables de faits ?
Autres questions pour Analyste de données
Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.
Prédire mes questions