Clonage de données | Clone rapide de flocon de neige

Clonage de données | Clone rapide de flocon de neige


J’espère que vous avez eu l’occasion de lire nos articles précédents : Ensembles de résultats de requête disponibles dans l’historique, Possibilité de se connecter avec JDBCet Annuler la suppression d’une table, d’un schéma ou d’une base de données. Comme promis dans le original Top 10 des messagesnous continuons la série avec une plongée plus profonde dans une autre des 10 fonctionnalités les plus intéressantes de Snowflake :

#7 Clonage rapide

Encore plus cool que UNDROP est notre clone rapide caractéristique.

Avez-vous déjà dû attendre des heures, des jours, voire des semaines pour créer une copie de votre entrepôt de données de production afin de pouvoir disposer d’un environnement de test ou de développement ? Et devez-vous payer un supplément pour que l’environnement de test ou de développement puisse contenir toutes les données répliquées ? Ou peut-être avez-vous de nouveaux data scientists qui veulent juste jouer avec les données mais qui ont vraiment besoin de leur propre copie ?

Avec le simple flocon de neige CLONER commande, nos clients peuvent créer plusieurs copies des tables de données, des schémas et des bases de données, sans répliquer les données elles-mêmes. Cela donne à nos clients la possibilité de presque immédiatement rendre les données disponibles pour plusieurs groupes d’utilisateurs, sans le coût (ou le temps) supplémentaire de la réplication des données.

La magie??

Presque –

Magie avec les métadonnées.

Sur la base de notre solution unique, les utilisateurs de Snowflake peuvent cloner leurs tables, schémas ou bases de données sans créer de copies supplémentaires. Snowflake stocke les données dans des fichiers immuables et chiffrés, dans le cadre de notre architecture. Notre couche de services cloud, avec le référentiel de métadonnées, enregistre les informations concernant les fichiers stockés, les emplacements des fichiers et une référence à une certaine version des données. Ceci est également conservé crypté. De plus, lorsque des données changent, le référentiel de métadonnées est automatiquement mis à jour pour fournir un pointeur vers les données modifiées. Tout cela est effectué en arrière-plan par le logiciel sans aucune intervention de l’utilisateur. Le référentiel de métadonnées conserve toujours l’enregistrement pour toutes les versions de l’ensemble de données.

Comment fonctionne le clonage

Grâce aux données du magasin de métadonnées, l’utilisateur peut rapidement créer un clone de la table. Tout ce que l’utilisateur a à faire est de soumettre la commande clone. Cette commande peut être soumise à tout moment.

CRÉER OU REMPLACER LA TABLE MaTable_V2 CLONER Ma table

À la suite de la commande CLONE, le système crée simplement une nouvelle entrée dans le magasin de métadonnées pour garder une trace du nouveau clone.

Clones qui voyagent dans le temps ! Oh mon!

En plus du simple clonage d’objets, vous pouvez mélanger le clonage avec Snowflake voyage dans le temps pour cloner des tables, des schémas ou même des bases de données à un moment donné dans le passé À ou AVANT DE un horodatage spécifique. Voici un exemple:

CRÉER SCHÉMA mytestschema_clone_restore CLONER schéma de test AVANT DE (HORODATAGE => TO_TIMESTAMP(40*365*86400));

Cette commande, une fois exécutée, créera un clone de l’ensemble du schéma (tables, vues, etc.) tel qu’il existait avant l’horodatage spécifié.

Hmm… des clones qui voyagent dans le temps… ça ressemble à un épisode des X-Files (aussi cool).

Étant donné que Snowflake conserve l’historique des requêtes effectuées et les identifie par un identifiant unique, nous pouvons également soumettre une demande pour créer un clone en utilisant l’identifiant unique de la requête, AVANT ou À un certain horodatage. Cela vous permettrait peut-être d’exécuter un ensemble révisé de scripts sur un ensemble de données plus ancien, puis de comparer les résultats à l’ensemble de données actuel.

De plus, une fois clonés, les objets clonés sont indépendants les uns des autres. Bien qu’indépendant, il n’y a pas d’exigences de stockage supplémentaires et donc pas de frais supplémentaires (sauf si vous ajoutez ou modifiez des enregistrements), puisque ces clones partagent des fichiers. Ainsi Snowflake permet à ses clients de cloner à plusieurs niveaux : table, schéma (format de fichier, vues, séquences, étapes) et bases de données et dans le temps. Et parce qu’ils sont indépendants, les mises à jour de l’un ne sont pas visibles dans les autres.

Très utile pour l’expérimentation et l’exploration de données !

Exemple de clonage

À titre d’exemple de ce à quoi cela ressemble dans l’interface utilisateur de Snowflake, voici un instantané de l’une de mes démos bases de données avec les données Twitter. C’est à propos de 2 To de données.

BD Twitter

Maintenant, voici que je lance le clone via notre interface utilisateur Web à 15:02:49 :

Démarrer le clonage

Et voici le résultat montrant la base de données clonée créée à 15:03:55. A peine une minute pour créer un clone d’une base de données de 2 To avec 10 tables !

Clonage terminé

Et je ne suis pas un DBA et encore moins un DBA « cloud ». Tout cela fait partie du fait que Snowflake est un entrepôt de données en tant que service (DWaaS). Une autre raison pour laquelle je pense que c’est vraiment cool !

Vous voulez voir le clonage en action ? Regarde ça vidéo:

Pourquoi est-ce difficile à faire dans les systèmes traditionnels ?

Dans les systèmes RDBMS traditionnels, si vous souhaitez cloner un entrepôt de données existant et donner à un ensemble différent d’utilisateurs l’accès à l’environnement, vous devez généralement créer un tout nouveau déploiement distinct de l’environnement. Dans Snowflake, comme je viens de le montrer, vous pouvez le faire facilement avec seulement quelques commandes (l’un des nombreux avantages résultant d’avoir écrit Snowflake à partir de zéro pour le cloud). De plus, alors que la plupart des systèmes d’entrepôt de données traditionnels vous permettent de créer des instantanés des données, cela entraîne généralement la consommation de plus de stockage (ce qui coûte bien sûr plus $$).

Toutes ces raisons expliquent pourquoi Fast Cloning a fait ma liste des 10 meilleures fonctionnalités vraiment intéressantes dans Snowflake Elastic Data Warehouse.

Comme toujours, gardez un œil sur ce site de blog, nos flux Twitter Snowflake (@SnowflakeDB), (@kentgraziano), (@cloudsommelier), et #ElasticDW pour plus d’informations sur le Top 10 des choses cool à propos de Snowflake et pour des mises à jour sur toutes les actions et activités ici à Snowflake Computing.

Un merci spécial à Ashish Motivala de Snowflake Engineering pour nous avoir aidés avec certains des détails plus techniques sur la façon dont cela fonctionne si bien.

Kent Graziano et Saqib Mustafa

Liens supplémentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.