Présentation des analyses BigQuery

Ce document décrit la manière dont BigQuery traite les requêtes et présente plusieurs fonctionnalités utiles pour l'analyse de données.

BigQuery est optimisé pour exécuter des requêtes analytiques sur de grands ensembles de données, y compris des téraoctets de données en quelques secondes et des pétaoctets de données en quelques minutes. Comprendre ses capacités et la manière dont il traite les requêtes peut vous aider à optimiser vos investissements dans l'analyse de données.

Pour découvrir les fonctionnalités d'analyse de données de BigQuery directement dans la console Google Cloud, cliquez sur Visite guidée.

Visite guidée

Workflows analytiques

BigQuery accepte plusieurs workflows d'analyse de données:

  • Analyses ad hoc. BigQuery utilise GoogleSQL, le dialecte SQL de BigQuery, pour prendre en charge les analyses ad hoc. Vous pouvez exécuter des requêtes dans la console Google Cloud ou via des outils tiers qui s'intègrent à BigQuery.

  • Analyse géospatiale. BigQuery utilise des types de données géographiques et des fonctions de géographie GoogleSQL pour vous permettre d'analyser et de visualiser des données géospatiales. Pour en savoir plus sur ces types de données et fonctions, consultez la page Présentation des analyses géospatiales.

  • Machine learning. BigQuery ML utilise des requêtes GoogleSQL pour vous permettre de créer et d'exécuter des modèles de machine learning (ML) dans BigQuery.

  • Informatique décisionnelle. BigQuery BI Engine est un service d'analyse en mémoire rapide qui vous permet de créer des tableaux de bord et des rapports interactifs riches sans compromettre les performances, l'évolutivité, la sécurité ou la fraîcheur des données.

Requêtes

La requête SQL est la principale unité d'analyse dans BigQuery. BigQuery comporte deux dialectes SQL : GoogleSQL et l'ancien SQL. GoogleSQL est le dialecte recommandé. Il est compatible avec SQL:2011 et inclut des extensions compatibles avec l'analyse géospatiale ou le ML.

Dans les sections suivantes, nous allons voir comment BigQuery accepte et exécute les requêtes de données.

Sources de données

BigQuery vous permet d'interroger les types de sources de données suivants:

  • Données stockées dans BigQuery. Vous pouvez charger des données dans BigQuery pour les analyser. Vous pouvez également générer des données à l'aide d'instructions LMD (langage de manipulation de données) ou en écrivant les résultats des requêtes dans une table. Vous pouvez interroger des données stockées dans des emplacements régionaux ou multirégionaux, mais vous ne pouvez pas exécuter de requête sur plusieurs emplacements même si l'un est un emplacement comprenant une seule région et l'autre est l'emplacement multirégional contenant cet emplacement régional. Pour en savoir plus, consultez la section Emplacements, réservations et tâches.

  • Données externes. Vous pouvez interroger diverses sources de données externes, telles que d'autres services de stockage Google Cloud (tels que Cloud Storage) ou des services de base de données (tels que Spanner ou Cloud SQL). Pour en savoir plus sur la configuration de connexions à des sources externes, consultez la page Présentation des sources de données externes.

  • Données multicloud. Vous pouvez interroger des données stockées dans d'autres clouds publics, tels qu'AWS ou Azure. Pour en savoir plus sur la configuration des connexions à Amazon S3 ou Azure Blob Storage, consultez la présentation de BigQuery Omni.

  • Ensembles de données publics. Si vous ne disposez pas de vos propres données, vous pouvez analyser n'importe quel ensemble de données disponible sur la place de marché des ensembles de données publics.

Tâches de requête

Les tâches sont des actions que BigQuery exécute en votre nom pour charger, exporter, interroger ou copier des données.

Lorsque vous utilisez la console Google Cloud ou l'outil bq pour effectuer l'une de ces tâches, une ressource de tâche est automatiquement créée, planifiée et exécutée. Vous pouvez également créer une tâche de chargement, d'exportation, de requête ou de copie de manière automatisée. Dans ce cas, BigQuery planifie et exécute la tâche à votre place.

Comme les tâches peuvent durer un certain temps, elles s'exécutent de manière asynchrone, et il est possible d'interroger leur état. Les actions plus courtes (telles que la récupération d'une liste de ressources ou l'obtention de métadonnées) ne sont pas gérées par une ressource de tâche.

Types de requêtes

Vous pouvez interroger des données BigQuery à l'aide de l'un des types de job de requête suivants :

  • Tâches de requête interactives. Par défaut, BigQuery exécute des tâches de requête interactives (à la demande) dès que possible.
  • Jobs de requête continue (preview). Avec ces jobs, la requête s'exécute en continu, ce qui vous permet d'analyser les données entrantes dans BigQuery en temps réel, puis d'écrire les résultats dans une table BigQuery ou de les exporter vers Bigtable ou Pub/Sub. Grâce à cette fonctionnalité, vous pouvez effectuer des tâches urgentes, telles que la création et l'action immédiate sur les insights, l'application d'inférences de machine learning (ML) en temps réel et la création de pipelines de données basés sur des événements.

  • Tâches de requête par lot. Avec ces tâches, BigQuery met en file d'attente chaque requête par lot en votre nom, puis lance la requête lorsque des ressources inactives sont disponibles, généralement en quelques minutes.

