AccueilBlogTest technique Snowflake performance : query profiling, clustering, materialized views
Guide recrutement data

Test technique Snowflake performance : query profiling, clustering, materialized views

Au-delà des bases Snowflake, l optimisation des performances nécessite de maîtriser le Query Profile, le clustering intelligent et les fonctionnalités avancées. En entretien Senior, c est ce qu on évalue.

Data Builder·Juin 2025·6 min de lecture·Data Engineer · Analytics Engineer
Sommaire
  1. Query Profile
  2. Clustering avancé
  3. Materialized Views
  4. Search Optimization Service
  5. Query Acceleration Service
  6. Warehouse tuning
  7. Grille

1Query Profile : diagnostiquer les requêtes lentes

Question discriminante

Comment utilisez-vous le Query Profile Snowflake pour identifier un goulot d étranglement ?

-- Trouver les requêtes lentes des dernières 24h SELECT query_id, query_text, total_elapsed_time / 1000 AS elapsed_sec, bytes_scanned / POW(1024, 3) AS gb_scanned, partitions_scanned, partitions_total, partitions_scanned * 100.0 / NULLIF(partitions_total, 0) AS pct_scanned FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY WHERE START_TIME >= DATEADD('hour', -24, CURRENT_TIMESTAMP) AND EXECUTION_STATUS = 'SUCCESS' AND TOTAL_ELAPSED_TIME > 30000 -- > 30 secondes ORDER BY TOTAL_ELAPSED_TIME DESC LIMIT 20; -- Signal de problème : pct_scanned proche de 100% -- Signifie que le clustering n aide pas

2Clustering avancé : au-delà des bases

Question discriminante

Quand créez-vous un Clustering Key sur plusieurs colonnes ? Comment vérifier son efficacité ?

-- Clustering sur plusieurs colonnes (ordre important) -- Colonne la plus sélective en premier ALTER TABLE fct_events CLUSTER BY (event_date, event_type, user_segment); -- Vérifier l efficacité du clustering SELECT SYSTEM$CLUSTERING_INFORMATION('fct_events', '(event_date, event_type)'); -- average_depth proche de 1 = bon clustering -- average_depth > 3 = reclustering nécessaire -- Clustering automatique (Automatic Clustering) -- Snowflake maintient le clustering automatiquement -- Coût: crédit de compute supplémentaire ALTER TABLE fct_events RESUME RECLUSTER;

3Materialized Views : quand les utiliser

Question discriminante

Dans quel cas une Materialized View Snowflake est-elle préférable à une table dbt ?

Question discriminante

Qu est-ce que le Search Optimization Service ? Pour quels types de requêtes ?

5Query Acceleration Service

Question discriminante

Qu est-ce que le Query Acceleration Service ?

6Warehouse sizing et multi-cluster

Question discriminante

Comment choisissez-vous entre scaler up (plus grand warehouse) et scaler out (multi-cluster) ?

ProblèmeSolutionPourquoi
Requête unique trop lenteScale UP (XS → S → M)Plus de compute par requête
Trop de requêtes simultanées (queueing)Scale OUT (multi-cluster)Plus de warehouses parallèles
Transformation nightly lenteScale UP temporairementFinir plus vite, auto-suspend ensuite
Dashboard BI avec 50 users simultanésMulti-cluster auto-scaleDistribuer la charge

7Grille par niveau

NiveauMaitriseSignal GONO-GO
ConfirméQuery Profile, clustering basique, auto-suspendLit le Query Profile, a configuré un clustering keyNe sait pas lire le Query Profile
SeniorClustering efficacité, MV, SOS, QAS, multi-clusterVérifie l efficacité du clustering avec CLUSTERING_INFORMATION, a utilisé MV ou SOSNe sait pas la différence entre scale up et scale out

Vous recrutez un Data Engineer Snowflake Senior ?

Premier entretien gratuit. Rapport GO/NO-GO sous 48h.