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.

Architecture Unistore

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.