Sauvegarde en ligne et restauration de données à la demande dans Azure Cosmos DBOnline backup and on-demand data restore in Azure Cosmos DB

Azure Cosmos DB sauvegarde automatiquement vos données à intervalles réguliers.Azure Cosmos DB automatically takes backups of your data at regular intervals. Les sauvegardes automatiques sont effectuées sans affecter les performances ou la disponibilité des opérations de base de données.The automatic backups are taken without affecting the performance or availability of the database operations. Toutes les sauvegardes sont stockées séparément dans un service de stockage, et ces sauvegardes sont répliquées globalement pour garantir la résilience contre les sinistres régionaux.All the backups are stored separately in a storage service, and those backups are globally replicated for resiliency against regional disasters. Les sauvegardes automatiques sont utiles dans les scénarios où vous supprimez ou mettez à jour accidentellement votre compte, base de données ou conteneur Azure Cosmos et où vous avez besoin ultérieurement de récupérer les données.The automatic backups are helpful in scenarios when you accidentally delete or update your Azure Cosmos account, database, or container and later require the data recovery.

Sauvegardes automatiques et en ligneAutomatic and online backups

Avec Azure Cosmos DB, vos données et leurs sauvegardes sont rendues hautement redondantes et résilientes aux sinistres régionaux.With Azure Cosmos DB, not only your data, but also the backups of your data are highly redundant and resilient to regional disasters. Les étapes suivantes montrent comment Azure Cosmos DB sauvegarde les données :The following steps show how Azure Cosmos DB performs data backup:

  • Azure Cosmos DB sauvegarde automatiquement votre base de données toutes les 4 heures et à tout moment, seules les dernières 2 sauvegardes sont stockées.Azure Cosmos DB automatically takes a backup of your database every 4 hours and at any point of time, only the latest 2 backups are stored. Toutefois, si le conteneur ou la base de données est supprimé, Azure Cosmos DB conserve les captures instantanées existantes du conteneur ou de la base de données pendant 30 jours.However, if the container or database is deleted, Azure Cosmos DB retains the existing snapshots of a given container or database for 30 days.

  • Azure Cosmos DB stocke ces sauvegardes dans Stockage Blob Azure, tandis que les données réelles résident localement dans Azure Cosmos DB.Azure Cosmos DB stores these backups in Azure Blob storage whereas the actual data resides locally within Azure Cosmos DB.

  • Pour garantir une latence faible, la capture instantanée de votre sauvegarde est stockée dans le stockage Blob Azure dans la même région que la région d’écriture actuelle (ou l’une des régions d’écriture, si vous avez une configuration multimaître) de votre compte de base de données Azure Cosmos DB.To guarantee low latency, the snapshot of your backup is stored in Azure Blob storage in the same region as the current write region (or one of the write regions, in case you have a multi-master configuration) of your Azure Cosmos database account. Pour assurer la résilience contre les sinistres régionaux, chaque capture instantanée de vos données de sauvegarde dans le stockage blob Azure est à nouveau répliqué vers une autre région par le biais du stockage géoredondant (GRS).For resiliency against regional disaster, each snapshot of the backup data in Azure Blob storage is again replicated to another region through geo-redundant storage (GRS). La région vers laquelle la sauvegarde est répliquée dépend de votre région source et de la paire régionale associée à la région source.The region to which the backup is replicated is based on your source region and the regional pair associated with the source region. Pour plus d’informations, consultez la liste des paires de régions Azure géoredondantes.To learn more, see the list of geo-redundant pairs of Azure regions article. Vous ne pouvez pas accéder directement à cette sauvegarde.You cannot access this backup directly. Azure Cosmos DB utilise cette sauvegarde uniquement si une restauration de sauvegarde est lancée.Azure Cosmos DB will use this backup only if a backup restore is initiated.

  • Les sauvegardes sont effectuées sans affecter les performances ou la disponibilité de votre application.The backups are taken without affecting the performance or availability of your application. Azure Cosmos DB effectue la sauvegarde des données en arrière-plan sans consommer de débit (RU) provisionné supplémentaire et sans affecter les performances ou la disponibilité de votre base de données.Azure Cosmos DB performs data backup in the background without consuming any additional provisioned throughput (RUs) or affecting the performance and availability of your database.

  • Si vous avez accidentellement supprimé ou endommagé vos données, vous devez contacter le support Azure dans les 8 heures afin que l’équipe Azure Cosmos DB puisse vous aider à les restaurer à partir des sauvegardes.If you have accidentally deleted or corrupted your data, you should contact Azure support within 8 hours so that the Azure Cosmos DB team can help you restore the data from the backups.

