Reprise après sinistre

Snowflake Connector for Google Analytics Aggregate Data est soumis aux Conditions de connecteur.

Le connecteur GAAD stocke les métadonnées relatives aux rapports configurés et à sa propre configuration au sein de l’instance de l’application. Lorsque l’application est abandonnée ou corrompue, cet état interne est perdu. Pour éviter cela, le connecteur exporte les métadonnées vers la base de données de destination en même temps que les données ingérées lors d’événements spécifiques, tels que les suivants :

  • Configuration d’un nouveau rapport

  • Suppression d’un rapport

  • Récupération de nouveaux lots de données de Google Analytics

  • Modification de la taille de la page de récupération d’un rapport

Le processus d’exportation crée plusieurs tables dans le schéma de destination pour stocker l’état interne du connecteur. Ces tables ne contiennent pas les données ingérées mais sont essentielles pour récupérer l’état du connecteur après l’abandon ou la corruption de l’application. Lorsqu’elles sont répliquées, ces tables peuvent également être utilisées pour récupérer l’état du connecteur sur un autre compte Snowflake. Les tables suivantes sont créées par le processus d’exportation :

  • APP_CONFIG_SFSDKEXPORT_V1

  • APP_STATE_SFSDKEXPORT_V1

  • CONNECTOR_ERRORS_LOG_SFSDKEXPORT_V1

  • INGESTION_PROCESS_SFSDKEXPORT_V1

  • INGESTION_RUN_SFSDKEXPORT_V1

  • NOTIFICATIONS_STATE_SFSDKEXPORT_V1

  • RESOURCE_INGESTION_DEFINITION_SFSDKEXPORT_V1

Importation de données et de rapports existants dans une nouvelle instance du connecteur.

Si le connecteur GAAD a été désinstallé ou corrompu, il est possible de reprendre l’ingestion des rapports configurés précédemment, à condition que la base de données de destination n’ait pas été abandonnée. Les métadonnées des rapports configurés dans le connecteur sont enregistrées dans la base de données de destination en même temps que les données ingérées. Pour continuer à ingérer des données après l’installation d’une nouvelle instance de connecteur, procédez comme suit :

  1. Configurez le connecteur.

    Configurez le connecteur en suivant les instructions de Installer et configurer Snowflake Connector for Google Analytics Aggregate Data. Lorsque vous choisissez la base de données et le schéma de destination, sélectionnez le schéma existant qui contient les données ingérées par l’instance précédente du connecteur.

  2. Accordez les privilèges nécessaires au connecteur.

    Note

    Cette étape n’est pas nécessaire si vous avez installé et configuré le nouveau connecteur à l’aide de Snowsight. Exécutez-la uniquement si vous avez installé le connecteur à l’aide de commandes SQL.

    Exécutez la commande suivante pour vous assurer que le connecteur GAAD récemment installé devienne le propriétaire de tous les objets du schéma existant :

    system$grant_ownership_to_application('your_application_instance', true, 'database', 'schema');
    
    Copy

    base de données et schéma sont les noms de la base de données et du schéma existants, respectivement.

  3. Mettez en pause le connecteur.

    call pause_connector();
    
    Copy
  4. Importez les données et les rapports existants.

    Importez les données et les rapports existants en exécutant la commande suivante à partir du contexte de l’application installée :

    call import_state(force => true);
    
    Copy

    Le paramètre force est défini sur true afin de garantir que toute modification qui aurait pu être apportée au connecteur récemment installé soit remplacée par les rapports et les données internes de l’ancienne installation.

  5. Reprendre le connecteur

    call resume_connector();
    
    Copy

À ce stade, la nouvelle instance du connecteur Snowflake Connector for Google Analytics Aggregate Data doit reprendre l’ingestion des rapports existants.

Réplication de la base de données de destination et de l’état du connecteur vers un autre déploiement Snowflake

Cette section décrit les étapes à suivre pour répliquer le contenu de la base de données de destination. La base de données de destination contient les données ingérées et les métadonnées des rapports configurés dans le connecteur. Si le connecteur ou les données téléchargées par le connecteur GAAD sont vitales pour votre entreprise, envisagez de paramétrer un compte Snowflake secondaire dans une autre région et de répliquer la base de données de destination sur le compte secondaire.

Termes et définitions

  • Base de données de destination : base de données configurée comme cible pour les données ingérées par le connecteur GAAD. C’est également vers cette base de données que l’état interne du connecteur est exporté.

  • Base de données réceptrice : schéma configuré comme cible pour les données ingérées par le connecteur GAAD.

  • État interne : configuration et données internes du connecteur GAAD, par exemple les configurations de rapport, l’état d’ingestion et les journaux d’erreurs.

  • Instance GAAD : instance du connecteur Snowflake Connector for Google Analytics Aggregate Data installée sur le compte Snowflake.

  • GAAD - Snowflake Connector for Google Analytics Aggregate Data

  • ACCOUNT_PRIM : exemple de nom de compte principal

  • ACCOUNT_SEC : exemple de nom de compte secondaire (réplica)

  • APP_PRIM : exemple de nom de l’instance du connecteur Snowflake Connector for Google Analytics Aggregate Data installée sur le compte principal

  • APP_SEC : exemple de nom de l’instance du connecteur Snowflake Connector for Google Analytics Aggregate Data installée sur le compte secondaire

  • DST_DB.DST_SCHEMA : exemple de nom de schéma de destination pour l’instance GAAD (où les données sont ingérées et l’état interne du connecteur est sauvegardé)

  • DST_DB : exemple de nom de base de données de destination configurée pour le connecteur GAAD

  • MYORG : exemple de nom de votre organisation (les deux comptes doivent appartenir à la même organisation)

