Snowflake continue d'innover pour répondre aux exigences des charges de travail à faible latence et à haute concurrence. Le service de data warehousing dans le cloud a récemment introduit (en Preview Feature au moment de la rédaction) deux nouveaux concepts fondamentaux : les Interactive Tables et les Interactive Warehouses.
Ces fonctionnalités sont conçues pour cibler des cas d'usage nécessitant des réponses cohérentes et quasi instantanées, comme les tableaux de bord en temps réel et les APIs orientées données
L'Entrepôt Interactif (Interactive Warehouse) dans Snowflake
L'Entrepôt Interactif est un nouveau type de warehouse optimisé pour les charges de travail interactives et à faible latence.
Caractéristiques clés de l'Entrepôt Interactif :
- Optimisation Moteur : Il ajuste spécifiquement le moteur de Snowflake pour l'analytique interactive et tire parti des métadonnées et des index supplémentaires des tables interactives pour accélérer les requêtes
- Fonctionnement continu : Par conception, un entrepôt interactif est destiné à rester actif. Contrairement aux entrepôts standards, il ne se suspend pas automatiquement en cas d'inactivité
- Zéro latence au démarrage : Le cache est maintenu "chaud" en permanence
- Isolation : Ils sont dédiés uniquement à la requête de tables interactives, évitant ainsi que des requêtes de transformation lourdes ne viennent ralentir l'expérience utilisateur
- Mise en place : La création utilise le mot-clé INTERACTIVE :

Optionnel : Il est possible d’associer une liste de tables interactives avec l’entrepôt interactif, ici ma table interactive “exemple_table_interactive_snow”
Limitations et contraintes techniques :
- Timeout Strict : Le timeout par défaut pour les commandes SELECT est de cinq secondes, au-delà, la requête est annulée. Ce temps limite ne peut pas être augmenté, car ces entrepôts ne sont pas destinés aux requêtes longues
- Isolation : Il n'est pas possible d'interroger des tables Snowflake standards depuis un Entrepôt Interactif
- Auto-scaling : Les entrepôts multi-clusters interactifs ne supportent pas l'auto-scaling. MIN_CLUSTER_COUNT et MAX_CLUSTER_COUNT doivent être définis à la même valeur
La Table Interactive (Interactive Table)
La Table Interactive est une table Snowflake spécialisée qui, lorsqu'elle est interrogée par un Entrepôt Interactif, offre le meilleur gain de performance.
Ce sont des tables spécialisées, optimisées pour la lecture rapide
- Clustering forcé : Elles nécessitent une clé de regroupement (cluster key) pour garantir que les recherches filtrées sont instantanées
- Auto-refresh : Elles fonctionnent comme des vues matérialisées intelligentes (similaires aux Dynamic Tables) avec un paramètre TARGET_LAG permettant de garder les données fraîches (jusqu'à 60 secondes de décalage)
Création et Optimisation
La Table Interactive doit être créée via une commande CREATE INTERACTIVE TABLE et nécessite obligatoirement une clause CLUSTER BY pour spécifier les colonnes de regroupement. Le choix de ces
colonnes doit correspondre aux clauses WHERE les plus fréquentes dans les requêtes critiques, car cela affecte considérablement la performance.
Rafraîchissement Automatique (Target Lag)
Ces tables peuvent être configurées pour se rafraîchir automatiquement à partir d'une table source en utilisant la clause TARGET_LAG, de manière similaire aux Dynamic Tables de Snowflake.
- TARGET_LAG spécifie le délai maximal autorisé entre la source et la table interactive (minimum : 60 secondes)
- La clause WAREHOUSE doit pointer vers un entrepôt standard qui sera utilisé pour exécuter l'opération de rafraîchissement

Note : La commande de création elle-même doit être exécutée avec un warehouse standard
Limitations Fonctionnelles
Les Tables Interactives ont un ensemble de fonctionnalités plus restreint que les tables standards :
- DML Restreint : Seul INSERT OVERWRITE est supporté pour la manipulation des données. Les commandes UPDATE et DELETE ne sont pas prises en charge
- Gouvernance : Elles ne supportent pas la plupart des politiques de gouvernance (politiques de masquage, politiques d'accès aux lignes, etc)
- Autres Objets : Il n'est pas possible de les utiliser comme source pour des vues matérialisées (Materialized Views), des Streams, ou des Dynamic Tables
Les points forts
- Simplification de l'architecture : Plus besoin de multiplier les outils (ETL + Snowflake + Base de Serving). Tout reste dans Snowflake, réduisant les risques de sécurité et de désynchronisation
- Expérience utilisateur fluide : Idéal pour l'analytique embarquée (Embedded Analytics) où l'utilisateur final attend une réponse immédiate à chaque clic sur un filtre
- Passage à l'échelle : Capacité à gérer des centaines d'utilisateurs simultanés sans dégradation des performances
Les points d'attention
- Requêtes courtes uniquement : Un garde-fou automatique annule toute requête dépassant 5 secondes. On ne fait pas de gros rapports complexes ici
- Pas de modifications granulaires : Les commandes UPDATE ou DELETE ne sont pas supportées sur ces tables (uniquement du INSERT OVERWRITE)
- Coût de disponibilité : Comme l'entrepôt ne se suspend pas automatiquement, le coût est plus prévisible mais potentiellement plus élevé pour des usages sporadiques
- Facturation minimum : Actuellement, la période minimale facturable pour un entrepôt interactif est d'une minute. À partir de fin 2025, la période minimale facturable pour un entrepôt interactif sera fixée à une heure, avec une granularité d'une seconde par la suite
- Délais de démarrage : Le moteur interactif n’est pas prévu pour être interrompu, en cas de redémarrage, on peut constater des lenteurs sur les queries pendant plusieurs minutes voir même une heure, le temps que le cache soit remis à chaud
Le but de ces fonctionnalités
L'objectif principal est de briser la barrière entre le Data Warehousing (le stockage massif) et l'Application Serving (la consommation en temps réel)
- Le "Sub-Second" Analytics : Habituellement, Snowflake est excellent pour traiter des téraoctets de données en quelques minutes ou secondes. Ici, on vise la milliseconde. C'est idéal pour des applications web où l'utilisateur ne peut pas attendre 3 secondes que son graphique s'affiche
- La Haute Concurrence (High Concurrency) : Dans un BI classique, 50 utilisateurs qui cliquent en même temps peuvent ralentir le système. Avec le mode interactif, Snowflake peut gérer des centaines de requêtes simultanées très courtes
- L'Embedded Analytics (Analytique embarquée) : Si vous construisez une application SaaS et que vous voulez offrir à vos propres clients un tableau de bord de leurs statistiques de ventes, vous avez besoin que ce soit instantané. Ces fonctionnalités permettent d'utiliser Snowflake comme "backend" direct de l'application sans passer par une base de données intermédiaire (comme PostgreSQL)
Vous souhaitez bénéficier d'experts·es, de développeurs·euses, ou d'une formation- sur Snowflake ? Rendez-vous sur la page Contact.
