Google PDE: Analytique BigQuery et ingénierie d'entrepôt de données — Guide d'étude

Fait partie du Google Professional Data Engineer — Guide d’étude. Entraînez-vous avec des réponses vérifiées dans le centre d’examens Google, ou passez des tests chronométrés sur ExamRoll.io.

Optimisation des requêtes et gestion de la charge de travail

Sécurité, gouvernance et contrôle des coûts

Scénario de problème pratique

NovaCare Health exploite une plateforme de télémédecine régionale. Une conception à table unique patient_and_visit a permis de réaliser un projet pilote, mais avec une mise à l’échelle de 100x, les rapports expirent (timeout), des doublons apparaissent suite aux upserts en streaming, et les partenaires exigent une isolation stricte des données.

Approche :

  1. Reconcevoir le schéma et la disposition

    • Créez des tables de base normalisées : patients(patient_id, demographics, updated_at) et visits(visit_id, patient_id, visit_ts, metrics, updated_at).
    • Faites de visits une table partitionnée sur DATE(visit_ts), clusterisée par patient_id et visit_id. Conservez les petites dimensions de référence dénormalisées dans visits pour la rapidité des tableaux de bord.
    • Justification : La normalisation évite les auto-jointures coûteuses et les mises à jour de lignes lourdes sur une seule table très sollicitée. Le partitionnement élague les analyses historiques ; la clusterisation colocalise les jointures et les filtres sur patient_id, réduisant ainsi le brassage (shuffle).
  2. Ingérer avec l’API Storage Write et garantir l’idempotence

    • Utilisez un pipeline Dataflow pour analyser les événements entrants, les valider et les écrire dans des flux nommés de l’API Storage Write avec des offsets idempotents.
    • Acheminez les événements malformés vers une table BigQuery de lettres mortes (dead-letter) pour le triage.
    • Justification : L’API Storage Write offre un débit plus élevé, une latence plus faible et de meilleures garanties de déduplication que le streaming hérité. La mise en file d’attente des lettres mortes préserve la visibilité sur les problèmes de qualité des données des partenaires.
  3. Concevoir pour la fraîcheur et la déduplication dans les requêtes

    • Pour l’analytique interactive, ajoutez un filigrane (watermark) court (par exemple, 2x la disponibilité observée) avant d’interroger la partition la plus récente ; ou filtrez par _PARTITIONDATE où partition_date <= CURRENT_DATE() pour exclure les lignes en transit.
    • Utilisez ROW_NUMBER() OVER (PARTITION BY visit_id ORDER BY event_ts DESC) = 1 dans les vues qui doivent tolérer les nouvelles tentatives en amont.
    • Justification : Le streaming est « eventually consistent » pendant un bref intervalle. Le filigrane et la déduplication par fenêtrage protègent les tableaux de bord des lacunes et des doublons transitoires.
  4. Accélérer les agrégats courants avec des vues matérialisées

    • Créez des vues matérialisées (MV) alignées sur les partitions sur la table visits pour les KPI quotidiens regroupés par DATE(visit_ts) et par cohortes de patients. Assurez-vous que les prédicats sont compatibles avec la réécriture.
    • Justification : Les MV réduisent la latence et les octets analysés pour les rapports récurrents ; BigQuery réécrit les requêtes pour utiliser la MV de manière transparente.
  5. Appliquer l’isolation des locataires (tenants) et une sécurité fine

    • Placez chaque partenaire dans un ensemble de données dédié. Accordez des rôles au niveau de l’ensemble de données selon le principe du moindre privilège aux groupes de partenaires.
    • Publiez des vues autorisées pour des benchmarks partagés et inter-partenaires sans révéler les tables brutes.
    • Appliquez des tags de stratégie aux colonnes PII et ajoutez des politiques d’accès aux lignes à la table visits pour restreindre l’accès par partner_id pour l’analytique interne multi-locataire.
    • Justification : La segmentation par ensemble de données par locataire, ainsi que les vues autorisées et les tags de stratégie, appliquent le principe du moindre privilège tout en permettant un partage organisé.
  6. Gérer les charges de travail avec les éditions, les réservations et l’autoscaling

    • Achetez de la capacité dans les éditions BigQuery et créez deux réservations : etl (pour les récepteurs Dataflow, les transformations planifiées) et bi (pour les requêtes ad hoc/reporting). Attribuez les projets en conséquence et activez l’autoscaling pour absorber les pics.
    • Planifiez les requêtes ELT en mode batch avec des SLA clairs ; définissez maximum_bytes_billed pour les projets interactifs.
    • Justification : Des réservations distinctes empêchent l’ETL de priver la BI de ressources. L’autoscaling s’adapte aux charges de travail en rafale sans surprovisionnement.
  7. Gouverner les coûts et observer l’utilisation

    • Exigez des filtres sur visit_ts ; rejetez SELECT * dans les vues partagées. Utilisez INFORMATION_SCHEMA.JOBS pour détecter les analyses non élaguées et les jointures déséquilibrées.
    • Exportez les journaux d’audit de BigQuery vers Pub/Sub avec un récepteur de journaux (log sink) filtré sur les tâches d’insertion dans visits pour déclencher des alertes de surveillance en cas de pics inattendus.
    • Justification : L’élagage d’octets et la projection de colonnes contrôlent les coûts ; les journaux d’audit font remonter les modèles d’accès et les anomalies en quasi-temps réel.
  8. Planifier la récupération et les remplissages (backfills)

    • Activez des politiques d’expiration de table par défaut qui s’alignent sur les besoins de conformité et de voyage dans le temps (time-travel). Pour les modifications importantes, créez un instantané (snapshot), exécutez les changements et revenez en arrière rapidement si nécessaire. Utilisez des clones de table pour les analyses de simulation (what-if) en dev/test sans dupliquer le stockage.
    • Justification : Les instantanés et les clones fournissent des filets de sécurité rapides et économes en espace ; le voyage dans le temps couvre les petites restaurations correctives.
  9. Intégrer le ML intra-entrepôt

    • Stockez les caractéristiques préparées (engineered features) dans des tables partitionnées et entraînez des modèles de classification BigQuery ML pour le risque de réadmission. Pour les modèles externes hébergés sur Vertex AI, créez des modèles distants et mettez en cache les prédictions dans une table clusterisée pour des jointures à faible latence.
    • Justification : Garder le ML proche des données réduit les déplacements et la complexité de la gouvernance ; la mise en cache de l’inférence à distance amortit la latence et les coûts.

