Conseils pour optimiser l'efficacité de BigQuery pour les exportations groupées de données 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 de 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 vous en avez besoin.

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 à exploiter les nouvelles données sans coût important.

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

Créer des restrictions et des alertes de facturation

Lorsque vous évaluez vos coûts, réfléchissez au montant 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 choisir de payer un certain montant pour vous assurer de stocker toutes vos données, mais moins pour créer une plate-forme de création de rapports. 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éterminé le montant de votre budget, vous pouvez créer une alerte budgétaire dans 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 avancez vers le montant de votre budget.

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

Pour renforcer la protection, vous pouvez également 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 l'exécution de la requête. Si le nombre d'octets estimés dépasse la limite, la requête échoue sans engendrer de frais.

Ne pas créer de tableaux de bord directement sur des données brutes

BigQuery est rapide, et il peut être tentant d'associer votre tableau de bord directement aux tables exportées de la Search Console. Mais pour les sites de grande taille, cet ensemble de données est très volumineux (en particulier avec les requêtes au fil du temps). 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 petite, ce qui réduit les coûts de traitement.

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

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 être très volumineuses. Appuyez-vous sur vos connaissances et envisagez de les conserver suffisamment longtemps pour effectuer des analyses approfondies, sans qu'elles deviennent un fardeau. Une option consiste à conserver une version échantillonnée des tables plus anciennes tout en conservant la table entière des 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 du centre d'aide. Vous pouvez essayer trois techniques.

1. Limiter l'analyse des entrées

Tout d'abord, évitez d'utiliser SELECT *, 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 d'intérêt, en particulier lorsque vous effectuez des tests et que vous jouez avec les données. Utilisez une clause WHERE pour limiter la plage de dates dans la table partitionnée par date, ce qui permettra de réduire 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 des entrées. Par exemple, si vous analysez des requêtes, vous souhaiterez 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 offre une fonctionnalité d'échantillonnage de table qui vous permet d'interroger des sous-ensembles de données aléatoires à partir de grandes tables BigQuery. L'échantillonnage renvoie divers 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 lorsque les résultats exacts ne sont pas nécessaires.

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 principales en fonction des impressions pour une certaine 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 à commencer à 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 à nous en faire part via la communauté Google Search Central ou sur Twitter.