Analyser vos données

Last reviewed 2023-08-08 UTC

Ce document du framework d'architecture Google Cloud explique certains des principes fondamentaux et des bonnes pratiques pour l'analyse de données dans Google Cloud. Vous découvrirez certains des services clés d'analyse de données, et la façon dont ils peuvent vous aider aux différentes étapes du cycle de vie des données. Ces bonnes pratiques vous aident à répondre à vos besoins d'analyse de données et à concevoir votre système.

Principes de base

Les entreprises souhaitent analyser des données et générer des insights exploitables à partir de celles-ci. Google Cloud propose divers services qui vous aident tout au long du cycle de vie des données, de l'ingestion à la création de rapports, en passant par la visualisation. La plupart de ces services sont entièrement gérés, et certains sont sans serveur. Vous pouvez également créer et gérer un environnement d'analyse de données sur des VM Compute Engine, par exemple en auto-hébergeant Apache Hadoop ou Beam.

Votre objectif particulier, votre expertise de l'équipe et votre perspective stratégique vous aident à déterminer les services Google Cloud que vous adoptez pour répondre à vos besoins d'analyse de données. Par exemple, Dataflow vous permet d'écrire des transformations complexes dans une approche sans serveur, mais vous devez vous appuyer sur une version rigoureuse des configurations pour les besoins de calcul et de traitement. Sinon, Dataproc vous permet d'exécuter les mêmes transformations, mais vous gérez les clusters et ajustez les tâches vous-même.

Dans la conception de votre système, réfléchissez à la stratégie de traitement utilisée par vos équipes, telle que extraction, transformation, chargement (ETL) ou extraction, chargement, transformation (ELT). La conception de votre système doit également déterminer si vous devez traiter des analyses par lots ou des analyses de flux. Google Cloud fournit une plate-forme de données unifiée, et vous permet de créer un lac de données ou un entrepôt de données pour répondre à vos besoins métier.

Principaux services

Le tableau suivant offre une vue d'ensemble des services d'analyse Google Cloud :

Service Google Cloud Description
Pub/Sub Une base simple, fiable et évolutive pour l'analyse des flux et le calcul informatique basé sur des événements.
Dataflow Service entièrement géré pour transformer et enrichir les données en mode flux (temps réel) ou lot (historique).
Dataprep by Trifacta Service de données intelligent pour explorer, nettoyer et préparer visuellement des données structurées et non structurées à des fins d'analyse.
Dataproc Service cloud rapide, facile à utiliser et entièrement géré permettant d'exécuter des clusters Apache Spark et Apache Hadoop.
Cloud Data Fusion Service d'intégration de données entièrement géré, conçu pour le cloud, et permettant de créer et de gérer des pipelines de données ETL/ELT. Cloud Data Fusion fournit une interface graphique et une vaste bibliothèque Open Source de connecteurs et de transformations préconfigurés.
BigQuery Entrepôt de données sans serveur, entièrement géré et à faible coût, qui évolue en fonction de vos besoins en termes de stockage et de puissance de calcul. BigQuery est une base de données en colonnes et ANSI SQL capable d'analyser plusieurs téraoctets ou pétaoctets de données.
Cloud Composer Service d'orchestration de workflows entièrement géré qui vous permet de créer, de planifier et de surveiller vos pipelines dans plusieurs clouds ou des centres de données sur site.
Data Catalog Service de gestion des métadonnées entièrement géré et évolutif qui vous aide à découvrir, gérer et comprendre toutes vos données.
Looker Studio Service d'analyse visuelle entièrement géré qui peut vous aider à obtenir des insights à partir de vos données, via des tableaux de bord interactifs.
Looker Plate-forme d'entreprise qui connecte, analyse et visualise les données dans des environnements multicloud.
Dataform Produit entièrement géré pour vous aider à collaborer, à créer et à déployer des pipelines de données, et garantir la qualité des données.
Dataplex Service de lac de données géré qui gère, surveille et régit les données de manière centralisée sur les lacs de données, les entrepôts de données et les magasins de données à l'aide de contrôles cohérents.
Analytics Hub Plate-forme qui échange de manière efficace et sécurisée des éléments d'analyse de données au sein de votre organisation afin de relever les défis liés à la fiabilité et aux coûts des données.

