Tous les produits
Search
Centre de documentation

MaxCompute:Table snapshots

Dernière mise à jour :Aug 10, 2026

Les table snapshots capturent l'état d'une table de base à un instant donné. Elles vous permettent de restaurer des données après une suppression accidentelle ou une mise à jour incorrecte, et de conserver les données historiques au-delà de la fenêtre de rétention des sauvegardes locales.

Utilisez les snapshots pour :

  • Restaurer les données d'une table vers une version correcte antérieure après une suppression accidentelle, des mises à jour erronées ou des modifications problématiques des règles métier.

  • Conserver les données d'un instant précis au-delà de la période de rétention prise en charge par local backup.

  • Réduire les coûts de stockage : seuls les octets différents entre le snapshot et sa table de base sont stockés.

Fonctionnement

Un snapshot est en lecture seule. Pour modifier les données d'un snapshot, restaurez-le dans une table nouvelle ou existante, puis mettez à jour cette table.

Vous pouvez mettre à jour les métadonnées du snapshot (description, délai d'expiration et permissions d'accès) sans effectuer de restauration.

La création d'un snapshot n'entraîne aucun frais de stockage. Les frais de stockage s'appliquent uniquement aux données qui existent exclusivement dans le snapshot, c'est-à-dire les données modifiées ou supprimées dans la table de base après la prise du snapshot. Si plusieurs snapshots contiennent les mêmes données modifiées ou supprimées, vous êtes facturé uniquement pour le stockage consommé par le plus grand snapshot.

Limitations

Types de tables pris en charge :

Type de table

Pris en charge

Tables standard (partitionnées, non partitionnées et clusterisées)

Oui

Table PK/Append Delta

Oui

Transaction Table

Non

View

Non

Vues matérialisées (Delta Live MV)

Non

External Table

Non

Contraintes et quotas :

Contrainte

Limite

Région et locataire

Un snapshot doit se trouver dans la même région et appartenir au même locataire que sa table de base.

Règles de cycle de vie

Si un cycle de vie est configuré pour la table de base, la règle de cycle de vie ne s'applique pas aux données du snapshot.

Latence d'écriture en streaming

Les données écrites via Streaming Tunnel et vidées à l'aide de streamRecordPack.flush dans le SDK Tunnel présentent une latence de 5 à 10 minutes avant de pouvoir être incluses dans un snapshot.

Snapshots par table

1 000

Tâches CREATE SNAPSHOT concurrentes par projet

100

Tâches CREATE SNAPSHOT par projet et par jour

50 000

Tâches CREATE SNAPSHOT par table et par jour

50

Important

Il est impossible de récupérer les table snapshots supprimés.

Créer un snapshot

CREATE [OR REPLACE] SNAPSHOT TABLE [IF NOT EXISTS] <table_snapshot_name>
CLONE <source_table_name>
[OPTIONS(<snapshot_option_list>)]

Paramètres :

Paramètre

Description

table_snapshot_name

Nom du snapshot à créer.

source_table_name

Table de base à partir de laquelle créer le snapshot.

expiration_timestamp

Date et heure d'expiration du snapshot. Type de données : TIMESTAMP. Doit être ultérieur à l'heure actuelle. Si ce paramètre n'est pas défini, le snapshot hérite du délai de conservation des données configuré pour le projet. Remarque : ce comportement sera modifié à l'avenir afin que les délais d'expiration des table snapshots soient totalement indépendants.

description

Description du snapshot. Type de données : STRING.

Exemple :

CREATE SNAPSHOT TABLE <table_snapshot_name>
CLONE <source_table_name>
OPTIONS(
  expiration_timestamp=TIMESTAMP "2025-07-01 00:00:00",
  description="A table snapshot that expires in xxx days"
);

Restaurer à partir d'un snapshot

Restaurez un snapshot vers la table de base d'origine ou vers une nouvelle table :

CREATE [OR REPLACE] TABLE [IF NOT EXISTS] <target_table_name>
CLONE <table_snapshot_name>

Modifier un snapshot

Seules les options OPTIONS peuvent être modifiées (description, délai d'expiration et permissions d'accès) :

ALTER SNAPSHOT TABLE [IF EXISTS] <snapshot_table_name>
SET OPTIONS(<snapshot_option_list>)

Supprimer un snapshot

DROP SNAPSHOT TABLE [IF EXISTS] <table_snapshot_name>
Important

Il est impossible de récupérer les snapshots supprimés.

Permissions

Les opérations sur les table snapshots suivent le même modèle de permissions que les opérations sur les tables. Les permissions couvrent les actions suivantes :

  • Création de snapshots

  • Restauration à partir de snapshots

  • Listage des snapshots

  • Consultation des descriptions de snapshots

  • Mise à jour des métadonnées des snapshots

  • Suppression de snapshots

  • Interrogation des données depuis les snapshots

Facturation

Les frais de stockage s'appliquent uniquement aux données d'un snapshot qui ne sont déjà présentes dans aucune autre table. MaxCompute facture les octets différentiels, et non une copie complète de la table.

Scénario

Frais de stockage appliqués ?

Création d'un snapshot

Non

Ajout de données à la table de base après la prise du snapshot

Non (les nouvelles données se trouvent dans la table de base, pas dans le snapshot)

Modification ou suppression de données dans la table de base après la prise du snapshot

Oui (les données d'origine sont conservées uniquement dans le snapshot)

Plusieurs snapshots contenant les mêmes données modifiées ou supprimées

Facturation appliquée uniquement au plus grand snapshot

Remarque

Les données modifiées ou supprimées dans la table de base peuvent toujours être restaurées via local backup pendant la période de rétention des sauvegardes locales, sans frais supplémentaires pour la sauvegarde locale.