Fermer

juillet 25, 2022

EXPLOREZ LE VOYAGE DANS LE TEMPS À SNOWFLAKE

EXPLOREZ LE VOYAGE DANS LE TEMPS À SNOWFLAKE


Vous êtes-vous déjà demandé s’il serait un jour possible de voyager dans le temps comme dans les vieux films avec une machine à voyager dans le temps ? Si nous pouvions remonter le temps et voir le monde, le ferions-nous ? Si vous me l’aviez demandé, j’aurais dit oui ! Mais pas de la manière dont Hollywood dépeint les films de science-fiction. Aujourd’hui, nous allons examiner une de ces fonctionnalités. Préparez-vous à voyager dans le temps dans le monde Data de Snowflake.

Entrepôt de données Snowflake

Introduction au voyage dans le temps

« Snowflake Time Travel permet d’accéder à des données historiques (c’est-à-dire des données qui ont été modifiées ou supprimées) à tout moment au cours d’une période définie. » – Flocon de neige

Le voyage dans le temps est l’une des fonctionnalités intéressantes que Snowflake offre à ses utilisateurs. Il nous permet de récupérer des données qui ont été modifiées ou supprimées à tout moment dans un délai spécifié.

Nous pouvons faire des choses incroyables avec cette fonctionnalité puissante, telles que :

  • Nous pouvons récupérer des objets supprimés tels que des tables, des schémas et des bases de données. Vous n’avez donc pas à vous soucier de la suppression accidentelle de données par de nouveaux employés.
  • La duplication et la sauvegarde des données des points clés du passé n’ont jamais été aussi simples qu’aujourd’hui.
  • Examiner l’utilisation et la manipulation des données sur des périodes spécifiées.

REMARQUE:

Le voyage dans le temps de Snowflake est défini par des bases de données, des schémas et des tables. Le paramètre de période de conservation des données spécifie la durée pendant laquelle nous pouvons afficher les données historiques de la table. Dans toutes les éditions Snowflake, il est défini sur 1 jour par défaut pour tous les objets.

Ce paramètre peut être étendu à 90 jours pour les éditions Enterprise et Business-Critical.

Le paramètre « DATA RETENTION PERIOD » contrôle la capacité de voyage dans le temps d’un objet.

Une fois la durée du voyage dans le temps dépassée, l’objet entre dans la zone de sécurité. Si vous avez besoin de récupérer l’objet alors qu’il est en mode sans échec, vous devez contacter le flocon de neige lui-même.

Les extensions SQL suivantes ont été implémentées pour prendre en charge Time Travel :

  • L’AT | Clause BEFORE, qui peut être utilisée dans les instructions SELECT et les commandes CREATE… CLONE (immédiatement après le nom de l’objet).

Pour identifier les données historiques exactes auxquelles vous souhaitez accéder, la clause utilise l’un des paramètres suivants :

  • HORODATAGE
  • OFFSET (différence horaire en secondes par rapport à l’heure actuelle)
  • STATEMENT (identifiant pour l’instruction, par exemple ID de requête)
#select the data for the specified Query ID executed at specific period of time
SELECT * FROM OUR_FIRST_DB.public.test before (statement => '01a58f86-3200-7cb6-0001-25ce0002d232') //  Query ID

#select the data as of before a couple of (seconds, minutes, hours) ago in snowflake using the time travel
SELECT * FROM OUR_FIRST_DB.public.test before (offset => -300) //  seconds only

#select the data as of specified date time in snowflake using the time travel
select * from OUR_FIRST_DB.public.test  at (TIMESTAMP=>'2022-12-07 00:57:35.967'::timestamp) //  Timestamp
  • Commande UNDROP pour les tables, les schémas et les bases de données.
#Will UNDROP TABLE
UNDROP TABLE TABLENAME

#Will UNDROP SCHEMA
UNDROP SCHEMA SCHEMANAME

#Will UNDROP DATABASE
UNDROP DATABASE DATABASENAME

Illustrons cela par un exemple.

EXEMPLE DE VOYAGE DANS LE TEMPS

  1. Créez une table des employés avec une période de conservation des données de 4 jours. Notez que j’utilise la base de données DEMO_DB et le schéma PUBLIC.
create or replace table EMPLOYEE (empid int ,emp_name varchar(20) ) data_retention_time_in_days=4;
insert into EMPLOYEE values(1,'Shubham');
insert into EMPLOYEE values(2,'Chandan');
insert into EMPLOYEE values(3,'Simran');
insert into EMPLOYEE values(4,'Nikita')
insert into EMPLOYEE values(5,'Achal');
insert into EMPLOYEE values(6,'Aditi');
select * from EMPLOYEE;

Créer un flocon de neige de table

  1. Après 5 minutes, j’ai inséré une autre ligne avec EMPID 7 comme suit :
insert into EMPLOYEE values(7,'Shobit'); 
select * from EMPLOYEE;

Mettre à jour le tableau flocon de neige

  1. Le tableau a maintenant 7 lignes, mais revenons 5 minutes en arrière et voyons à quoi ressemble le tableau.
select * from EMPLOYEE at(offset=>-60*5);

Flocon de neige Résultat du voyage dans le temps

De cette façon, vous pouvez vérifier les données que la table contient dans le passé.

Réflexions finales

Cela nous amène à la conclusion sur le voyage dans le temps Snowflake. Cet article nous a appris ce qu’est le voyage dans le temps et comment l’utiliser dans Snowflake. De plus, je vous ai montré comment personnaliser les paramètres de rétention Snowflake au niveau des tables. J’espère que vous avez eu un aperçu de l’une des fonctionnalités les plus importantes de Snowflake.

Veuillez partager vos réflexions et suggestions dans l’espace ci-dessous, et je ferai de mon mieux pour y répondre dans la mesure du temps disponible.

Reportez-vous à la documentation officielle de Snowflake ici si vous voulez en savoir plus.

pour plus de blogs de ce type cliquez ici






Source link