Cycle de vie des données

Lorsque vous concevez votre système, vous pouvez regrouper les services d'analyse de données Google Cloud autour du transfert général des données dans un système ou autour du cycle de vie des données.

Le cycle de vie des données comprend les étapes et exemples de services suivants :

Les étapes et services suivants s'exécutent sur l'ensemble du cycle de vie des données :

  • L'intégration des données inclut des services tels que Data Fusion.
  • La gestion et la gouvernance des métadonnées incluent des services tels que Data Catalog.
  • La gestion des workflows inclut des services tels que Cloud Composer.

Ingestion de données

Appliquez les bonnes pratiques suivantes à votre propre environnement pour l'ingestion de données.

Déterminer la source de données pour l'ingestion

Les données proviennent généralement d'un autre fournisseur ou service cloud, ou d'un emplacement sur site :

Réfléchissez à la manière dont vous souhaitez traiter vos données après leur ingestion. Par exemple, le service de transfert de stockage n'écrit que des données dans un bucket Cloud Storage et le service de transfert de données BigQuery n'écrit que des données dans un ensemble de données BigQuery. Cloud Data Fusion est compatible avec plusieurs destinations.

Identifier les sources de données par flux ou par lot

Réfléchissez à la façon dont vous devez utiliser vos données et identifiez les cas d'utilisation par flux ou par lot. Par exemple, si vous exécutez un service de streaming global ayant des exigences de faible latence, vous pouvez utiliser Pub/Sub. Si vous avez besoin de vos données pour des analyses et des rapports, vous pouvez diffuser des données dans BigQuery.

Si vous avez besoin de diffuser des données en flux continu à partir d'un système tel que Apache Kafka dans un environnement sur site ou dans un autre environnement cloud, utilisez le modèle Dataflow Kafka vers BigQuery. Pour les charges de travail par lot, la première étape consiste généralement à ingérer des données dans Cloud Storage. Utilisez l'outil gsutil ou le service de transfert de stockage pour ingérer des données.

Ingérer des données avec des outils automatisés

Transférer manuellement des données depuis d'autres systèmes dans le cloud peut s'avérer compliqué. Si possible, utilisez des outils vous permettant d'automatiser les processus d'ingestion de données. Par exemple, Cloud Data Fusion fournit des connecteurs et des plug-ins permettant d'importer des données à partir de sources externes avec une IUG avec glisser-déposer. Si vos équipes souhaitent écrire du code, Dataflow ou BigQuery peuvent vous aider à automatiser l'ingestion de données. Pub/Sub peut être utile dans les deux cas de figure (peu de code ou approche axée sur le code). Pour ingérer des données dans des buckets de stockage, utilisez gsutil pour des tailles de données allant jusqu'à 1 To. Pour ingérer des quantités de données supérieures à 1 To, utilisez le service de transfert de stockage.

Utiliser des outils de migration pour ingérer un autre entrepôt de données

Si vous devez effectuer une migration depuis un autre système d'entreposage de données, tel que Teradata, Netezza ou Redshift, vous pouvez utiliser l'assistance à la migration du service de transfert de données BigQuery. Le service de transfert de données BigQuery fournit également des transferts tiers permettant d'ingérer des données de manière planifiée à partir de sources externes. Pour plus d'informations, consultez les approches de migration détaillées pour chaque entrepôt de données.

Estimer vos besoins en matière d'ingestion de données

Le volume de données que vous devez ingérer vous permet de déterminer le service à utiliser dans la conception de votre système. Pour l'ingestion de données en streaming, Pub/Sub effectue un scaling à des dizaines de gigaoctets par seconde. La capacité, le stockage et les exigences régionales de vos données vous aident à déterminer si Pub/Sub Lite est une meilleure option pour la conception de votre système. Pour plus d'informations, consultez la page Choisir Pub/Sub ou Pub/Sub Lite.

