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:
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.
Backup do Azure Cosmos DB com o Azure Synapse Link
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.