Skip to content

Snowflake

Snowflake est un entrepôt de données SQL cloud spécialement conçu, fourni en tant que SaaS (Software-as-a-Service). Snowflake offre un entrepôt de données plus rapide, plus simple d’utilisation et bien plus flexible que les solutions traditionnelles. Grâce à son architecture unique et brevetée, Snowflake vous permet de centraliser facilement toutes vos données, d’effectuer des analyses rapides et d’en tirer des informations exploitables pour l’ensemble de vos utilisateurs.

Braze propose deux intégrations avec Snowflake. Ensemble, elles constituent un pipeline de données bidirectionnel complet entre vos environnements Braze et Snowflake.

Choisir une intégration

Partage de données (Braze vers Snowflake)

Le Secure Data Sharing de Snowflake vous donne un accès sécurisé et en temps réel aux données d’engagement et de Campaign de Braze directement dans votre instance Snowflake. Aucune donnée n’est copiée ni transférée entre les comptes : tout le partage s’effectue via la couche de services et le magasin de métadonnées propres à Snowflake.

Utilisez le partage de données lorsque vous souhaitez :

  • Interroger les données d’événements et de Campaign de Braze à l’aide de Snowflake SQL
  • Créer des rapports complexes et effectuer une modélisation d’attribution
  • Joindre les données de Braze à d’autres données dans votre entrepôt de données Snowflake
  • Comparer vos données d’engagement entre les canaux, les secteurs d’activité et les plateformes d’appareils

Pour les instructions de configuration, consultez Partage de données Snowflake.

Ingestion de données cloud (Snowflake vers Braze)

L’ingestion de données cloud (CDI) vous permet de synchroniser les données de votre instance Snowflake directement dans Braze. Cela vous permet de maintenir à jour les attributs utilisateur, les événements et les achats dans Braze avec votre entrepôt de données source de vérité.

Utilisez l’ingestion de données cloud lorsque vous souhaitez :

  • Synchroniser les attributs utilisateur de Snowflake vers les profils utilisateur de Braze
  • Envoyer des données d’événements ou d’achats de Snowflake vers Braze
  • Maintenir Braze synchronisé avec les transformations de données effectuées dans votre entrepôt de données
  • Éviter de créer et de maintenir des pipelines ETL personnalisés de Snowflake vers Braze

Pour en savoir plus sur le partage de données Snowflake, consultez Introduction to Secure Data Sharing.

Prérequis

Avant de pouvoir utiliser cette fonctionnalité, vous devrez remplir les conditions suivantes :

Condition Description
Accès à Braze Pour accéder à cette fonctionnalité dans Braze, vous devrez contacter votre gestionnaire de compte Braze ou votre CSM.
Compte Snowflake Un compte Snowflake avec les permissions admin. Pour les clients non-HIPAA, Snowflake Standard ou Enterprise Edition est pris en charge. Pour le partage de données conforme à la loi HIPAA, l’édition Business Critical est requise.

Configuration du partage sécurisé de données

Pour Snowflake, le partage de données s’effectue entre un fournisseur de données et un consommateur de données. Dans ce contexte, votre compte Braze est le fournisseur de données, car il crée et envoie le partage de données—tandis que votre compte Snowflake est le consommateur de données, car il utilise le partage de données pour créer une base de données. Pour plus de détails, consultez Snowflake : Consommer des données partagées.

Étape 1 : Envoyer le partage de données depuis Braze

  1. Dans Braze, accédez à Partner Integrations > Data Sharing.
  2. Saisissez les détails et le localisateur de votre compte Snowflake. Pour obtenir votre localisateur de compte, exécutez SELECT CURRENT_ACCOUNT() dans le compte de destination.
  3. Si vous utilisez un partage CRR, spécifiez le fournisseur cloud et la région.
  4. Lorsque vous avez terminé, sélectionnez Create Datashare. Cela enverra le partage de données à votre compte Snowflake.

Étape 2 : Créer la base de données dans Snowflake

  1. Après quelques minutes, vous devriez recevoir le partage de données entrant dans votre compte Snowflake.
  2. À l’aide du partage de données entrant, créez une base de données pour consulter et interroger les tables. Par exemple :
    1
    
     CREATE DATABASE <name> FROM SHARE <provider_account>.<share_name>
    
  3. Accordez les privilèges nécessaires pour interroger la nouvelle base de données.

Utilisation et visualisation

Une fois le partage de données provisionné, vous devrez créer une base de données à partir du partage de données entrant, ce qui rendra toutes les tables partagées visibles dans votre instance Snowflake et interrogeables comme n’importe quelle autre donnée stockée dans votre instance. Cependant, gardez à l’esprit que les données partagées sont en lecture seule et ne peuvent être qu’interrogées, mais en aucun cas modifiées ou supprimées.

Comme pour Currents, vous pouvez utiliser votre Snowflake Secure Data Sharing pour :

  • Créer des rapports complexes
  • Effectuer une modélisation d’attribution
  • Partager des données de manière sécurisée au sein de votre entreprise
  • Associer des données brutes d’événements ou d’utilisateurs à un CRM (comme Salesforce)
  • Et bien plus encore

Pour une liste complète des tables et colonnes disponibles, consultez la référence des tables SQL. Le partage de données Snowflake inclut toutes les tables de cette référence, ainsi que des tables supplémentaires exclusives à Snowflake pour les instantanés, les journaux de modifications de Campaign et Canvas, les événements de la console d’agent et les événements de nouvelle tentative de message.