Pour l'ingestion de données par lots, estimez la quantité de données que vous souhaitez transférer au total, et la vitesse à laquelle vous souhaitez le faire. Examinez les options de migration disponibles, y compris en établissant une estimation sur la durée et une comparaison des transferts en ligne et hors connexion.

Utiliser les outils appropriés pour ingérer régulièrement les données de manière planifiée

Le service de transfert de stockage et le service de transfert de données BigQuery vous permettent de planifier des tâches d'ingestion. Pour contrôler avec précision le moment de l'ingestion, ou le système source et de destination, utilisez un système de gestion de workflows tel que Cloud Composer. Si vous souhaitez une approche plus manuelle, vous pouvez utiliser Cloud Scheduler et Pub/Sub pour déclencher une fonction Cloud.
Si vous souhaitez gérer l'infrastructure Compute, vous pouvez exécuter la commande gsutil avec Cron pour transférer des données allant jusqu'à 1 To. Si vous utilisez cette approche manuelle au lieu de Cloud Composer, suivez les bonnes pratiques pour créer des transferts de production.

Examiner les besoins en ingestion de données du serveur FTP/SFTP

Si vous avez besoin d'un environnement sans code pour ingérer les données d'un serveur FTP/SFTP, vous pouvez utiliser les plug-ins de copie FTP. Si vous souhaitez moderniser et créer une solution de workflow à long terme, Cloud Composer est un service entièrement géré qui vous permet de lire et d'écrire à partir de différents récepteurs et sources.

Utiliser des connecteurs Apache Kafka pour ingérer des données

Si vous utilisez Pub/Sub, Dataflow ou BigQuery, vous pouvez ingérer des données à l'aide de l'un des connecteurs Apache Kafka. Par exemple, le connecteur Kafka Open Source pour Pub/Sub vous permet d'ingérer des données provenant de Pub/Sub ou de Pub/Sub Lite.

Autres ressources

Stockage des données

Appliquez les bonnes pratiques de stockage de données suivantes à votre propre environnement.

Choisissez le datastore adapté à vos besoins

Pour vous aider à choisir le type de solution de stockage à utiliser, examinez et comprenez l'utilisation en aval de vos données. Les cas d'utilisation courants de données suivants fournissent des recommandations pour les produits Google Cloud à utiliser :

Cas d'utilisation de données Recommandation de produits
Basé sur un fichier Filestore
Basés sur les objets Cloud Storage
Latence faible Bigtable
Séries temporelles Bigtable
Cache en ligne Memorystore
Traitement des transactions Cloud SQL
Informatique décisionnelle (BI) et analyses BigQuery
Traitement par lot Cloud Storage

Bigtable si les données entrantes sont des séries temporelles et que vous avez besoin d'un accès à faible latence.

BigQuery si vous utilisez SQL.

Examiner vos besoins en matière de structure de données

Pour la plupart des données non structurées, telles que les documents et les fichiers texte, les fichiers audio et vidéo ou les journaux, un magasin basé sur les objets est le choix le plus approprié. Vous pouvez ensuite charger et traiter les données à partir du stockage d'objets lorsque vous en avez besoin.

Pour les données semi-structurées, telles que XML ou JSON, vos cas d'utilisation et modèles d'accès aux données vous aident à faire votre choix. Vous pouvez charger ces ensembles de données dans BigQuery pour la détection automatique de schéma. Si vous avez des exigences de faible latence, vous pouvez charger vos données JSON dans Bigtable. Si vous avez d'anciennes exigences ou si vos applications fonctionnent avec des bases de données relationnelles, vous pouvez également charger des ensembles de données dans un magasin de relations.

Pour les données structurées, telles que CSV, Parquet, Avro ou ORC, vous pouvez utiliser BigQuery si vous avez des exigences en termes d'informatique décisionnelle et d'analyse utilisant SQL. Pour en savoir plus, consultez la section Charger des données par lot. Si vous souhaitez créer un lac de données basé sur des normes et des technologies ouvertes, vous pouvez utiliser Cloud Storage.

Migrer des données et réduire les coûts pour HDFS

