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.
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 :
- Rédigez et exécutez une requête dans la console Google Cloud.
- Exécutez la commande
bq query
dans l'outil de ligne de commande bq. - Appelez de manière automatisée la méthode
jobs.query
oujobs.insert
dans l'API REST BigQuery. - Utilisez les bibliothèques clientes BigQuery.
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:
- Pour en savoir plus sur le plan de requête et consulter des exemples d'amélioration des performances des requêtes, consultez la page Plan et chronologie de requête.
- Pour en savoir plus sur l'optimisation des requêtes en général, consultez la page Présentation de l'optimisation des performances des requêtes.
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 :
- Pour en savoir plus sur les options de surveillance de BigQuery, consultez la page Présentation de la surveillance BigQuery.
- Pour en savoir plus sur les journaux d'audit et découvrir comment analyser le comportement des requêtes, consultez la page Journaux d'audit BigQuery.
Tarifs des requêtes
BigQuery propose deux modèles de tarification pour les analyses :
- Tarifs à la demande. Vous payez les données analysées par vos requêtes. Vous disposez d'une capacité de traitement de requêtes fixe pour chaque projet et vos coûts dépendent du nombre d'octets traités.
- Tarification basée sur la capacité : vous achetez une capacité dédiée au traitement de requêtes.
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 :
- Un éditeur SQL robuste qui fournit la complétion de code, la validation des requêtes et une estimation du nombre d'octets traités.
- Des notebooks Python intégrés créés à l'aide de Colab Enterprise. Les notebooks proposent des environnements d'exécution de développement Python en un clic et une compatibilité intégrée avec les DataFrames BigQuery.
- Un éditeur PySpark qui vous permet de créer des procédures Python stockées pour Apache Spark.
- Une gestion des éléments et historique des versions des éléments de code, tels que les notebooks et les requêtes enregistrées, basés sur Dataform.
- Développement de code assisté dans l'éditeur SQL et dans les notebooks, basé sur l'IA générative de Gemini (preview).
- Les fonctionnalités de Dataplex pour la découverte de données, le profilage de données et les analyses de la qualité des données.
- La possibilité d'afficher l'historique des tâches par utilisateur ou par projet.
- La possibilité d'analyser les résultats de requête enregistrés en vous connectant à d'autres outils tels que Looker et Google Sheets, et d'exporter des résultats de requête enregistrés pour les utiliser dans d'autres applications.
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
- Pour obtenir plus d'informations sur les instructions SQL compatibles, consultez la page Présentation de SQL dans BigQuery.
- Pour en savoir plus sur la syntaxe GoogleSQL permettant d'interroger des données dans BigQuery, consultez la page Syntaxe des requêtes en GoogleSQL.
- Pour savoir comment lire l'explication du plan de requête, consultez la page Utiliser l'explication du plan de requête.
- Pour savoir comment planifier une requête récurrente, consultez la page Planifier des requêtes.