Tables hybrides¶
Une table hybride est un type de table Snowflake optimisé pour les charges de travail transactionnelles et opérationnelles hybrides qui nécessitent une faible latence et un débit élevé pour les petites lectures et écritures de points aléatoires. Une table hybride prend en charge l’application de contraintes d’intégrité unique et référentielle essentielle pour les charges de travail transactionnelles. Vous pouvez utiliser une table hybride avec d’autres tables et fonctionnalités Snowflake pour optimiser les charges de travail Unistore qui rassemblent les données transactionnelles et analytiques en une seule plateforme.
Les cas d’utilisation susceptibles de bénéficier des tables hybrides sont les suivants :
Création d’une cohorte pour une campagne marketing ciblée via une interface utilisateur interactive.
Maintien d’un état de flux de travail central pour coordonner les pipelines de transformation de données parallèles volumineux.
Fourniture d’un traitement de promotion précalculé aux utilisateurs qui consultent votre site Internet ou votre application mobile.
Architecture¶
Les tables hybrides sont intégrées en toute transparente à l’architecture Snowflake existante. Les clients se connectent au même service de base de données Snowflake. Les requêtes sont compilées et optimisées dans la couche de services Cloud et exécutées dans le même moteur de requête dans les entrepôts virtuels. Cela présente plusieurs avantages essentiels :
Les fonctionnalités de la plateforme Snowflake telles que la gouvernance des données fonctionnent d’emblée avec les tables hybrides.
Vous pouvez exécuter des charges de travail hybrides mélangeant des requêtes opérationnelles et analytiques.
Vous pouvez joindre des tables hybrides à d’autres tables Snowflake et la requête s’exécute nativement et efficacement dans le même moteur de requête. Aucune fédération n’est obligatoire.
Vous pouvez exécuter une transaction atomique sur des tables hybrides et d’autres tables Snowflake. Il n’est pas nécessaire d’orchestrer votre propre validation en deux phases.
Les tables hybrides s’appuient sur un magasin de lignes comme magasin de données principal pour offrir d’excellentes performances de requêtes opérationnelles. Lorsque vous écrivez dans une table hybride, les données sont écrites directement dans le magasin de lignes. Les données sont copiées de manière asynchrone dans le stockage d’objets afin d’améliorer les performances et l’isolation de la charge de travail des analyses volumineuses, sans incidence sur les charges de travail opérationnelles en cours. Certaines données peuvent également être mises en cache au format de colonne dans votre entrepôt afin d’améliorer les performances des requêtes analytiques. Il vous suffit d’exécuter des instructions SQL sur la table hybride logique et l’optimiseur de requêtes de Snowflake décide où lire les données afin de fournir les meilleures performances. Vous obtenez une vue cohérente de vos données sans avoir à vous soucier de l’infrastructure sous-jacente.
Fonctionnalités¶
Les tables hybrides offrent des fonctionnalités supplémentaires qui ne sont pas prises en charge par les autres types de table Snowflake.
Fonctionnalité |
Tables hybrides |
Tables standards |
---|---|---|
Disposition des données principales |
Sous forme de lignes, avec une mise en colonnes secondaire |
Micro-partitions en colonnes |
Verrouillage |
Verrouillage des lignes |
Verrouillage des partitions ou des tables |
Clés primaires |
Obligatoire ; unicité appliquée |
Facultatif ; non appliqué |
Clés étrangères |
Facultatif ; intégrité référentielle appliquée |
Facultatif ; non appliqué |
Contraintes |
Prend en charge l’application de contraintes d’unicité et d’intégrité référentielle |
Non pris en charge |
Index |
Pris en charge à des fins de performances ; les index sont mis à jour de manière synchrone lors de l’écriture |
L’optimisation des recherches indexe les colonnes pour améliorer les performances de recherche de points ; les lots sont mis à jour/gérés de manière asynchrone |
Quand utiliser une table hybride¶
Même si les tables standards Snowflake devraient offrir de meilleures performances en cas de requêtes analytiques volumineuses, les tables hybrides permettent d’obtenir des résultats plus rapides en cas de requêtes opérationnelles à court terme. Les types de requêtes suivants sont les plus susceptibles de bénéficier des tables hybrides :
Lectures de points aléatoires à haute simultanéité par rapport aux lectures de grandes plages.
Écritures aléatoires à haute simultanéité par rapport aux écritures séquentielles volumineuses (par exemple, chargement en masse).
Récupération d’un petit nombre d’enregistrements complets (par exemple, objet client) par rapport aux projections étroites avec des fonctions analytiques (par exemple, agrégations ou regroupements).
Si vos requêtes correspondent à l’un de ces modèles, les tables hybrides peuvent être la solution idéale pour stocker vos données.