Essayez de transférer les données du système de fichiers distribué Hadoop (HDFS, Hadoop Distributed File System) depuis un environnement sur site ou un autre fournisseur cloud vers un système de stockage d'objets moins coûteux. Cloud Storage est l'option la plus courante que les entreprises utilisent comme magasin de données alternatif. Pour en savoir plus sur les avantages et les inconvénients de ce choix, consultez la section HDFS par rapport à Cloud Storage.

Vous pouvez déplacer des données avec une méthode push ou pull. Les deux méthodes utilisent la commande hadoop distcp. Pour en savoir plus, consultez la page Migrer des données HDFS sur site vers Google Cloud.

Vous pouvez également utiliser le connecteur Cloud Storage Open Source pour permettre aux tâches Hadoop et Spark d'accéder aux données dans Cloud Storage. Le connecteur est installé par défaut sur les clusters Dataproc et peut être installé manuellement sur d'autres clusters.

Utiliser le stockage d'objets pour créer un lac de données cohérent

Un lac de données est un dépôt centralisé conçu pour stocker, traiter et sécuriser de grands volumes de données structurées, semi-structurées et non structurées. Vous pouvez utiliser Cloud Composer et Cloud Data Fusion pour créer un lac de données.

Pour créer une plate-forme de données moderne, vous pouvez utiliser BigQuery comme source de données centrale au lieu de Cloud Storage. BigQuery est un entrepôt de données moderne offrant une séparation du stockage et du calcul. Un lac de données créé sur BigQuery vous permet d'effectuer des analyses traditionnelles à partir de BigQuery dans la console Cloud. Vous pouvez également accéder aux données stockées à partir d'autres frameworks, tels qu'Apache Spark.

Autres ressources

Traiter et transformer les données

Appliquez les bonnes pratiques d'analyse de données suivantes à votre propre environnement lorsque vous traitez et transformez des données.

Découvrir les logiciels Open Source que vous pouvez utiliser dans Google Cloud

De nombreux services Google Cloud utilisent des logiciels Open Source pour faciliter la transition. Google Cloud propose des solutions gérées et sans serveur qui disposent d'API ouvertes et sont compatibles avec les frameworks Open Source pour réduire la dépendance vis-à-vis d'un fournisseur.

Dataproc est un service géré compatible avec Hadoop qui vous permet d'héberger des logiciels Open Source avec une faible charge opérationnelle. Dataproc est compatible avec Spark, Hive, Pig, Presto et Zookeeper. Il fournit également Hive Metastore en tant que service géré pour ne plus constituer un point de défaillance unique dans l'écosystème Hadoop.

Vous pouvez migrer vers Dataflow si vous utilisez actuellement Apache Beam comme moteur de traitement par lot et par flux. Dataflow est un service sans serveur entièrement géré qui utilise Apache Beam. Utilisez Dataflow pour écrire des tâches dans Beam, mais laissez Google Cloud gérer l'environnement d'exécution.

Si vous utilisez CDAP comme plate-forme d'intégration de données, vous pouvez migrer vers Cloud Data Fusion pour bénéficier d'une expérience entièrement gérée.

Déterminer vos besoins en termes de traitement des données ETL ou ELT

L'expérience et les préférences de votre équipe permettent de déterminer la conception de votre système pour le traitement des données. Google Cloud vous permet d'utiliser des systèmes de traitement de données ETL, plus traditionnels, ou ELT, plus modernes.

Utiliser le framework approprié pour votre cas d'utilisation des données

Vos cas d'utilisation des données déterminent les outils et les frameworks à utiliser. Certains produits Google Cloud sont conçus pour gérer tous les cas d'utilisation de données suivants, tandis que d'autres n'acceptent qu'un seul cas d'utilisation spécifique.

  • Pour un système de traitement de données par lot, vous pouvez traiter et transformer des données dans BigQuery via une interface SQL connue. Si un pipeline existant s'exécute sur Apache Hadoop ou Spark sur site ou dans un autre cloud public, vous pouvez utiliser Dataproc.
    • Vous pouvez également utiliser Dataflow si vous souhaitez une interface de programmation unifiée pour les cas d'utilisation par lot et par flux. Nous vous recommandons de moderniser et d'utiliser Dataflow pour l'ETL et BigQuery pour l'ELT.
  • Pour les pipelines de données par flux, vous utilisez un service géré et sans serveur tel que Dataflow qui fournit des fonctionnalités de fenêtrage, d'autoscaling et des modèles. Pour en savoir plus, consultez la page Créer des pipelines de données prêts pour la production à l'aide de Dataflow.

  • Pour les cas d'utilisation en temps réel, comme l'analyse de séries temporelles ou l'analyse de flux vidéo, utilisez Dataflow.