Avec cette conception, NovaCare obtient des performances prévisibles sous une charge 100x supérieure, une isolation forte des locataires et des coûts maîtrisés, tout en préservant une analytique à faible latence et une récupération reproductible.


Stockage des données · Tous les domaines · Traitement en flux continu avec Dataflow et Apache Beam

Entraînez-vous sur ces questions → · Tests chronométrés sur ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Réussissez votre examen →

Parcourir Google →

Related guides

Accès tout-en-un

Un seul abonnement. Chaque examen.

Chaque plan débloque la recherche de réponses illimitée, les tests pratiques, les explications IA et la bibliothèque complète de ressources — en plus de 20 langues.

Mensuel
24.87
Just €0.83/day
Tout inclus :
  • Recherche de réponses illimitée
  • Tests pratiques illimités
  • Explications basées sur l'IA
  • Bibliothèque complète de ressources
  • Plus de 20 langues
  • Mises à jour de contenu hebdomadaires
  • Récompenses et parrainages
  • Support prioritaire
Commencer l'essai gratuit

Aucune carte de crédit requise*

Meilleur rapport qualité/prix
12 mois
179.87
Just €0.49/daySave 40%
Tout inclus :
  • Recherche de réponses illimitée
  • Tests pratiques illimités
  • Explications basées sur l'IA
  • Bibliothèque complète de ressources
  • Plus de 20 langues
  • Mises à jour de contenu hebdomadaires
  • Récompenses et parrainages
  • Support prioritaire
Commencer l'essai gratuit

Aucune carte de crédit requise*

✓ Plan gratuit inclus · ✓ Annulez à tout moment · ✓ Tous les plans débloquent le produit complet