Backup e ripristino periodici in Azure Cosmos DB
SI APPLICA A: NoSQL MongoDB Cassandra Gremlin Tabella
Azure Cosmos DB esegue automaticamente il backup dei dati a intervalli regolari. I backup automatici vengono eseguiti senza impatto sulle prestazioni o sulla disponibilità delle operazioni del database. Tutti i backup sono archiviati separatamente in un servizio di archiviazione e replicati a livello globale per garantire la resilienza in caso di emergenze a livello di area. Con Azure Cosmos DB, non solo i dati ma anche i relativi backup sono altamente ridondanti e resilienti in caso di emergenze a livello di area.
In che modo Azure Cosmos DB esegue il backup dei dati
La procedura seguente descrive in che modo Azure Cosmos DB esegue il backup dei dati:
Azure Cosmos DB esegue automaticamente un backup completo del database ogni 4 ore, in qualsiasi punto temporale, ma per impostazione predefinita vengono archiviati solo gli ultimi due backup. Se gli intervalli predefiniti non sono sufficienti per i carichi di lavoro, l'intervallo di backup e il periodo di conservazione possono essere modificati dal portale di Azure. La configurazione del backup è modificabile durante o successivamente alla creazione dell'account di Azure Cosmos DB. In caso di eliminazione del contenitore o del database, Azure Cosmos DB mantiene gli snapshot esistenti di un determinato contenitore con velocità effettiva con provisioning o di un database con velocità effettiva condivisa per 30 giorni. Se viene effettuato il provisioning della velocità effettiva a livello di database, il processo di backup e ripristino avviene nell'intero ambito del database.
Azure Cosmos DB archivia questi backup in Archivio BLOB di Azure, mentre i dati effettivi si trovano in locale all'interno di Azure Cosmos DB.
Per garantire una bassa latenza, lo snapshot del backup viene archiviato in Archivio BLOB di Azure nella stessa area dell'area di scrittura corrente (o in una delle aree di scrittura, nel caso di una configurazione multi-area). Per garantire la resilienza in caso di emergenze a livello di area, ogni snapshot dei dati di backup nell'archivio BLOB di Azure viene a sua volta replicato in un'altra area tramite l'archiviazione con ridondanza geografica. L'area in cui viene replicato il backup dipende dall'area di origine e dalla coppia di aree associata all'area di origine. Per altre informazioni, vedere l'elenco di coppie di aree di Azure con ridondanza geografica. Non è possibile accedere direttamente a questo backup. Il team di Azure Cosmos DB ripristina il backup quando viene richiesto attraverso una richiesta di supporto.
L'immagine seguente mostra un contenitore di Azure Cosmos DB con le tre partizioni fisiche primarie negli Stati Uniti occidentali. Il backup del contenitore è stato eseguito in un account di Archivio BLOB di Azure remoto negli Stati Uniti occidentali e quindi replicato negli Stati Uniti orientali:
I backup vengono eseguiti senza effetti sulle prestazioni o la disponibilità dell'applicazione. Azure Cosmos DB esegue il backup dei dati in background senza usare velocità effettiva aggiuntiva (UR) di cui è stato effettuato il provisioning o senza influire sulle prestazioni e la disponibilità del database.
Con la modalità di backup periodica, i backup vengono eseguiti solo nell'area di scrittura dell'account Azure Cosmos DB. L'azione di ripristino ripristina sempre i dati in un nuovo account, situato nell'area di scrittura dell'account di origine.
Cosa viene ripristinato nel nuovo account?
- È possibile scegliere di ripristinare qualsiasi combinazione di contenitori di velocità effettiva con provisioning, database di velocità effettiva condivisi o l'intero account.
- Questa azione ripristina tutti i dati e le relative proprietà di indice in un nuovo account.
- La durata del ripristino dipende dalla quantità di dati da ripristinare.
- L'impostazione di consistenza di un account di database appena ripristinato corrisponde alle impostazioni di consistenza dell'account di database di origine.
Cosa non viene ripristinato?
Dopo il ripristino temporizzato, non vengono ripristinate le configurazioni di seguito.
- Un subset di contenitori in un database con velocità effettiva condivisa non può essere ripristinato. L’intero database può essere completamente ripristinato.
- Chiavi dell'account di database. L'account ripristinato verrà generato con nuove chiavi dell'account di database.
- Impostazioni di firewall, rete virtuale, piano dati di controllo degli accessi in base al ruolo o endpoint privato.
- Aree. L'account ripristinato sarà solo un account di singola area, ovvero l'area di scrittura dell'account di origine.
- Stored procedure, trigger e funzioni definite dall'utente.
- Assegnazioni del controllo degli accessi in base al ruolo. Questi dovranno essere riassegnati.
- Documenti eliminati a causa del TTL scaduto.
- Dati analitici quando è abilitato il collegamento ad Azure Synapse.
- Viste materializzate
Alcune di queste configurazioni possono essere aggiunte all'account ripristinato al termine del ripristino.
Backup di Azure Cosmos DB con Collegamento ad Azure Synapse
Per gli account abilitati per il Collegamento ad Azure Synapse, i dati dell'archivio analitico non sono inclusi nei backup e nei ripristini. Se è abilitato Collegamento ad Azure Synapse, Azure Cosmos DB continua a eseguire automaticamente i backup dei dati nell'archivio transazionale, a un intervallo di backup pianificato. Attualmente il backup e il ripristino automatici dei dati non sono supportati.
Riconoscimento dei costi dei backup
Vengono forniti due backup gratuiti e vengono addebitati altri backup secondo i prezzi basati sull'area per l'archiviazione di backup descritta in Prezzi dell'archiviazione di backup.
Si consideri, ad esempio, uno scenario in cui la conservazione dei backup è configurata per 240 ore (o 10 giorni) e l'intervallo di backup è configurato per 24 ore. Questa configurazione implica che siano presenti 10 copie dei dati di backup. Se si dispone di 1 TB di dati in un'area Stati Uniti occidentali di Azure, il costo per l'archiviazione di backup in un determinato mese sarà: 0.12 * 1000 * 8
Autorizzazioni necessarie per gestire la conservazione o il ripristino
Le entità che fanno parte del ruolo CosmosdbBackupOperator, proprietario o collaboratore possono inserire la richiesta di un ripristino o modificare il periodo di conservazione.
Gestione manuale dei backup periodici in Azure Cosmos DB
Con gli account API per NoSQL di Azure Cosmos DB è anche possibile gestire backup propri adottando uno degli approcci seguenti:
Azure Data Factory
Usare Azure Data Factory per spostare periodicamente i dati in una soluzione di archiviazione di propria scelta.
Feed di modifiche di Azure Cosmos DB
Usare feed di modifiche di Azure Cosmos DB per leggere periodicamente i dati per i backup completi o per le modifiche incrementali e archiviarli in uno spazio di archiviazione proprio.