Garder le contrôle sur votre moteur d'exécution

Pour minimiser la dépendance vis-à-vis d'un fournisseur et pouvoir utiliser une autre plate-forme à l'avenir, utilisez le modèle de programmation Apache Beam et Dataflow en tant que solution gérée sans serveur. Le modèle de programmation Beam vous permet de changer de moteur d'exécution sous-jacent, en passant par exemple de Dataflow à Apache Flink ou Apache Spark.

Utiliser Dataflow pour ingérer des données provenant de plusieurs sources

Pour ingérer des données issues de plusieurs sources, telles que Pub/Sub, Cloud Storage, HDFS, S3 ou Kafka, utilisez Dataflow. Dataflow est un service géré sans serveur compatible avec les modèles Dataflow, qui permet à vos équipes d'exécuter des modèles à partir de différents outils.

Dataflow Prime permet l'autoscaling horizontal et vertical des machines utilisées dans le processus d'exécution d'un pipeline. Il fournit également des diagnostics et des recommandations intelligents qui identifient les problèmes et suggèrent comment les résoudre.

Détecter, identifier et protéger les données sensibles

Utilisez la protection des données sensibles pour inspecter et transformer les données structurées et non structurées. La protection des données sensibles peut traiter des données situées n'importe où dans Google Cloud, par exemple des données contenues dans Cloud Storage ou dans des bases de données. Vous pouvez classer, masquer et tokeniser vos données sensibles pour continuer à les utiliser en toute sécurité pour un traitement en aval. Utilisez la protection des données sensibles pour effectuer des actions telles que l'analyse des données BigQuery ou l'anonymisation et la restauration des informations personnelles dans les ensembles de données à grande échelle.

Moderniser vos processus de transformation des données

Utilisez Dataform pour écrire les transformations de données sous forme de code et commencer à utiliser le contrôle des versions par défaut. Vous pouvez également adopter les bonnes pratiques de développement logiciel, telles que l'intégration et la livraison continues, les tests unitaires et le contrôle des versions pour le code SQL. Dataform est compatible avec les principaux produits et bases de données d'entrepôts de données cloud, tels que PostgreSQL.

Autres ressources

Analyses de données et entrepôts

Appliquez les bonnes pratiques suivantes pour l'analyse de données et les entrepôts à votre propre environnement.

Examiner vos besoins en matière de stockage des données

Les lacs de données et les entrepôts de données ne s'excluent pas mutuellement. Les lacs de données sont utiles pour le stockage et le traitement de données non structurées et semi-structurées. Les entrepôts de données sont plus adaptés aux analyses et à l'informatique décisionnelle.

Examinez vos besoins en matière de données pour déterminer où stocker vos données et quel produit Google Cloud est le plus approprié pour les traiter et les analyser. Des produits tels que BigQuery peuvent traiter des pétaoctets de données et évoluer à la demande.

Identifier les possibilités de migration d'un entrepôt de données traditionnel vers BigQuery

Passez en revue les entrepôts de données traditionnels actuellement utilisés dans votre environnement. Pour réduire la complexité et potentiellement réduire les coûts, identifiez les opportunités de migration de vos entrepôts de données traditionnels vers un service Google Cloud tel que BigQuery. Pour obtenir plus d'informations et des exemples de scénarios, consultez la page Migrer des entrepôts de données vers BigQuery.

Planifier l'accès fédéré aux données

Examinez vos exigences en termes de données et découvrez comment interagir avec d'autres produits et services. Identifiez vos besoins en termes de fédération de données et concevez un système de manière appropriée.

