Replicação de um Cortex Search Service

O Cortex oferece suporte à replicação de Cortex Search Services de uma conta de origem para uma ou mais contas de destino na mesma organização. Essa replicação é perfeitamente integrada aos grupos de replicação e failover do Snowflake para fornecer consistência pontual para os objetos na conta de destino. Para obter mais informações sobre replicação e failover, consulte Introdução à replicação e failover em várias contas.

Um serviço de pesquisa será automaticamente replicado se o banco de dados pai estiver em um grupo de replicação ou failover. Os seguintes comportamentos se aplicam a todos os Cortex Search Services replicados:

  • Um Cortex Search Service replicado é somente leitura. Não são permitidos comandos ALTER ou DROP diretos na entidade replicada.

  • Um Cortex Search Service replicado é sincronizado com o serviço primário de acordo com o cronograma de replicação. Especificamente, se a réplica primária descartar o serviço, o serviço secundário também será descartado durante a atualização da replicação.

  • Poderá haver custos relacionados à replicação pela transferência de dados e recursos de computação durante a replicação. Não há custos adicionais para a indexação do Cortex Search. Para obter mais informações, consulte Explicação dos custos de replicação.

  • O status do serviço, a capacidade de consulta e o faturamento do serviço de um Cortex Search Service replicado variam entre grupos de replicação e grupos de failover:

Grupo de replicação

Grupo de failover

Status do serviço

Herda o status do serviço de origem. Se o serviço de origem estiver ativo, o serviço replicado também estará ativo.

Sempre suspenso até que o grupo de failover seja promovido a primário.

Capacidade de consulta

Consultável após um atraso de até 10 minutos depois que a replicação é concluída.

Não consultável até ser promovido a primário.

Custos do serviço

Cobrança de custos se o status do serviço de origem é ativo.

Sem custos de serviço até ser promovido a primário.

Para obter mais informações sobre grupos de replicação e failover, consulte CREATE REPLICATION GROUP.

Criar um Cortex Search Service replicado usando um grupo de replicação

Para criar um Cortex Search Service replicado, crie um grupo de replicação que inclua o banco de dados pai do serviço.

  1. Crie um grupo de replicação na conta primária.

    CREATE REPLICATION GROUP myrg
        OBJECT_TYPES = DATABASES
        ALLOWED_DATABASES = <database1>
        ALLOWED_ACCOUNTS = <org-name>.<secondary-account>
        REPLICATION_SCHEDULE = '60 MINUTE';
    
  2. Na conta secundária, execute o seguinte comando para criar uma réplica do banco de dados da conta primária na conta secundária.

    CREATE REPLICATION GROUP myrg
        AS REPLICA OF <org-name>.<primary-account>.myrg;
    
  3. Na conta secundária, atualize manualmente a réplica.

    ALTER REPLICATION GROUP myrg REFRESH;
    
  4. Crie um Cortex Search Service no banco de dados primário. Para obter mais informações, consulte CREATE CORTEX SEARCH SERVICE. O serviço de pesquisa é replicado automaticamente de acordo com o cronograma de replicação.

Criar um Cortex Search Service replicado usando um grupo de failover

Os grupos de failover permitem que você faça backup de seus dados em uma conta adicional sem usar ou pagar pelos serviços replicados. Com um grupo de failover, você pode ativar o failover somente quando necessário para retomar as operações. Para criar um grupo de failover para o Cortex Search Service, crie um grupo de failover que inclua o banco de dados pai do serviço.

  1. Crie um grupo de failover na conta primária.

    CREATE FAILOVER GROUP myrg
        OBJECT_TYPES = DATABASES
        ALLOWED_DATABASES = <database1>
        ALLOWED_ACCOUNTS = <org-name>.<secondary-account>
        REPLICATION_SCHEDULE = '60 MINUTE';
    
  2. Na conta secundária, execute o seguinte comando para criar um failover do banco de dados da conta primária na conta secundária.

    CREATE FAILOVER GROUP myrg
        AS REPLICA OF <org-name>.<primary-account>.myrg;
    
  3. Na conta secundária, atualize manualmente o grupo de failover.

    ALTER FAILOVER GROUP myrg REFRESH;
    
  4. Crie um Cortex Search Service no banco de dados primário. Para obter mais informações, consulte CREATE CORTEX SEARCH SERVICE. O serviço de pesquisa é replicado automaticamente de acordo com o cronograma de replicação.

  5. No momento da recuperação de desastre, execute o seguinte sql na conta secundária para torná-la a nova conta primária. O serviço replicado será ativado e carregado no sistema de processamento para consulta.

    ALTER FAILOVER GROUP myrg PRIMARY;