Recuperação em caso de desastre

O Snowflake Connector para Google Analytics Aggregate Data está sujeito aos Termos do conector.

O conector do GAAD armazena metadados sobre relatórios configurados e sua própria configuração na instância do aplicativo. Quando o aplicativo é descartado ou corrompido, esse estado interno é perdido. Para evitar isso, o conector exporta os metadados para o banco de dados de destino junto com os dados ingeridos durante eventos específicos, como os seguintes:

  • Configuração de um novo relatório

  • Exclusão de um relatório

  • Obtenção de novos lotes de dados do Google Analytics

  • Alteração do tamanho da página de busca de um relatório

O processo de exportação cria várias tabelas no esquema de destino para armazenar o estado interno do conector. Essas tabelas não contêm os dados ingeridos, mas são essenciais para recuperar o estado do conector depois que o aplicativo é descartado ou corrompido. Quando replicadas, essas tabelas também podem ser usadas para recuperar o estado do conector em uma conta diferente do Snowflake. As tabelas a seguir são criadas pelo processo de exportação:

  • 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

Importação de dados e relatórios existentes para uma nova instância do conector.

Se o conector do GAAD tiver sido desinstalado ou corrompido, é possível retomar a ingestão de relatórios configurados anteriormente, desde que o banco de dados de destino não tenha sido descartado. Os metadados dos relatórios configurados no conector são salvos no banco de dados de destino junto com os dados ingeridos. Para continuar a ingerir dados após a instalação de uma nova instância do conector, siga estas etapas:

  1. Configure o conector.

    Configure o conector seguindo as instruções em Instalação e configuração do Snowflake Connector for Google Analytics Aggregate Data. Ao escolher o banco de dados e o esquema de destino, selecione o esquema existente que contém os dados ingeridos pela instância anterior do conector.

  2. Conceda os privilégios necessários ao conector.

    Nota

    Essa etapa não é necessária se você instalou e configurou o novo conector usando a Snowsight. Execute-o somente se você tiver instalado o conector usando os comandos SQL.

    Execute o seguinte comando para garantir que o conector do GAAD recém-instalado se torne o proprietário de todos os objetos no esquema existente:

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

    Em que banco de dados e esquema são os nomes do banco de dados e do esquema existentes, respectivamente.

  3. Pause o conector.

    call pause_connector();
    
    Copy
  4. Importe os dados e relatórios existentes.

    Importe os dados e relatórios existentes executando o seguinte comando no contexto do aplicativo instalado:

    call import_state(force => true);
    
    Copy

    O parâmetro força é definido como verdadeiro para garantir que quaisquer alterações que possam ter sido feitas no conector recém-instalado sejam substituídas pelos relatórios e dados internos da instalação antiga.

  5. Retomar o conector

    call resume_connector();
    
    Copy

Nesse momento, a nova instância do conector do Snowflake Connector for Google Analytics Aggregate Data deve retomar a ingestão dos relatórios existentes.

Replicação do banco de dados de destino e o estado do conector para outra implantação do snowflake

Esta seção descreve as etapas para replicar o conteúdo do banco de dados de destino. O banco de dados de destino contém os dados ingeridos e os metadados dos relatórios configurados no conector. Se o conector ou os dados baixados pelo conector do GAAD forem essenciais para sua empresa, considere a possibilidade de configurar uma conta secundária do Snowflake em uma região diferente e replicar o banco de dados de destino para a conta secundária.

Termos e definições

  • Banco de dados de destino - o banco de dados configurado como o destino dos dados ingeridos pelo conector do GAAD. Esse também é o banco de dados para o qual o estado interno do conector é exportado.

  • Banco de dados coletor - o esquema configurado como o destino dos dados ingeridos pelo conector do GAAD.

  • Estado interno - os dados internos e a configuração do conector do GAAD, por exemplo, configurações de relatórios, estado de ingestão e registros de erros.

  • Instância GAAD - a instância do conector do Snowflake Connector for Google Analytics Aggregate Data instalada na conta Snowflake.

  • GAAD - Snowflake Connector for Google Analytics Aggregate Data

  • ACCOUNT_PRIM - exemplo de nome da conta primária

  • ACCOUNT_SEC - exemplo de nome da conta secundária (réplica)

  • APP_PRIM - exemplo de nome da instância do conector do Snowflake Connector for Google Analytics Aggregate Data instalado na conta primária

  • APP_SEC - exemplo de nome da instância do conector Snowflake Connector for Google Analytics Aggregate Data instalado na conta secundária

  • DST_DB.DST_SCHEMA - exemplo de nome do esquema de destino para a instância do GAAD (onde os dados são ingeridos e o estado interno do conector é salvo)

  • DST_DB - exemplo de nome do banco de dados de destino configurado para o conector GAAD

  • MYORG - exemplo de nome da sua organização (ambas as contas devem estar na mesma organização)