Vous pouvez également télécharger les schémas de tables bruts sous forme de fichier texte.

Schéma d’identifiants utilisateur

Notez les différences suivantes entre les conventions de nommage de Braze et de Snowflake pour les identifiants utilisateur.

Schéma Braze Schéma Snowflake Description
braze_id "USER_ID" L’identifiant unique attribué automatiquement par Braze.
external_id "EXTERNAL_USER_ID" L’identifiant unique du profil d’un utilisateur, défini par le client.

Informations importantes et limitations

Modifications avec ou sans rupture

Modifications sans rupture

Les modifications non disruptives peuvent survenir à tout moment et apportent généralement des fonctionnalités supplémentaires. Voici des exemples de modifications non disruptives :

  • Ajout d’une nouvelle table ou vue
  • Ajout d’une colonne à une table ou une vue existante

Modifications avec rupture

Lorsque cela est possible, les changements majeurs sont précédés d’une annonce et d’une période de migration. Voici des exemples de changements majeurs :

  • Suppression d’une table ou d’une vue
  • Suppression d’une colonne d’une table ou d’une vue existante
  • Modification du type ou de la nullabilité d’une colonne existante

Régions Snowflake

Braze héberge actuellement toutes les données au niveau utilisateur dans les régions Snowflake AWS US East-1, EU-Central (Francfort), AP-Northeast-1 (Tokyo), AP-Southeast-2 (Sydney) et AP-Southeast-3 (Jakarta). Pour les utilisateurs situés en dehors de ces régions, Braze peut fournir un partage de données aux clients communs qui hébergent leur infrastructure Snowflake dans n’importe quelle région AWS, Azure ou GCP.

Conservation des données

Politique de conservation

Toute donnée datant de plus de deux ans sera archivée et déplacée vers un stockage à long terme. Dans le cadre du processus d’archivage, tous les événements sont anonymisés et les champs sensibles contenant des données d’identification personnelle (PII) sont supprimés (cela inclut les champs optionnellement PII tels que properties). Les données archivées contiennent toujours le champ user_id, ce qui permet des analyses par utilisateur sur l’ensemble des données d’événements.

Vous pourrez interroger les deux années les plus récentes de données pour chaque événement dans la vue USERS_*_SHARED correspondante. De plus, chaque événement disposera d’une vue USERS_*_SHARED_ALL qui peut être interrogée pour retourner à la fois les données anonymisées et non anonymisées.

Données historiques

L’archive des données d’événements historiques dans Snowflake remonte à avril 2019. Au cours des premiers mois où Braze stockait des données dans Snowflake, des modifications du produit ont été apportées, ce qui a pu entraîner des différences mineures dans certaines données ou la présence de valeurs nulles (car nous ne remplissions pas tous les champs disponibles à cette époque). Il est préférable de considérer que tout résultat incluant des données antérieures à août 2019 peut présenter de légères différences par rapport aux attentes.

Conformité au Règlement général sur la protection des données (RGPD)

Presque tous les enregistrements d’événements que Braze stocke incluent quelques champs représentant les informations personnelles identifiables (PII) des utilisateurs. Certains événements peuvent inclure l’adresse e-mail, le numéro de téléphone, l’ID de l’appareil, la langue, le sexe et les informations d’emplacement/localisation. Si la requête d’oubli d’un utilisateur est soumise à Braze, nous annulerons ces champs PII pour tout événement appartenant à ces utilisateurs. De cette façon, nous ne supprimons pas l’historique de l’événement, mais celui-ci ne peut plus jamais être lié à une personne en particulier.

Interrogation des données partagées : TIME et performances des requêtes

Les données d’événements dans les vues de partage de données (par exemple, USERS_BEHAVIORS_CUSTOMEVENT_SHARED) sont regroupées (clustered) sur le champ TIME. Lorsque vous filtrez par date de l’événement, utilisez TIME comme filtre privilégié. Les requêtes qui restreignent les lignes en utilisant TIME sont généralement plus performantes que celles qui filtrent sur SF_CREATED_AT, car le regroupement est aligné sur l’heure de l’événement.

Champ Signification
TIME Horodatage Unix correspondant au moment où l’événement s’est produit. À privilégier pour filtrer par date d’occurrence.
SF_CREATED_AT Horodatage du moment où la ligne a été chargée dans Snowflake (heure d’ingestion).

Vitesse, performances et coût des requêtes

La vitesse, les performances et le coût de toute requête exécutée sur les données sont déterminés par la taille de l’entrepôt que vous utilisez pour interroger les données. Dans certains cas, selon le volume de données auquel vous accédez pour vos analyses, vous pourrez constater qu’il est nécessaire d’utiliser un entrepôt de taille supérieure pour que la requête aboutisse. Snowflake propose d’excellentes ressources sur la manière de déterminer la taille appropriée, notamment Overview of warehouses et Warehouse considerations.

Pour un ensemble d’exemples de requêtes à consulter lors de la configuration de Snowflake, référez-vous à nos exemples de requêtes types et de configuration du pipeline d’événements ETL.

Pour les instructions de configuration, consultez Cloud Data Ingestion : intégrations d’entrepôts de données.

New Stuff!