Vous pouvez exécuter des jobs de requête à l'aide des méthodes suivantes :

Requêtes enregistrées et partagées

BigQuery vous permet d'enregistrer des requêtes et de les partager avec d'autres utilisateurs.

Lorsque vous enregistrez une requête, celle-ci peut être privée (visible par vous uniquement), partagée au niveau du projet (visible par des comptes principaux spécifiques) ou publique (visible par tout le monde). Pour en savoir plus, consultez la page Utiliser des requêtes enregistrées.

Traitement des requêtes par BigQuery

Plusieurs processus se produisent lorsque BigQuery exécute une requête:

  • Arborescence d'exécution. Lorsque vous exécutez une requête, BigQuery génère une arborescence d'exécution qui divise cette requête en phases. Ces phases contiennent des étapes pouvant s'exécuter en parallèle.

  • Niveau de brassage. Les phases communiquent entre elles à l'aide d'un niveau de brassage rapide et distribué, qui stocke les données intermédiaires produites par les nœuds de calcul d'une étape. Dans la mesure du possible, le niveau de brassage exploite des technologies telles qu'un réseau de pétaoctets et une mémoire RAM pour déplacer rapidement les données vers les nœuds de calcul.

  • Plan de requête. Lorsque BigQuery dispose de toutes les informations nécessaires à l'exécution d'une requête, il génère un plan de requête. Vous pouvez afficher ce plan dans la console Google Cloud et l'utiliser pour dépanner ou optimiser les performances des requêtes.

  • Surveillance des requêtes et planification dynamique. Outre les nœuds de calcul qui effectuent le travail du plan de requête, d'autres nœuds de calcul surveillent et dirigent la progression globale du travail dans le système. À mesure que la requête avance, BigQuery peut ajuster de manière dynamique le plan de requête pour s'adapter aux résultats des différentes étapes.

  • Résultats de la requête. Lorsqu'une requête est terminée, BigQuery écrit les résultats dans l'espace de stockage persistant et les renvoie à l'utilisateur. Cette conception permet à BigQuery de diffuser les résultats mis en cache lors de la prochaine exécution de cette requête.

Simultanéité des requêtes et performances

Les performances des requêtes exécutées de manière répétée sur les mêmes données peuvent parfois varier de quelques millisecondes. Des variations de performances peuvent se produire en raison de la nature partagée de l'environnement BigQuery ou du fait que BigQuery ajuste dynamiquement le plan de requête pendant l'exécution de la requête. Pour un système fortement sollicité dans lequel de nombreuses requêtes s'exécutent simultanément, BigQuery utilise plusieurs processus pour atténuer les variations de performances des requêtes:

  • BigQuery exécute de nombreuses requêtes en parallèle. Il est donc rarement nécessaire de placer des requêtes en file d'attente.

    Dans les systèmes fortement sollicités, les files d'attente sont une source majeure d'imprévisibilité des performances, car il est difficile de savoir combien de temps une requête va rester en file d'attente. Le temps passé par une requête en file d'attente peut davantage dépendre des autres requêtes en cours d'exécution ou en file d'attente que des qualités de la requête elle-même.

  • À mesure que les requêtes démarrent et se terminent, BigQuery redistribue les ressources de manière équitable entre les nouvelles requêtes et celles en cours d'exécution. Ce processus garantit que les performances des requêtes ne dépendent pas de l'ordre dans lequel elles sont soumises, mais plutôt du nombre de requêtes exécutées à un moment donné.

Optimisation des requêtes

Une fois la requête terminée, vous pouvez afficher le plan de requête dans la console Google Cloud. Vous pouvez également demander des détails d'exécution à l'aide des vues INFORMATION_SCHEMA.JOBS* ou de la méthode de l'API REST jobs.get.

Le plan de requête fournit des détails sur les phases et les étapes de la requête. Ces informations peuvent vous aider à identifier les moyens d'améliorer les performances des requêtes. Par exemple, si vous remarquez une étape qui écrit beaucoup plus de résultats que d'autres, vous devrez peut-être filtrer plus tôt la requête.

Pour en savoir plus sur le plan de requête et l'optimisation des requêtes, consultez les ressources suivantes:

Surveillance des requêtes

La surveillance et la journalisation sont essentielles pour exécuter des applications fiables dans le cloud. Les charges de travail BigQuery ne font pas exception, en particulier si vos charges de travail ont un volume élevé ou qu'elles sont critiques. BigQuery fournit plusieurs métriques, journaux et vues de métadonnées pour vous aider à surveiller votre utilisation de BigQuery.

