Migration de Snowflake vers BigQuery : introduction

Ce document présente la migration des données de Snowflake vers BigQuery.

Pour faciliter les migrations vers BigQuery, Trusted Cloud by S3NS propose le service de migration BigQuery, une solution complète pour migrer votre entrepôt de données vers BigQuery. Le service de migration propose des fonctionnalités pour chaque phase de votre migration, y compris l'évaluation et la planification, la traduction SQL, le transfert de données et la validation des données. Pour en savoir plus, consultez la présentation du service BigQuery Migration.

Comparatif des fonctionnalités

Les sections suivantes mettent en évidence les principales différences et similitudes entre BigQuery et Snowflake, et présentent plusieurs fonctionnalités propres à BigQuery.

Terminologie

Le tableau suivant met en correspondance les termes propres à Snowflake et leurs équivalents pour BigQuery :

Snowflake BigQuery
Base de données Ensemble de données
Schéma Schéma
Afficher Afficher
Vues sécurisées Vues autorisées
Entrepôt virtuel Réservation
Vue matérialisée Vue matérialisée
Micro-partitions Partitionnement
Clustering Clustering
Fonctions définies par l'utilisateur sécurisées Fonctions définies par l'utilisateur autorisées

Architecture de BigQuery

BigQuery est un entrepôt de données analytiques doté d'une architecture hautement évolutive. BigQuery dissocie le stockage et le calcul, ce qui permet à ces composants d'évoluer indépendamment à la demande. Pour en savoir plus sur l'architecture dans BigQuery, consultez la présentation de BigQuery. Voici quelques fonctionnalités clés de BigQuery qui sont pertinentes pour le processus de migration des données :

  • BigQuery utilise des tables gérées et propose des options flexibles pour le transfert de données tierces. Cela inclut l'ingestion directe depuis Cloud Storage dans des formats portables tels que Parquet, Avro, ORC et CSV.

    • BigQuery est également compatible avec les tables Apache Iceberg. Iceberg est un format de table ouvert qui apporte des fonctionnalités de lakehouse à BigQuery, en fournissant des schémas évolutifs, des fonctionnalités temporelles et des transactions ACID. Cela permet une intégration parfaite avec d'autres systèmes utilisant Iceberg, et offre une plus grande flexibilité et un meilleur contrôle de vos données.
  • BigQuery vous permet de définir un partitionnement et un clustering explicites lorsque vous créez des tables. Cela vous permet de contrôler précisément l'organisation des données. Vous pouvez ainsi optimiser les performances des requêtes, réduire les coûts en partitionnant et en regroupant stratégiquement les données, et adapter la mise en page des données à vos besoins analytiques spécifiques.

  • BigQuery gère automatiquement les ressources de calcul. Vous n'avez pas besoin de provisionner ni de gérer de machines virtuelles.

    • Pour les charges de travail prévisibles, BigQuery propose des réservations qui vous permettent de réserver à l'avance de la capacité de calcul à moindre coût. Cela peut être avantageux pour les charges de travail cohérentes ayant des besoins en ressources prévisibles.
    • Pendant la migration, analysez vos modèles d'utilisation de Snowflake pour comprendre vos besoins de calcul et vous aider à déterminer l'approche la plus rentable dans BigQuery, qu'il s'agisse de la tarification à la demande ou de l'utilisation de réservations.

Interface utilisateur BigQuery

L'interface BigQuery est intégrée à la consoleTrusted Cloud .

BigQuery dispose également d'un outil de ligne de commande basé sur Python appelé outil de ligne de commande bq.

Fonctionnalités de sécurité de BigQuery

Lorsque vous migrez de Snowflake vers BigQuery, réfléchissez à la façon dontTrusted Cloud by S3NS gère la sécurité différemment de Snowflake.

