Quelles sont les notions de base à comprendre quand on débute avec Snowflake ?
Contexte
Vous venez de créer votre compte Snowflake.
Je vous propose de faire le tour du propriétaire afin de comprendre les grands principes qui vous permettront de l’utiliser.
Un focus sur la sécurité sera fait dans un prochain article.
Les adresses de connexion
La première chose à comprendre dans Snowflake est l’adresse de connexion, déjà cela vous sera utile pour vous connecter 🤡 mais elle est pleine d’information utile pour comprendre la structure de snowflake.
Pour vous connecter à l’interface de Snowflake vous utiliserez une adresse sous la forme suivante :
XXXXXX est votre code d’organisation Snowflake.
YYYYYY est votre code de compte dans votre organisation.
Vous pouvez avoir plusieurs comptes au sein d’une même organisation, même avec la version d’essai.
Un compte représente une combinaison unique par les choix suivants :
- Le cloud provider
- AWS
- Azure
- GCP
- La région dans le cloud provider
- Un niveau de service Snowflake
- Standard
- Entreprise
- Business critical
Pour chacune de ces combinaisons, Snowflake vous donne le prix d’un crédit. Cette notion de crédit sera expliquée ci-dessous, avec les warehouses.
L’interface utilisateur
Lors de votre première connexion, vous arrivez sur une interface tel que celle-ci dessous :
- Ici vous pourrez changer de rôle, voir votre profil et vous déconnecter.
- Ici vous trouverez les informations relatives au compte en cours.
- Vous pouvez voir le temps restant de votre période d’évaluation.
- Worksheets vous permet de ranger vos scripts SQL et Python.
- Data vous permet de voir les bases de données.
- Activity vous permet de monitor l’activité, notamment l’historique des requêtes.
- Admin vous permet de gérer les objets administratifs comme :
- La consommation financière de votre Snowflake dans Usage.
- Les warehouses
- Les utilisateurs et les rôles
- les comptent
Les objets Snowflake
Snowflake est composé de 2 principaux objets, les bases et les warehouses.
Nous sommes dans une architecture où le stockage et le calcul sont décorrélés, les bases représentent l’endroit où résideront vos données et les warehouse sont les puissances de calcul permettant de traiter vos données.
Il n’y a pas de contraintes entre les 2, un warehouse peut traiter différentes bases et une base peut être consommée par différents wwarehouses.
Warehouse
Un warehouse est un moteur de calcul qui peut être utilisé pour requêter une ou plusieurs bases.
Un warehouse est facturé à la seconde à partir de la première minute consommée. Vous payez donc au minimum 60 secondes de warehouse.
Un warehouse ne vous coute rien quand il est suspendu et peut être autosuspendu en cas de non-sollicitations. Attention le processus d’autosuspension passe une fois par minute, donc un auto suspend inférieure à une minute ne sera peut être pas pris en compte correctement.
Il existe différentes tailles de warehouse avec la même notation que la taille de t-shirt allant du XS au 4-XL, voir 6-XL sur demande.
Un warehouse XS consomme un crédit par heure de traitement.
Lorsque l’on passe à la taille au-dessus, on double la capacité de calcul et on double la consommation de crédits.
Vous pouvez changer la taille d’un warehouse après sa création.
Le prix du crédit dépend du cloud provider et du niveau de service Snowflake attendu.
Base
Les bases sont le lieu de stockage de vos données. Snowflake vous facture l’espace disque consommé par ces dernières indépendamment des traitements réalisés dessus. L’organisation des bases est la même que celui des bases de données relationnelles classiques, la hiérarchie des objets est donc la suivante :
- Base
- Schéma
- Table
- Données
- Table
- Schéma
Pour mettre en place une architecture de type médaillon avec une approche Data Mesh dans Snowflake, vous pouvez donc créer 3 bases :
- Bronze
- Silver
- Gold
Et dans chacune des bases, créez un schéma par data product.
La sécurité que nous verrons plus tard vous permettra de rendre étanches les éléments en fonctions de vos besoins.
Merci de votre attention.