Pour en savoir plus, consultez les ressources suivantes :

Tarifs des requêtes

BigQuery propose deux modèles de tarification pour les analyses :

Pour en savoir plus sur les deux modèles de tarification et sur la réservation de tarifs basés sur la capacité, consultez la page Présentation des réservations.

Maîtriser les coûts des requêtes et les quotas

BigQuery applique des quotas au niveau du projet lors de l'exécution des requêtes. Pour plus d'informations sur les quotas de requêtes, consultez la page Quotas et limites.

Pour maîtriser les coûts des requêtes, BigQuery propose plusieurs options telles que les quotas personnalisés et les alertes de facturation. Pour en savoir plus, consultez la page sur la création de contrôles de coût personnalisés.

Fonctionnalités d'analyse de données

BigQuery est compatible avec les analyses descriptives et prédictives. Pour interroger directement vos données afin de répondre à certaines questions statistiques, vous pouvez utiliser la console Google Cloud. Pour explorer visuellement les données, par exemple pour identifier les tendances et les anomalies, vous pouvez utiliser des outils tels que Tableau ou Looker qui s'intègrent à BigQuery.

BigQuery Studio

BigQuery Studio vous permet de découvrir, d'analyser et d'exécuter des inférences sur les données dans BigQuery à l'aide des fonctionnalités suivantes :

Pour utiliser BigQuery Studio, suivez les instructions de l'article Activer BigQuery Studio pour la gestion des éléments. Ce processus active les API suivantes :

  • API Compute Engine : requise pour exécuter des fonctions Python dans votre projet.
  • API Dataform : requise pour stocker des éléments de code, par exemple des fichiers de notebook.
  • API Vertex AI : requise pour exécuter des notebooks Colab Enterprise dans BigQuery.

BigQuery ML

BigQuery ML vous permet d'utiliser SQL dans BigQuery pour effectuer des opérations de machine learning (ML) et d'analyse prédictive. Pour en savoir plus, consultez la section Présentation de BigQuery ML.

Intégration des outils d'analyse

En plus d'exécuter des requêtes dans BigQuery, vous pouvez analyser vos données avec divers outils d'analyse et d'informatique décisionnelle qui s'intègrent à BigQuery, dont voici quelques exemples :

  • Looker. Looker est une plate-forme d'entreprise pour l'informatique décisionnelle, les applications de données et les analyses intégrées. La plate-forme Looker fonctionne avec de nombreux datastores, y compris BigQuery. Pour en savoir plus sur la connexion de Looker à BigQuery, consultez la page Utiliser Looker.

  • Looker Studio. Après avoir exécuté une requête, vous pouvez lancer Looker Studio directement à partir de BigQuery dans la console Google Cloud. Ensuite, dans Looker Studio, vous pouvez créer des visualisations et explorer les données renvoyées par la requête. Pour en savoir plus sur Looker Studio, consultez la page Présentation de Looker Studio.

  • Feuilles connectées. Vous pouvez également lancer des feuilles connectées directement à partir de BigQuery dans la console. Les feuilles connectées exécutent des requêtes BigQuery en votre nom, à votre demande ou selon un calendrier défini. Les résultats de ces requêtes sont enregistrés dans votre feuille de calcul afin d'être analysés et partagés. Pour en savoir plus sur les feuilles connectées, consultez la page Utiliser des feuilles connectées.

Intégration d'outils tiers

Plusieurs outils d'analyse tiers fonctionnent avec BigQuery. Par exemple, vous pouvez connecter Tableau à des données BigQuery et utiliser ses outils de visualisation pour examiner et partager vos analyses. Pour plus d'informations sur les critères à prendre en compte lors de l'utilisation d'outils tiers, consultez la section Intégration d'outils tiers.

Des pilotes ODBC et JDBC sont disponibles et peuvent être utilisés pour intégrer votre application à BigQuery. Le rôle de ces pilotes est d'aider les utilisateurs à allier la puissance de BigQuery aux outils et infrastructures existants. Pour en savoir plus sur la version la plus récente et les problèmes connus, consultez la page Pilotes ODBC et JDBC pour BigQuery.

Les bibliothèques pandas telles que pandas-gbq vous permettent d'interagir avec les données BigQuery dans les notebooks Jupyter. Pour en savoir plus sur cette bibliothèque et la comparer à la bibliothèque cliente Python de BigQuery, consultez la page Comparaison avec pandas-gbq.

Vous pouvez également utiliser BigQuery avec d'autres notebooks et outils d'analyse. Pour en savoir plus, consultez la section Outils d'analyse programmatiques.

Pour obtenir la liste complète des analyses BigQuery et des partenaires technologiques de l'ensemble du secteur, consultez la liste des partenaires sur la page du produit BigQuery.

Étape suivante