Aller au contenu

Vous ne pouvez rien casser : instantanés et time travel

~20 minutes · un instantané, un retour dans le temps, un journal des modifications

Vous découvrez PlaidCloud et craignez de tout casser ? Vous ne le pouvez pas. Chaque fois qu’une table est écrite, le lakehouse conserve un instantané de son contenu, c’est-à-dire une copie cohérente à un instant donné, et chaque modification d’un projet est suivie pour permettre une récupération à un instant donné. Les anciens états ne disparaissent pas lorsque vous écrasez les données. Ce tutoriel vous présente les trois filets de sécurité pour que vous puissiez cesser d’avancer sur la pointe des pieds et commencer à essayer.

Toute l’idée en une ligne. Les états passés de vos données sont conservés automatiquement. Vous n’avez pas à faire de sauvegarde avant d’expérimenter : la sauvegarde a déjà eu lieu.

Filet de sécurité À quelle question il répond
Instantanés « À quoi ressemblait cette table avant ma dernière modification ? »
Time travel « Puis-je voir les anciennes données, et pas seulement savoir qu’elles existent ? »
Journal du projet « Que s’est-il passé dans ce projet, et qui l’a fait ? »
  • Un espace de travail PlaidCloud (démarrez un essai gratuit si vous n’en avez pas)
  • Un projet contenant au moins une table : toute table que vous avez importée ou créée convient
  • Rien à installer ; les trois outils sont intégrés à Analyze

PlaidCloud prend un instantané d’une table à chaque écriture, mais vous pouvez aussi en capturer un à la demande : une bonne habitude avant toute opération risquée (un gros rechargement, une modification en masse).

  1. Dans la liste Tables du projet, ouvrez le panneau Instantanés depuis la ligne de votre table. Il liste les instantanés de la table, du plus récent au plus ancien.
  2. Cliquez sur Créer un instantané pour capturer les données actuelles. Donnez-lui un nom que vous reconnaîtrez plus tard, par exemple avant d’expérimenter.
  3. Cet instantané nommé apparaît en haut de la liste.

Vous disposez désormais d’un point dans le temps étiqueté auquel vous pouvez toujours revenir. Cela fait, modifiez la table : exécutez une étape dessus, modifiez quelques lignes, rechargez-la. Quoi que vous fassiez ensuite, cet instantané reste intact.

Les instantanés nommés sont retenus, et une rétention conserve plus que cet instantané. Un instantané que vous nommez avec Créer un instantané ou que vous placez en Rétention est épinglé et conservé au-delà de la fenêtre normale, ainsi que tous les instantanés écrits après lui, jusqu’à ce que vous le Libériez ; le stockage continue donc de croître tant que vous ne le faites pas.

Le nommage dépend du moteur de table ; la rétention, non. Nommer un instantané à la demande est possible sur les tables Lakehouse (StarRocks). La rétention et la libération d’un instantané fonctionnent désormais aussi sur les tables adossées à Databend : si vous n’y voyez pas de champ de nom, vous ne vous trompez pas, et Rétention et Libérer se trouvent bien là où vous les attendez.

Le panneau Instantanés est une chronologie de la vie de la table. Chaque ligne indique ce qui a changé :

Colonne Ce qu’elle indique
Quand Date et heure de création de l’instantané
Lignes Le nombre de lignes de la table à cet instantané
Δ lignes Variation du nombre de lignes par rapport à l’instantané précédent, pour voir ce que chaque écriture a ajouté ou supprimé
Taille Taille de stockage compressée de l’instantané
Libellé Un nom, pour les instantanés que vous avez nommés ou épinglés
Retenu Un marqueur d’épinglage pour les instantanés conservés au-delà de la fenêtre normale

La profondeur de l’historique correspond au paramètre de time travel de la table : 1 jour par défaut, jusqu’à 90 jours. Pour conserver plus longtemps, augmentez le paramètre de la table ou du projet avant d’en avoir besoin. Consultez Gérer le stockage.