L’image suivante montre comment un conteneur Azure Cosmos avec les trois partitions physiques principales dans la région USA Ouest est sauvegardé dans un compte Stockage Blob Azure distant dans la région USA Ouest, puis répliqué dans la région USA Est :The following image shows how an Azure Cosmos container with all the three primary physical partitions in West US is backed up in a remote Azure Blob Storage account in West US and then replicated to East US:

Sauvegardes complètes périodiques de toutes les entités Cosmos DB dans Stockage Azure GRS

Options pour gérer vos propres sauvegardesOptions to manage your own backups

Avec les comptes d’API SQL Azure Cosmos DB, vous pouvez également tenir à jour vos propres sauvegardes en adoptant l’une des approches suivantes :With Azure Cosmos DB SQL API accounts, you can also maintain your own backups by using one of the following approaches:

  • Utiliser Azure Data Factory pour déplacer régulièrement les données vers un stockage de votre choixUse Azure Data Factory to move data periodically to a storage of your choice.

  • Utiliser le flux de modification Azure Cosmos DB afin de lire régulièrement les données pour les sauvegardes complètes (ainsi que pour les modifications incrémentielles) et les stocker dans votre propre stockageUse Azure Cosmos DB change feed to read data periodically for full backups, as well as for incremental changes, and store it in your own storage.

Période de rétention des sauvegardesBackup retention period

Azure Cosmos DB prend des captures instantanées de vos données toutes les quatre heures.Azure Cosmos DB takes snapshots of your data every four hours. À chaque instant, seuls les deux dernières captures instantanées sont conservées.At any given time, only the last two snapshots are retained. Toutefois, si le conteneur ou la base de données est supprimé, Azure Cosmos DB conserve les captures instantanées existantes du conteneur ou de la base de données pendant 30 jours.However, if the container or database is deleted, Azure Cosmos DB retains the existing snapshots of a given container or database for 30 days.

Restauration des données à partir de sauvegardes en ligneRestoring data from online backups

Une suppression ou modification accidentelle des données peut se produire dans l’un des scénarios suivants :Accidental deletion or modification of data can happen in one of the following scenarios:

  • Le compte Azure Cosmos entier est suppriméThe entire Azure Cosmos account is deleted

  • Une ou plusieurs bases de données Azure Cosmos sont suppriméesOne or more Azure Cosmos databases are deleted

  • Un ou plusieurs conteneurs Azure Cosmos sont supprimésOne or more Azure Cosmos containers are deleted

  • Des éléments Azure Cosmos (par exemple des documents) dans un conteneur sont supprimés ou modifiés.Azure Cosmos items (for example, documents) within a container are deleted or modified. Ce cas spécifique est généralement appelé « altération des données ».This specific case is typically referred to as “data corruption”.

  • Une base de données d’offre partagée ou des conteneurs au sein d’une base de données d’offre partagée sont supprimés ou endommagésA shared offer database or containers within a shared offer database are deleted or corrupted

Azure Cosmos DB peut restaurer les données dans tous les scénarios ci-dessus.Azure Cosmos DB can restore data in all the above scenarios. Le processus de restauration crée toujours un compte Azure Cosmos pour stocker les données restaurées.The restore process always creates a new Azure Cosmos account to hold the restored data. Le nom du nouveau compte, s’il n’est pas spécifié, aura le format <Azure_Cosmos_account_original_name>-restored1.The name of the new account, if not specified, will have the format <Azure_Cosmos_account_original_name>-restored1. Le dernier chiffre est incrémenté si plusieurs tentatives de restauration sont effectuées.The last digit is incremented, if multiple restores are attempted. Vous ne pouvez pas restaurer les données dans un compte Azure Cosmos créé au préalable.You can’t restore data to a pre-created Azure Cosmos account.

