Conseils pour optimiser l'efficacité de BigQuery pour les exportations groupées de données dans la Search Console

Lundi 5 juin 2023

L'exportation groupée de données dans la Search Console est un moyen efficace d'intégrer les données sur les performances de recherche de votre site Web dans BigQuery afin d'augmenter les capacités de stockage, d'analyse et de création de rapports. Par exemple, après avoir exporté les données, vous pouvez effectuer des regroupements de requêtes et d'URL, effectuer des analyses sur des requêtes de recherche en longue traîne, et associer la recherche à d'autres sources de données. Vous pouvez également choisir de conserver les données aussi longtemps que nécessaire.

Lorsque vous utilisez les exportations groupées de données, il est important de prendre des décisions éclairées pour gérer les coûts de traitement et de stockage des données. L'exportation des données de la Search Console ne vous coûte rien. Toutefois, consultez les tarifs de BigQuery pour comprendre ce qui vous sera facturé. Dans cet article, nous vous présenterons des conseils pour vous aider à tirer parti de ces nouvelles données sans entraîner de coût significatif.

Si vous n'avez pas encore configuré d'exportation groupée de données, consultez le guide par étapes dans le centre d'aide de la Search Console. Pour obtenir un aperçu des données disponibles via l'exportation, consultez la vidéo intégrée ici.

Créer des restrictions et des alertes de facturation

Lorsque vous examinez vos coûts, il peut être utile de réfléchir à la somme que vous êtes prêt à dépenser. La réponse à cette question sera probablement différente pour le stockage, l'analyse et la surveillance. Par exemple, vous pouvez être prêt à payer un certain montant pour vous assurer de stocker toutes vos données, mais un montant inférieur pour créer une plate-forme de reporting. En y réfléchissant, vous pouvez définir un budget mensuel à investir dans les données de recherche.

Une fois que vous avez défini un budget, vous pouvez créer une alerte budgétaire Google Cloud pour éviter les mauvaises surprises sur votre facture. Vous pouvez également définir des règles de seuil déclenchant des notifications par e-mail lorsque vous approchez du montant limite de votre budget.

Capture d'écran de la console Cloud montrant comment créer une alerte de facturation

Comme mesure de sécurité supplémentaire, vous pouvez limiter le nombre d'octets facturés pour une requête. Dans ce cas, le nombre d'octets lus par la requête est estimé avant son exécution. Si le nombre d'octets estimés dépasse la limite, la requête échoue sans engendrer de frais.

Éviter de créer des tableaux de bord directement à partir des données brutes

BigQuery est rapide, et il peut être tentant d'associer votre tableau de bord directement aux tables exportées depuis la Search Console. Mais pour les grands sites, cet ensemble de données est très volumineux (en particulier avec des requêtes accumulées sur la durée). Si vous créez un tableau de bord qui recalcule les informations récapitulatives sur chaque vue et les partage au sein de votre entreprise, les coûts des requêtes grimperont vite.

Pour éviter ces coûts, envisagez de précumuler les données de chaque baisse quotidienne et de matérialiser un ou plusieurs tableaux récapitulatifs. Votre tableau de bord peut ensuite interroger une table de séries temporelles beaucoup plus réduite, ce qui réduit les coûts de traitement.

Explorez la fonctionnalité de planification des requêtes dans BigQuery. Si vous préférez une solution plus automatisée, envisagez d'utiliser BI Engine.

Optimiser les coûts de stockage des données

Lorsque vous lancez une exportation groupée de données, les données sont par défaut conservées indéfiniment dans votre ensemble de données BigQuery. Toutefois, vous pouvez mettre à jour les délais d'expiration de partition par défaut afin que les partitions de date soient automatiquement supprimées au bout d'un an, de 16 mois ou de la durée de votre choix.

Les données exportées peuvent être intéressantes pour vous, mais peuvent représenter un volume très important. Appuyez-vous sur vos connaissances et envisagez de les conserver suffisamment longtemps pour effectuer des analyses approfondies, sans qu'elles deviennent un fardeau. L'une des options consiste à conserver une version échantillonnée des tables plus anciennes tout en conservant la table entière pour les dates les plus récentes.

Optimiser vos requêtes SQL

Lorsque vous interrogez vos données Search Console, assurez-vous que vos requêtes sont optimisées pour les performances. Si vous débutez avec BigQuery, consultez les consignes et exemples de requêtes dans le centre d'aide. Nous vous recommandons d'essayer les trois techniques ci-dessous.

1. Limiter l'analyse des entrées

Tout d'abord, évitez d'utiliser SELECT *, car il s'agit du moyen le plus coûteux d'interroger les données. BigQuery effectue une analyse complète de chaque colonne de la table. L'application d'une clause LIMIT n'a pas d'incidence sur la quantité de données lues.

Étant donné que les tables exportées sont partitionnées par date, vous pouvez limiter l'analyse des entrées aux jours qui vous intéressent lorsque vous effectuez des tests et que vous explorez les données. Utilisez une clause WHERE pour limiter la plage de dates dans la table partitionnée par date. Cela réduira considérablement le coût des requêtes. Par exemple, vous ne pouvez consulter que les 14 derniers jours à l'aide de la clause suivante :

WHERE data_date between DATE_SUB(CURRENT_DATE(), INTERVAL 14 day)

Pour chaque requête que vous effectuez, vous devez ajouter les filtres connus dès que possible afin de réduire l'analyse d'entrée. Par exemple, si vous analysez des requêtes, vous préfèrerez probablement filtrer les lignes de requêtes anonymisées. Une requête anonyme est signalée en tant que chaîne de longueur nulle dans la table. Pour ce faire, vous pouvez ajouter les éléments suivants :

WHERE query != ''

2. Échantillonner les données

BigQuery propose une fonctionnalité d'échantillonnage de table qui vous permet d'interroger des sous-ensembles aléatoires de données provenant de grandes tables BigQuery. L'échantillonnage renvoie différents enregistrements tout en évitant les coûts associés à l'analyse et au traitement d'une table entière. Il est particulièrement utile lors du développement de requêtes ou lorsqu'il n'est pas nécessaire d'obtenir des résultats exacts.

3. Utiliser des fonctions approximatives lorsqu'aucun résultat exact n'est requis

BigQuery accepte un certain nombre de fonctions d'agrégation approximatives qui fournissent des résultats estimés et sont bien moins coûteuse à calculer que leurs équivalents exacts. Par exemple, si vous recherchez les URL les plus populaires en fonction du nombre d'impressions plutôt que d'une condition, vous pouvez utiliser

SELECT APPROX_TOP_SUM(url, impressions, 10) WHERE datadate=...;

au lieu de

SELECT url, SUM(impressions) WHERE datadate=... GROUP BY url ORDER BY 2 DESC LIMIT 10;

Ressources

Voici quelques conseils qui vous aideront à gérer vos coûts. Consultez les bonnes pratiques en matière d'optimisation des coûts pour BigQuery.

Comme toujours, si vous avez des questions ou des doutes, n'hésitez pas à vous adresser à la communauté Google Search Central ou à nous retrouver sur Twitter.