importation900 lignesnettoyage850 lignesavant d’expérimenter850 lignes · retenuexpérience610 lignes
Chaque écriture laisse un instantané derrière elle. L’instantané nommé reste en place quoi que vous fassiez ensuite.

Savoir que les anciennes données existent est rassurant. Les voir est ce qui vous en convainc. Il existe deux façons d’afficher une table telle qu’elle était à un instantané antérieur ; les deux ouvrent l’Explorateur de tables dans une vue historique en lecture seule, avec une bannière indiquant l’instantané affiché et un bouton Revenir aux données actuelles.

  1. Depuis le panneau Instantanés : sélectionnez un instantané et cliquez sur Afficher à l’instantané.
  2. Depuis l’Explorateur de tables : utilisez la liste déroulante As of de la barre d’outils. Elle liste les instantanés récents de la table ; choisissez-en un pour changer de vue, ou choisissez Actuel (données en direct) pour revenir aux données en direct.

Ouvrez ainsi votre instantané avant d’expérimenter et vous voyez la table exactement telle qu’elle était avant que vous n’y touchiez : les lignes que vous avez modifiées sont revenues à leur état d’origine.

C’est une fenêtre, pas une modification. La vue historique est en lecture seule. Vous regardez le passé, vous ne travaillez pas dans une copie modifiable : la parcourir ne peut donc rien abîmer non plus. Quand vous êtes convaincu que les anciennes données sont bien là, cliquez sur Revenir aux données actuelles.

Si vous voulez un jour ramener un état antérieur dans la table active, le panneau Instantanés propose Rétablir / Restaurer : il peut soit remplacer la table sur place, soit restaurer l’instantané dans une toute nouvelle table en laissant l’originale intacte. Le rétablissement sur place vous demande de saisir le nom de la table pour confirmer et capture d’abord un instantané de sécurité avant rétablissement, de sorte que même l’annulation est annulable. Vous n’en avez pas besoin pour ce tutoriel ; il suffit de savoir que cette porte existe. Consultez Instantanés de table pour le pas-à-pas complet.

Étape 4 : voir ce qui a changé à l’échelle du projet

Section intitulée « Étape 4 : voir ce qui a changé à l’échelle du projet »

Les instantanés concernent une seule table. Le journal du projet couvre tout : à mesure que des actions se produisent dans un projet (exécution de workflows, affectation de membres, etc.), le journal les enregistre en regroupant le journal de chaque workflow dans une seule vue.

  1. Ouvrez Analyser.
  2. Sélectionnez Projets.
  3. Ouvrez l’onglet Journal (le journal du projet).
  4. Pour restreindre la liste, utilisez le contrôle de filtre à côté des messages du journal et choisissez vos critères. Pour lire une entrée en entier, faites un clic droit dessus et cochez la case Message du journal pour obtenir le détail.

Remontez dans le journal et vous pouvez retracer vos propres actions : l’expérience que vous avez menée, quand, et ce qu’elle a touché. Rien de ce que vous avez fait ne reste un mystère après coup.

Le projet conserve aussi son propre historique. Au-delà des tables, toutes les modifications d’un projet (workflows, éditeurs de données, hiérarchies, structures de tables, UDF) sont suivies et permettent une récupération à un instant donné : vous pouvez ainsi vous remettre d’une erreur ou copier ailleurs un état antérieur pour le comparer. Consultez Gérer les projets.

Vous disposez maintenant de trois moyens d’annuler, d’examiner ou de récupérer presque tout :

  • Un instantané que vous avez nommé avant de commencer, plus un à chaque écriture.
  • Le time travel pour regarder n’importe lequel d’entre eux, en lecture seule, sans vous engager à quoi que ce soit.
  • Un journal du projet qui se souvient de ce qui s’est passé même si vous l’oubliez.

La façon la plus rapide d’apprendre PlaidCloud est d’essayer. Les filets de sécurité sont déjà sous vos pieds : c’était tout l’intérêt.