La sécurité dans BigQuery est intrinsèquement liée à Identity and Access Management (IAM) dans Trusted Cloud by S3NS. Les droits IAM définissent les opérations autorisées sur une ressource et sont appliqués au niveau Trusted Cloud by S3NS . Ils offrent une approche centralisée et cohérente de la gestion de la sécurité. Voici quelques-unes des principales fonctionnalités de sécurité de Trusted Cloud by S3NS :

  • Sécurité intégrée : BigQuery utilise les fonctionnalités de sécurité de Trusted Cloud by S3NS. Cela inclut IAM pour un contrôle d'accès précis, afin d'assurer une intégration de sécurité robuste et fluide.
  • Sécurité au niveau des ressources : IAM se concentre sur le contrôle des accès au niveau des ressources, en accordant des autorisations aux utilisateurs et aux groupes pour différents services et ressources BigQuery. Cette approche permet de gérer efficacement les droits d'accès afin que les utilisateurs ne disposent que des autorisations nécessaires pour effectuer leurs tâches.
  • Sécurité du réseau : BigQuery bénéficie des fonctionnalités de sécurité réseau robustes de Trusted Cloud by S3NS, telles que le cloud privé virtuel et les connexions privées.

Lorsque vous migrez de Snowflake vers BigQuery, tenez compte des exigences de migration liées à la sécurité suivantes :

  • Configuration IAM : vous devez configurer les rôles et les autorisations IAM dans BigQuery pour qu'ils correspondent à vos règles de contrôle des accès Snowflake existantes. Cela implique de mapper les rôles Snowflake aux rôles et autorisations IAM BigQuery appropriés.
  • Contrôle des accès précis : si vous utilisez la sécurité au niveau des lignes ou des colonnes dans Snowflake, vous devrez implémenter des contrôles équivalents dans BigQuery à l'aide de vues autorisées ou de tags avec stratégie.
  • Migration des vues et des UDF : lorsque vous migrez des vues et des UDF, vérifiez que les contrôles de sécurité associés sont correctement traduits en vues autorisées et en UDF autorisées dans BigQuery.

Chiffrement

BigQuery chiffre vos données au repos et en transit par défaut. Si vous avez besoin de davantage de contrôle sur les clés de chiffrement, BigQuery est compatible avec les clés de chiffrement gérées par le client dans Cloud Key Management Service. Vous pouvez également utiliser le chiffrement au niveau des colonnes.

Pour assurer la sécurité des données pendant et après la migration vers BigQuery, tenez compte des points suivants :

  • Gestion des clés : si vous avez besoin de clés gérées par le client, définissez une stratégie de gestion des clés dans Cloud Key Management Service et configurez BigQuery pour qu'il utilise ces clés.
  • Masquage/Tokenisation des données : si des données sensibles sont impliquées, évaluez si le masquage ou la tokenisation des données sont nécessaires pour les protéger.
  • Sécurité au niveau des lignes : implémentez la sécurité au niveau des lignes à l'aide de vues autorisées, de filtres de sécurité au niveau des lignes ou d'autres méthodes appropriées.
  • Analyse des failles et tests d'intrusion : effectuez régulièrement des analyses des failles et des tests d'intrusion pour vérifier la sécurité de votre environnement BigQuery.

Rôles

Les rôles sont les entités pour lesquelles les droits sur les objets sécurisés peuvent être accordés et révoqués.

Dans IAM, les autorisations sont regroupées dans des rôles. IAM propose trois types de rôles :

  • Rôles de base : ces rôles incluent les rôles "Propriétaire", "Éditeur" et "Lecteur". Vous pouvez appliquer ces rôles au niveau des ressources du projet ou du service à l'aide de la consoleTrusted Cloud , de l'API Identity and Access Management ou de gcloud CLI. En règle générale, pour renforcer la sécurité, nous recommandons d'utiliser les rôles prédéfinis afin de respecter le principe du moindre privilège.
  • Rôles prédéfinis : ces rôles fournissent un accès plus précis aux fonctionnalités d'un produit (tel que BigQuery). Ils sont conçus pour des cas d'utilisation courants et des modèles de contrôle des accès.
  • Rôles personnalisés: ces rôles sont composés d'autorisations spécifiées par l'utilisateur.