Introdução

Quando instalado em sua conta, o conector do Snowflake Connector for Google Analytics Aggregate Data (instância do GAAD) aparece como um banco de dados regular que contém dados, procedimentos etc. No entanto, ele não pode ser replicado para uma conta secundária da mesma forma que um banco de dados normal. Atualmente, não há nenhum mecanismo nativo para replicar a instância do GAAD com seu estado interno para uma conta de réplica. Especificamente, o aplicativo instalado não pode ser adicionado a um grupo de replicação.

Em vez de replicar a instância do GAAD diretamente, o conector exporta os metadados dos relatórios configurados para o esquema de destino configurado durante o processo de configuração do conector. O estado é salvo lá e pode ser replicado junto com os dados ingeridos.

Por exemplo, se você configurou o conector para ingerir dados no esquema de destino DEST_DATABASE.PUBLIC, o conector salva automaticamente seu estado interno nesse esquema. Em seguida, você pode replicar os dados ingeridos e o estado interno usando o seguinte comando:

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

Configuração da replicação de dados ingeridos e relatórios configurados

Nota

Sempre teste seus procedimentos de recuperação de desastres para verificar se a replicação de dados e de estado está funcionando conforme o esperado.

Nota

As seções a seguir contêm instruções aplicáveis a todas as versões do Snowflake.

Nota

Antes de continuar, familiarize-se com a Replicação do Snowflake https://docs.snowflake.com/en/user-guide/account-replication-intro

  1. Instalação do GAAD na conta primária

    Instale e configure o Snowflake Connector for Google Analytics Aggregate Data na conta primária. Para instruções detalhadas, consulte Instalação e configuração do Snowflake Connector for Google Analytics Aggregate Data.

    Na conta primária, crie um grupo de replicação e adicione DST_DB como um banco de dados permitido:

    -- 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. Configuração da replicação na conta secundária

    Para replicar o DST_DB da conta primária para a conta secundária, crie um novo grupo de replicação na conta secundária:

    -- 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

    Nesse momento, um banco de dados DST_DB somente leitura deve ser criado na conta secundária, e os dados da conta primária serão replicados de acordo com o cronograma configurado.

  3. Instalação do GAAD na conta secundária

    Instale e configure o Snowflake Connector for Google Analytics Aggregate Data na conta secundária da mesma forma que na conta primária. Direcione a instância para ingerir dados no banco de dados e no esquema replicados. Enquanto a replicação estiver em andamento (até que o grupo de replicação na conta secundária seja descartado), o banco de dados estará no modo somente leitura. O GAAD pode ser configurado para usar um banco de dados somente leitura como destino de ingestão; no entanto, ele não pode ingerir dados até que o banco de dados faça a transição para o modo de leitura e gravação.

    Depois de configurar o conector na conta secundária, pause o conector executando:

    -- on secondary account
    call pause_connector();
    
    Copy

    Nesse ponto, o conector do GAAD está instalado e pronto para assumir o controle se a conta primária falhar.

Procedimento de recuperação

Quando a implementação primária ficar indisponível, configure a instância do GAAD na conta secundária para continuar a ingestão.

Nota

Todas as etapas devem ser executadas na conta secundária.

  1. Remover o grupo de replicação

    Elimine o grupo de replicação na conta secundária para fazer a transição do banco de dados replicado para o modo de leitura e gravação:

    drop replication group gaad_rep_group_sec;
    
    Copy
  2. Conceder a propriedade de objetos de bancos de dados existentes ao conector

    Conceda a propriedade de todos os objetos no esquema replicado ao conector do GAAD executando:

    call system$grant_ownership_to_application('app_sec', true, 'dst_db', 'dst_schema');
    
    Copy
  3. Importar o estado

    Inicialize o conector com o estado replicado da conta primária:

    call import_state(false);
    
    Copy
  4. Retomar o conector

    Retome o conector executando:

    call resume_connector();
    
    Copy

    Nesse momento, o conector do GAAD na conta secundária deve retomar a ingestão de dados, continuando de onde o GAAD na conta primária parou.

    Nota

    Certifique-se de que as contas primária e secundária façam parte da mesma organização. O cronograma de replicação pode ser ajustado de acordo com seus requisitos.