Quand un compte Azure Cosmos est supprimé, nous pouvons restaurer les données dans un compte portant le même nom, à condition que le nom du compte ne soit pas en cours d’utilisation.When an Azure Cosmos account is deleted, we can restore the data into an account with the same name, provided that the account name is not in use. Dans ce cas, nous vous recommandons de ne pas recréer le compte après la suppression, car non seulement cela empêche les données restaurées d’utiliser le même nom, mais cela rend également plus difficile la découverte du compte correct à restaurer.In such cases, it’s recommended to not re-create the account after deletion, because it not only prevents the restored data to use the same name, but also makes discovering the right account to restore from more difficult.

Quand une base de données Azure Cosmos est supprimée, il est possible de restaurer la base de données entière ou un sous-ensemble des conteneurs au sein de cette base de données.When an Azure Cosmos database is deleted, it is possible to restore the whole database or a subset of the containers within that database. Il est également possible de sélectionner des conteneurs parmi différentes bases de données et de les restaurer tous. Toutes les données restaurées sont alors placées dans un nouveau compte Azure Cosmos.It is also possible to select containers across databases and restore them and all the restored data is placed in a new Azure Cosmos account.

Quand un ou plusieurs éléments dans un conteneur sont supprimés ou modifiés accidentellement (altération des données), vous devez spécifier le point dans le temps auquel effectuer la restauration.When one or more items within a container are accidentally deleted or changed (the data corruption case), you will need to specify the time to restore to. Ce point dans le temps a une importance cruciale.Time is of essence for this case. Le conteneur étant en ligne, la sauvegarde est toujours en cours d’exécution. Par conséquent, si vous attendez au-delà de la période de rétention (la valeur par défaut est de huit heures) les sauvegardes seront remplacées.Since the container is live, the backup is still running, so if you wait beyond the retention period (the default is eight hours) the backups would be overwritten. Dans le cas des suppressions, vos données ne sont plus stockées, car elles ne seront pas remplacées par le cycle de sauvegarde.In the case of deletes, your data is no longer stored because they won’t be overwritten by the backup cycle. Les sauvegardes des bases de données ou conteneurs supprimés sont conservées pendant 30 jours.Backups for deleted databases or containers are saved for 30 days.

Si vous provisionnez le débit au niveau de la base de données (autrement dit, quand un ensemble de conteneurs partagent le débit provisionné), le processus de sauvegarde et de restauration se produit au niveau de la base de données entière et non au niveau des conteneurs individuels.If you provision throughput at the database level (that is, where a set of containers shares the provisioned throughput), the backup and restore process in this case happen at the entire database level, and not at the individual containers level. Dans ce cas, la sélection d’un sous-ensemble de conteneurs à restaurer n’est pas une option.In such cases, selecting a subset of containers to restore is not an option.

Migration des données vers le compte d’origineMigrating data to the original account

L’objectif principal de la restauration des données est d’offrir un moyen de récupérer toutes les données que vous avez supprimées ou modifiées accidentellement.The primary goal of the data restore is to provide a way to recover any data that you delete or modify accidentally. Nous recommandons donc d’inspecter d’abord le contenu des données restaurées, afin de vous assurer qu’il correspond à vos attentes.So, we recommend that you first inspect the content of the recovered data to ensure it contains what you are expecting. Ensuite, procédez à la migration des données vers le compte principal.Then work on migrating the data back to the primary account. Bien qu’il soit possible d’utiliser le compte restauré en tant que compte actif, cette option n’est pas recommandée si vous avez des charges de travail de production.Although it is possible to use the restored account as the live account, it’s not a recommended option if you have production workloads.

Voici différentes méthodes pour migrer les données vers le compte Azure Cosmos d’origine :The following are different ways to migrate data back to the original Azure Cosmos account:

Supprimez les comptes restaurés dès que vous avez terminé la migration, car ils occasionnent des frais.Delete the restored accounts as soon as you are done migrating, because they will incur ongoing charges.

Étapes suivantesNext steps

Vous pouvez maintenant découvrir comment restaurer des données à partir d’un compte Azure Cosmos, ou comment migrer des données vers un compte Azure Cosmos.Next you can learn about how to restore data from an Azure Cosmos account or learn how to migrate data to an Azure Cosmos account