Contrôle des accès

Snowflake vous permet d'attribuer des rôles à d'autres rôles, créant ainsi une hiérarchie de rôles. IAM n'est pas compatible avec une hiérarchie de rôles, mais met en œuvre une hiérarchie de ressources. La hiérarchie IAM inclut les niveaux de l'organisation, du dossier, du projet et des ressources. Vous pouvez définir des rôles IAM à n'importe quel niveau de la hiérarchie. Les ressources héritent de toutes les stratégies de leurs ressources parentes.

BigQuery est compatible avec le contrôle des accès au niveau de la table. Les autorisations au niveau de la table déterminent les utilisateurs, les groupes et les comptes de service autorisés à accéder à une table ou à une vue. Vous pouvez autoriser un utilisateur à accéder à des tables ou des vues spécifiques, sans lui accorder l'accès à l'ensemble de données entier.

Pour un accès plus précis, vous pouvez également utiliser le contrôle des accès au niveau des colonnes ou la sécurité au niveau des lignes. Ce type de contrôle fournit un accès précis aux colonnes sensibles à l'aide de tags avec stratégie ou de classifications de données basées sur le type.

Vous pouvez également créer des vues autorisées afin de limiter l'accès aux données et ainsi d'appliquer un contrôle d'accès plus précis. Cela permet aux utilisateurs spécifiés d'interroger une vue sans avoir accès en lecture aux tables sous-jacentes.

Migrer d'autres fonctionnalités Snowflake

Tenez compte des fonctionnalités Snowflake suivantes lorsque vous planifiez votre migration vers BigQuery. Dans certains cas, vous pouvez utiliser d'autres services dans Trusted Cloud pour effectuer votre migration.

Commencer

Les sections suivantes récapitulent le processus de migration de Snowflake vers BigQuery :

Exécuter une évaluation de la migration

Lors de votre migration de Snowflake vers BigQuery, nous vous recommandons de commencer par exécuter l'outil d'évaluation de la migration BigQuery pour évaluer la faisabilité et les avantages potentiels du transfert de votre entrepôt de données de Snowflake vers BigQuery. Cet outil fournit une approche structurée pour comprendre votre environnement Snowflake actuel et estimer l'effort nécessaire à une migration réussie.

L'exécution de l'outil d'évaluation de la migration BigQuery génère un rapport d'évaluation qui contient les sections suivantes :

  • Rapport sur le système existant : instantané du système Snowflake existant et de son utilisation, y compris le nombre de bases de données, de schémas et de tables, et la taille totale en To. Il répertorie également les schémas par taille et pointe vers une utilisation potentiellement sous-optimale des ressources, comme les tables sans écriture ou avec peu de lectures.
  • Suggestions de transformation vers l'état stable de BigQuery : montre à quoi ressemblera le système dans BigQuery après la migration. Il inclut des suggestions pour optimiser les charges de travail dans BigQuery et éviter les gaspillages.
  • Plan de migration : fournit des informations sur l'effort de migration lui-même. Par exemple, passer du système existant à l'état stable de BigQuery. Cette section inclut le nombre de requêtes traduites automatiquement, ainsi que le temps nécessaire pour déplacer chaque table vers BigQuery.

Pour en savoir plus sur les résultats d'une évaluation de la migration, consultez Examiner le rapport Looker Studio.

Configurer un pipeline de migration de Snowflake vers BigQuery

Une fois que vous avez examiné les résultats de votre évaluation de la migration, vous pouvez commencer votre migration vers Snowflake en configurant un pipeline de migration. Pour en savoir plus, consultez Migration de Snowflake vers BigQuery : présentation.

Valider votre migration

Une fois que vous avez migré vos données Snowflake vers BigQuery, exécutez l'outil de validation des données (DVT) pour valider les données BigQuery que vous venez de migrer. La validation des données vérifie différentes fonctions, du niveau des tables à celui des lignes, pour s'assurer que vos données migrées fonctionnent comme prévu.