Introduction

Lorsqu’il est installé sur votre compte, le connecteur Snowflake Connector for Google Analytics Aggregate Data (instance GAAD) se présente comme une base de données normale contenant des données, des procédures, etc. Cependant, il ne peut pas être répliqué sur un compte secondaire de la même manière qu’une base de données ordinaire. Actuellement, il n’existe pas de mécanisme natif permettant de répliquer l’instance GAAD avec son état interne sur un compte réplica. Plus précisément, l’application installée ne peut pas être ajoutée à un groupe de réplication.

Au lieu de répliquer directement l’instance GAAD, le connecteur exporte les métadonnées des rapports configurés vers le schéma de destination configuré lors du processus de configuration du connecteur. L’état y est sauvegardé et peut être répliqué en même temps que les données ingérées.

Par exemple, si vous avez configuré le connecteur pour ingérer des données dans le schéma de destination DEST_DATABASE.PUBLIC, le connecteur enregistre automatiquement son état interne dans ce schéma. Vous pouvez ensuite répliquer les données ingérées et l’état interne à l’aide de la commande suivante :

create replication group gaad_dest_database_group
  object_types = databases
  allowed_databases = dst_db
  allowed_accounts = ...;
Copy

Paramétrage de la réplication des données ingérées et des rapports configurés

Note

Testez toujours vos procédures de reprise après sinistre pour vérifier que la réplication des données et des états fonctionne comme prévu.

Note

Les sections suivantes contiennent des instructions applicables à toutes les versions de Snowflake.

Note

Avant de poursuivre, familiarisez-vous avec la réplication Snowflake https://docs.snowflake.com/en/user-guide/account-replication-intro

  1. Installation de GAAD sur le compte principal

    Installez et configurez Snowflake Connector for Google Analytics Aggregate Data sur le compte principal. Pour des instructions détaillées, voir Installer et configurer Snowflake Connector for Google Analytics Aggregate Data.

    Sur le compte principal, créez un groupe de réplication et ajoutez DST_DB comme base de données autorisée :

    -- on primary account
    create replication group gaad_rep_group_prim
      object_types = databases
      allowed_databases = dst_db
      allowed_accounts = myorg.account_sec
      replication_schedule = '10 minute';
    
    Copy
  2. Paramétrage de la réplication sur le compte secondaire

    Pour répliquer DST_DB du compte principal vers le compte secondaire, créez un nouveau groupe de réplication sur le compte secondaire :

    -- on secondary account
    create replication group gaad_rep_group_sec
      as replica of myorg.account_prim.gaad_rep_group_prim;
    
    alter replication group gaad_rep_group_sec refresh;
    
    Copy

    À ce stade, une base de données DST_DB en lecture seule doit être créée sur le compte secondaire, et les données du compte principal seront répliquées selon la planification configurée.

  3. Installation de GAAD sur le compte secondaire

    Installez et configurez Snowflake Connector for Google Analytics Aggregate Data sur le compte secondaire de la même manière que sur le compte principal. Pointez l’instance pour qu’elle ingère des données dans la base de données et le schéma répliqués. Tant que la réplication est en cours (jusqu’à ce que le groupe de réplication du compte secondaire soit supprimé), la base de données est en mode lecture seule. GAAD peut être configuré pour utiliser une base de données en lecture seule comme cible d’ingestion ; cependant, il ne peut pas ingérer de données tant que la base de données ne passe pas en mode lecture-écriture.

    Après avoir configuré le connecteur sur le compte secondaire, mettez le connecteur en pause en exécutant :

    -- on secondary account
    call pause_connector();
    
    Copy

    À ce stade, le connecteur GAAD est installé et prêt à prendre le relais en cas de défaillance du compte principal.

Procédure de récupération

Lorsque le déploiement principal devient indisponible, configurez l’instance GAAD sur le compte secondaire pour continuer l’ingestion.

Note

Toutes les étapes doivent être exécutées sur le compte secondaire.

  1. Supprimer le groupe de réplication

    Supprimez le groupe de réplication sur le compte secondaire pour faire passer la base de données répliquée en mode lecture-écriture :

    drop replication group gaad_rep_group_sec;
    
    Copy
  2. Accorder la propriété d’objets existants de la base de données au connecteur

    Accordez la propriété de tous les objets du schéma répliqué au connecteur GAAD en exécutant :

    call system$grant_ownership_to_application('app_sec', true, 'dst_db', 'dst_schema');
    
    Copy
  3. Importer l’état

    Initialisez le connecteur avec l’état répliqué à partir du compte principal :

    call import_state(false);
    
    Copy
  4. Reprendre le connecteur

    Reprenez le connecteur en exécutant :

    call resume_connector();
    
    Copy

    À ce stade, le connecteur GAAD du compte secondaire doit reprendre l’ingestion des données, là où le connecteur GAAD du compte principal s’est arrêté.

    Note

    Assurez-vous que le compte principal et le compte secondaire fassent partie de la même organisation. La planification de la réplication peut être adaptée en fonction de vos exigences.