Backup e restauração 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. Todos os backups são armazenados separadamente em um serviço de armazenamento, e esses backups são replicados 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 o backup de dados

As etapas a seguir mostram como o Azure Cosmos DB executa o backup de dados:

  • O Azure Cosmos DB faz automaticamente um backup completo do seu banco de dados a cada 4 horas e, a qualquer momento, apenas os dois backups mais recentes são armazenados por padrão. Se os intervalos padrão não forem suficientes para suas cargas de trabalho, você poderá alterar o intervalo de backup e o período de retenção no portal do Azure. Você pode alterar a configuração de backup durante ou após a criação da conta do Azure Cosmos DB. Se o contêiner ou banco de dados for excluído, o Azure Cosmos DB reterá os instantâneos existentes de um determinado contêiner de taxa de transferência provisionada ou banco de dados de taxa de transferência compartilhado por 30 dias. Se a taxa de transferência for provisionada no nível do banco de dados, o processo de backup e restauração acontecerá em todo o escopo do banco de dados.

  • O Azure Cosmos DB armazena esses backups no armazenamento de Blob do Azure enquanto os dados reais residem localmente no Azure Cosmos DB.

  • Para garantir baixa latência, o instantâneo do backup é armazenado no armazenamento de Blob do Azure na mesma região que a região de gravação atual (ou uma das regiões de gravação, caso você tenha uma configuração de gravação 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, consulte o artigo Lista de pares com redundância geográfica de regiões do Azure. Não pode aceder diretamente a esta cópia de segurança. A equipe do Azure Cosmos DB restaura seu backup quando você solicita por meio de uma solicitação de suporte.

    A imagem a seguir mostra como um contêiner do Azure Cosmos DB com todas as três partições físicas primárias no oeste dos EUA. O backup do contêiner é feito em uma conta remota do Armazenamento de Blobs do Azure no oeste dos EUA e, em seguida, replicado para o leste dos EUA:

    Diagrama de backups completos periódicos feitos de várias entidades do Azure Cosmos DB no Armazenamento do Azure com redundância geográfica.

  • Os backups são feitos sem afetar o desempenho ou a disponibilidade do seu aplicativo. O Azure Cosmos DB executa o backup de dados em segundo plano sem consumir nenhuma taxa de transferência provisionada (RUs) extra ou afetar o desempenho e a disponibilidade do seu banco de dados.

Com o modo de backup periódico, os backups são feitos somente na região de gravação da sua conta do Azure Cosmos DB. A ação de restauração sempre restaura os dados em uma nova conta localizada na região de gravação da conta de origem.

O que é restaurado em 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 configuração de consistência da conta de banco de dados recém-restaurada será a mesma que as configurações de consistência da conta de banco de dados de origem.

O que não é restaurado?

As configurações a seguir não são restauradas após a recuperação point-in-time.

  • Um subconjunto de contêineres em um banco de dados de taxa de transferência compartilhado não pode ser restaurado. Todo o banco de dados pode ser restaurado como um todo.
  • Chaves de conta de banco de dados. A conta restaurada será gerada com novas chaves de conta de banco de dados.
  • Firewall, VNET, RBAC de plano de dados ou configurações de ponto final privado.
  • Regiões. A conta restaurada será apenas uma conta de região única, que é a região de gravação da conta de origem.
  • Procedimentos armazenados, gatilhos, UDFs.
  • Atribuições de controle de acesso baseadas em função. Estes terão de ser reatribuídos.
  • Documentos que foram excluídos devido ao TTL expirado.
  • Dados analíticos quando o link de sinapse está ativado.
  • Vistas materializadas

Algumas dessas configurações podem ser adicionadas à conta restaurada após a conclusão da restauração.

Para contas habilitadas para o Azure Synapse Link, os dados de armazenamento analítico não são incluídos nos backups e restaurações. Quando o Azure Synapse Link está habilitado, o Azure Cosmos DB continua a fazer backups automaticamente de seus dados no repositório transacional em um intervalo de backup agendado. O backup e a restauração automáticos de seus dados no repositório analítico não são suportados no momento.

Compreender o custo dos backups

Dois backups são fornecidos gratuitamente e backups extras são cobrados de acordo com o preço baseado na região para armazenamento de backup descrito em Preço de armazenamento de backup.

Por exemplo, considere um cenário em que a retenção de backup é configurada para 240 horas (ou 10 dias) e o intervalo de backup é configurado para 24 horas. Esta configuração implica que existem 10 cópias dos dados de backup. Se você tiver 1 TB de dados em uma região do Azure West US, o custo do armazenamento de backup em um determinado mês será: 0.12 * 1000 * 8

Permissões necessárias para gerenciar a retenção ou restauração

Os principais que fazem parte da função CosmosdbBackupOperator, proprietário ou colaborador têm permissão para solicitar uma restauração ou alterar o período de retenção.

Gerenciando manualmente backups periódicos no Azure Cosmos DB

Com a API do Azure Cosmos DB para contas NoSQL, você também pode manter seus próprios backups usando uma das seguintes abordagens:

Azure Data Factory

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

Feed de alterações do Azure Cosmos DB

Use o feed de alterações do Azure Cosmos DB para ler dados periodicamente para backups completos ou alterações incrementais e armazená-los em seu próprio armazenamento.

Próximos passos