Cópia de segurança e restauro periódicos no Azure Cosmos DB

APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela

O Azure Cosmos DB tira automaticamente cópias de segurança dos dados em intervalos regulares. As cópias de segurança automáticas são feitas sem afetar o desempenho ou a disponibilidade das operações da base de dados. Todas as cópias de segurança são armazenadas separadamente num serviço de armazenamento e essas cópias de segurança são replicadas globalmente para resiliência contra desastres regionais. Com o Azure Cosmos DB, não só os seus dados, mas também as cópias de segurança dos seus dados são altamente redundantes e resilientes a desastres regionais.

Como o Azure Cosmos DB executa a cópia de segurança de dados

Os passos seguintes mostram como o Azure Cosmos DB efetua a cópia de segurança de dados:

  • O Azure Cosmos DB faz automaticamente uma cópia de segurança completa da base de dados a cada 4 horas e, em qualquer momento, apenas as duas cópias de segurança mais recentes são armazenadas por predefinição. Se os intervalos predefinidos não forem suficientes para as cargas de trabalho, pode alterar o intervalo da cópia de segurança e o período de retenção do portal do Azure. Pode alterar a configuração da cópia de segurança durante ou após a criação da conta do Azure Cosmos DB. Se o contentor ou base de dados for eliminado, o Azure Cosmos DB mantém os instantâneos existentes de um determinado contentor de débito aprovisionado ou base de dados de débito partilhado durante 30 dias. Se o débito for aprovisionado ao nível da base de dados, o processo de cópia de segurança e restauro ocorrerá em todo o âmbito da base de dados.

  • O Azure Cosmos DB armazena estas cópias de segurança no armazenamento de Blobs do Azure, ao passo que os dados reais residem localmente no Azure Cosmos DB.

  • Para garantir baixa latência, o instantâneo da cópia de segurança é armazenado no armazenamento de Blobs do Azure na mesma região que a região de escrita atual (ou numa das regiões de escrita, caso tenha uma configuração de escrita de várias regiões). Para obter resiliência face a desastres regionais, cada instantâneo dos dados de cópia de segurança no Armazenamento de blobs do Azure é replicado de novo para outra região através do armazenamento georredundante (GRS). A região para a qual a cópia de segurança é replicada depende da região de origem e do par regional associado a essa região. Para saber mais, veja a lista de pares georredundantes das regiões do Azure . Não pode aceder diretamente a esta cópia de segurança. A equipa do Azure Cosmos DB restaura a cópia de segurança quando pede através de um pedido de suporte.

    A imagem seguinte mostra como um contentor do Azure Cosmos DB com as três principais partições físicas nos E.U.A. Oeste. É efetuada uma cópia de segurança do contentor numa conta de Armazenamento de Blobs do Azure remota nos E.U.A. Oeste e, em seguida, replicado para e.U.A. Leste:

    Diagrama de cópias de segurança completas periódicas obtidas de várias entidades do Azure Cosmos DB no Armazenamento do Azure georredundante.

  • As cópias de segurança são efetuadas sem afetar o desempenho ou a disponibilidade da sua aplicação. O Azure Cosmos DB efetua a cópia de segurança de dados em segundo plano sem consumir qualquer débito aprovisionado adicional (RUs) ou afetar o desempenho e a disponibilidade da base de dados.

Com o modo de cópia de segurança periódico, as cópias de segurança são feitas apenas na região de escrita da sua conta do Azure Cosmos DB. A ação de restauro restaura sempre os dados para uma nova conta localizada na região de escrita da conta de origem.

O que é restaurado para uma nova conta?

  • Pode optar por restaurar qualquer combinação de contentores de débito aprovisionados, bases de dados de débito partilhadas ou a conta inteira.
  • A ação de restauro restaura todos os dados, bem como as propriedades de índice, para uma nova conta.
  • A duração do restauro dependerá da quantidade de dados que precisam de ser restaurados.
  • A definição de consistência da conta de base de dados recentemente restaurada será igual às definições de consistência da conta de base de dados de origem.

O que não é restaurado?

As seguintes configurações não são restauradas após a recuperação para um ponto anterior no tempo.

  • Não é possível restaurar um subconjunto de contentores numa base de dados de débito partilhado. Toda a base de dados pode ser restaurada como um todo.
  • Chaves da conta de base de dados. A conta restaurada será gerada com novas chaves de conta de base de dados.
  • Firewall, VNET, RBAC do plano de dados ou definições de ponto final privado.
  • Regiões. A conta restaurada será apenas uma conta de região única, que é a região de escrita da conta de origem.
  • Procedimentos armazenados, acionadores, UDFs.
  • Atribuições de controlo de acesso baseado em funções. Estes terão de ser reatribuídas.
  • Documentos que foram eliminados devido a TTL expirado.
  • Dados analíticos quando a ligação do synapse está ativada.
  • Vistas materializadas

Algumas destas configurações podem ser adicionadas à conta restaurada após a conclusão do restauro.

Para Azure Synapse contas ativadas para Ligação, os dados do arquivo analítico não estão incluídos nas cópias de segurança e nos restauros. Quando o Azure Synapse Link está ativado, o Azure Cosmos DB continua a efetuar automaticamente cópias de segurança dos seus dados no arquivo transacional num intervalo de cópia de segurança agendado. A cópia de segurança e o restauro automáticos dos seus dados no arquivo analítico não são suportados neste momento.

Compreender o custo das cópias de segurança

São fornecidas duas cópias de segurança gratuitas e são cobradas cópias de segurança adicionais de acordo com os preços baseados na região para o armazenamento de cópias de segurança descritos nos preços do armazenamento de cópias de segurança.

Por exemplo, considere um cenário em que a Retenção de Cópia de Segurança está configurada para 240 horas (ou 10 dias) e o Intervalo de Cópia de Segurança está configurado para 24 horas. Esta configuração implica que existem 10 cópias dos dados de cópia de segurança. Se tiver 1 TB de dados numa região do Azure E.U.A. Oeste, o custo do armazenamento de cópias de segurança num determinado mês será: 0.12 * 1000 * 8

Permissões necessárias para gerir a retenção ou o restauro

Os principais que fazem parte da função CosmosdbBackupOperator, proprietário ou contribuidor têm permissão para pedir um restauro ou alterar o período de retenção.

Gerir manualmente cópias de segurança periódicas no Azure Cosmos DB

Com a API do Azure Cosmos DB para contas NoSQL, também pode manter as suas próprias cópias de segurança com uma das seguintes abordagens:

Azure Data Factory

Utilize Azure Data Factory para mover dados periodicamente para uma solução de armazenamento à sua escolha.

Feed de alterações do Azure Cosmos DB

Utilize o feed de alterações do Azure Cosmos DB para ler dados periodicamente para cópias de segurança completas ou para alterações incrementais e armazene-os no seu próprio armazenamento.

Passos seguintes