Répliquer un Cortex Search Service

Cortex prend en charge la réplication des Cortex Search Services d’un compte source vers un ou plusieurs comptes cibles dans la même organisation. Cette réplication est intégrée de manière transparente aux groupes de réplication et de basculement Snowflake pour fournir une cohérence ponctuelle aux objets sur le compte cible. Pour plus d’informations sur la réplication et le basculement, consultez Présentation de la réplication et du basculement à travers plusieurs comptes.

Un service de recherche est automatiquement répliqué si la base de données parent se trouve dans un groupe de réplication ou de basculement. Un service de recherche automatiquement répliqué suit les mêmes comportements que les autres entités répliquées.

  • Un Cortex Search Service répliqué est en lecture seule. Aucune commande directe ALTER ou DROP n’est autorisée sur l’entité répliquée.

  • Un Cortex Search Service répliqué se synchronise avec le service principal selon la planification de la réplication. Plus précisément, si la réplique principale supprime le service, le service secondaire est également supprimé lors de l’actualisation de la réplication.

  • Une fois la réplication terminée, il peut y avoir un délai de 10 minutes avant que le système de service charge le service répliqué. Une fois le service chargé, un Cortex Search Service répliqué peut être interrogé comme un service normal.

    Note

    Les services répliqués dans les groupes de basculement sont suspendus dans le service et ne sont pas interrogeables. Ces services répliqués sont réactivés une fois que le groupe de basculement devient le nouveau groupe principal.

  • Des coûts liés à la réplication peuvent être appliqués pour le transfert de données et les ressources de calcul pendant la réplication. Les coûts de service de Cortex Search Service sont similaires à ceux du service principal. Il n’y a pas de coûts supplémentaires pour l’indexation Cortex Search. Pour plus d’informations, voir Compréhension du coût de réplication.

Pour plus d’informations sur les groupes de réplication et de basculement, consultez CREATE REPLICATION GROUP.

Créer un Cortex Search Service répliqué

Pour créer un Cortex Search Service répliqué, créez un groupe de réplication qui inclut la base de données parent du service.

  1. Créez un groupe de réplication dans le compte principal.

    CREATE REPLICATION GROUP myrg
        OBJECT_TYPES = DATABASES
        ALLOWED_DATABASES = <database1>
        ALLOWED_ACCOUNTS = <org-name>.<secondary-account>
        REPLICATION_SCHEDULE = '60 MINUTE';
    
    Copy
  2. À partir du compte secondaire, exécutez la commande suivante pour créer une réplique de la base de données du compte principal dans le compte secondaire.

    CREATE REPLICATION GROUP myrg
        AS REPLICA OF <org-name>.<primary-account>.myrg;
    
    Copy
  3. À partir du compte secondaire, actualisez manuellement la réplique.

    ALTER REPLICATION GROUP myrg REFRESH;
    
    Copy
  4. Créer un Cortex Search Service dans la base de données principale. Pour plus d’informations, voir CREATE CORTEX SEARCH SERVICE. Le service de recherche est automatiquement répliqué conformément à la planification de la réplication.

Créer un groupe de basculement

Les groupes de basculement vous permettent de sauvegarder vos données dans un compte supplémentaire sans utiliser ou payer pour les services répliqués. Avec un groupe de basculement, vous pouvez activer le basculement uniquement lorsque cela est nécessaire pour reprendre les opérations. Pour créer un groupe de basculement pour le Cortex Search Service, créez un groupe de basculement qui inclut la base de données parente du service.

  1. Créez un groupe de basculement dans le compte principal.

    CREATE FAILOVER GROUP myrg
        OBJECT_TYPES = DATABASES
        ALLOWED_DATABASES = <database1>
        ALLOWED_ACCOUNTS = <org-name>.<secondary-account>
        REPLICATION_SCHEDULE = '60 MINUTE';
    
    Copy
  2. À partir du compte secondaire, exécutez la commande suivante pour créer un basculement de la base de données du compte principal dans le compte secondaire.

    CREATE FAILOVER GROUP myrg
        AS REPLICA OF <org-name>.<primary-account>.myrg;
    
    Copy
  3. À partir du compte secondaire, actualisez manuellement le groupe de basculement.

    ALTER FAILOVER GROUP myrg REFRESH;
    
    Copy
  4. Créer un Cortex Search Service dans la base de données principale. Pour plus d’informations, voir CREATE CORTEX SEARCH SERVICE. Le service de recherche est automatiquement répliqué conformément à la planification de la réplication.

  5. Au moment de la reprise après sinistre, exécutez le sql suivant dans le compte secondaire pour en faire le nouveau compte principal. Le service répliqué sera activé et chargé dans le système de service à interroger.

    ALTER FAILOVER GROUP myrg PRIMARY;
    
    Copy