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:
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.
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');
Em que banco de dados e esquema são os nomes do banco de dados e do esquema existentes, respectivamente.
Pause o conector.
call pause_connector();
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);
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.
Retomar o conector
call resume_connector();
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 = ...;
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
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';
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;
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.
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();
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.
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;
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');
Importar o estado
Inicialize o conector com o estado replicado da conta primária:
call import_state(false);
Retomar o conector
Retome o conector executando:
call resume_connector();
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.