Par exemple, BigQuery vous permet de définir des tables externes capables de lire les données d'autres sources, telles que Bigtable, Cloud SQL, Cloud Storage ou Google Drive. Vous pouvez joindre ces sources externes aux tables que vous stockez dans BigQuery.

Utiliser les emplacements Flex BigQuery pour offrir une capacité d'utilisation intensive à la demande

Parfois, vous avez besoin de capacité supplémentaire pour effectuer des analyses expérimentales ou exploratoires nécessitant beaucoup de ressources de calcul. BigQuery vous permet d'obtenir une capacité de calcul supplémentaire sous la forme d'emplacements Flex. Ces emplacements Flex vous aident à faire face à une période de forte demande ou à effectuer une analyse importante.

Comprendre les différences de schéma si vous migrez vers BigQuery

BigQuery accepte les schémas en étoile et en flocon de neige, mais utilise par défaut des champs imbriqués et répétés. Les champs imbriqués et répétés peuvent être plus faciles à lire et à mettre en corrélation que d'autres schémas. Si vos données sont représentées dans un schéma en étoile ou en flocon de neige et que vous souhaitez migrer vers BigQuery, examinez la conception de votre système pour détecter les modifications nécessaires des processus ou des analyses.

Autres ressources

Rapports et visualisation

Appliquez les bonnes pratiques de création de rapports et de visualisation suivantes à votre propre environnement.

Visualiser vos données à l'aide de BigQuery BI Engine

BigQuery BI Engine est un service d'analyse en mémoire rapide. BI Engine peut analyser les données stockées dans BigQuery avec un temps de réponse aux requêtes inférieur à une seconde et une simultanéité élevée. BI Engine est intégré à l'API BigQuery. Utilisez la capacité BI Engine réservée pour gérer la tarification à la demande ou forfaitaire selon vos besoins. BI Engine peut également fonctionner avec d'autres applications de tableau de bord d'informatique décisionnelle ou personnalisées nécessitant des temps de réponse inférieurs à une seconde.

Moderniser vos processus d'informatique décisionnelle avec Looker

Looker est une plate-forme moderne d'entreprise pour l'informatique décisionnelle, les applications de données et les analyses intégrées. Vous pouvez créer des modèles de données cohérents au-dessus de vos données avec rapidité et précision. Vous pouvez accéder aux données dans des datastores transactionnels et analytiques. Looker peut également analyser vos données sur plusieurs bases de données et clouds. Si vous disposez de processus et d'outils d'informatique décisionnelle existants, nous vous recommandons de moderniser et d'utiliser une plate-forme centrale telle que Looker.

Autres ressources

Utiliser des outils de gestion des workflows

L'analyse de données implique de nombreux processus et services. Les données sont déplacées dans différents outils et pipelines de traitement au cours du cycle de vie de l'analyse de données. Pour gérer et maintenir des pipelines de données de bout en bout, utilisez des outils de gestion de workflow appropriés. Cloud Composer est un outil de gestion des workflows entièrement géré basé sur le projet Open Source Apache Airflow.

Vous pouvez utiliser Cloud Composer pour lancer des pipelines Dataflow et utiliser des modèles de workflow Dataproc. Cloud Composer peut également vous aider à créer un pipeline CI/CD pour tester, synchroniser et déployer des DAG ou utiliser un pipeline CI/CD pour les workflows de traitement de données. Pour en savoir plus, consultez la page Bonnes pratiques de développement pour Cloud Composer.

Ressources de migration

Si vous exécutez déjà une plate-forme d'analyse de données et que vous souhaitez migrer une partie ou l'ensemble des charges de travail vers Google Cloud, consultez les ressources de migration suivantes pour connaître les bonnes pratiques et obtenir des conseils :

Étape suivante

Découvrez les bonnes pratiques de conception de systèmes pour l'IA et le machine learning Google Cloud, y compris :

Découvrez d'autres catégories du framework d'architecture telles que la fiabilité, l'excellence opérationnelle, la sécurité, la confidentialité et la conformité.