Tipps zur BigQuery-Effizienz für den Bulk-Export von Search Console-Daten

Montag, 5. Juni 2023

Der Bulk-Datenexport in der Search Console ist eine leistungsstarke Methode, die Daten zur Leistung deiner Website in der Google Suche zu BigQuery zu übertragen und so die Speicher-, Analyse- und Berichtsmöglichkeiten zu verbessern. Nach dem Export der Daten könnt ihr beispielsweise ein Abfrage- und URL-Clustering durchführen, Analysen für Longtail-Suchanfragen ausführen und die Suchdaten mit anderen Datenquellen zusammenführen. Ihr könnt die Daten auch so lange speichern, wie ihr sie benötigt.

Bei der Verwendung von Bulk-Datenexporten ist es wichtig, fundierte Entscheidungen beim Verwalten der Datenverarbeitungs- und Speicherkosten zu treffen. Beim Export der Daten fallen keine Kosten für die Search Console an. Informationen zu den in Rechnung gestellten Kosten findet ihr in den BigQuery-Preisen. In diesem Beitrag stellen wir euch Tipps vor, mit denen ihr die neuen Daten ohne erhebliche Kosten nutzen könnt.

Wenn ihr noch keinen Bulk-Datenexport eingerichtet habt, seht euch die detaillierte Anleitung in der Search Console-Hilfe an. Eine Übersicht über die beim Export verfügbaren Daten findet ihr in dem hier eingebetteten Video.

Abrechnungsbenachrichtigungen und Einschränkungen erstellen

Bei der Betrachtung eurer Kosten kann es hilfreich sein, darüber nachzudenken, wie viel ihr bereit seid auszugeben. Bei dieser Frage gibt es wahrscheinlich Unterschiede zwischen Speicher, Analyse und Monitoring. Ihr seid beispielsweise bereit, einen bestimmten Betrag zu zahlen, um sicherzustellen, dass alle eure Daten gespeichert werden, aber weniger, um eine Berichtsplattform zu erstellen. Während ihr darüber nachdenkt, möchtet ihr vielleicht ein Monatsbudget für die Investition in Suchdaten festlegen.

Sobald ihr euch für ein Budget entschieden habt, könnt ihr eine Google Cloud-Budgetbenachrichtigung erstellen, um Überraschungen auf eurer Rechnung zu vermeiden. Ihr könnt auch Schwellenwertregeln festlegen, die E-Mail-Benachrichtigungen auslösen, wenn ihr euch dem Budgetbetrag nähert.

Screenshot der Cloud Console, auf dem zu sehen ist, wie ihr eine Abrechnungsbenachrichtigung erstellt

Für zusätzlichen Schutz könnt ihr auch die Anzahl der für eine Abfrage abgerechneten Byte einschränken. In diesem Fall wird die Anzahl der von der Abfrage gelesenen Byte vor der Ausführung der Abfrage geschätzt. Wenn die Anzahl der geschätzten Byte die Grenze überschreitet, schlägt die Abfrage fehl, ohne dass eine Gebühr anfällt.

Dashboards nicht direkt mit Rohdaten erstellen

BigQuery ist schnell und es ist verlockend, das Dashboard direkt mit den in der Search Console exportierten Tabellen zu verknüpfen. Bei großen Websites ist dieser Datensatz jedoch sehr groß (insbesondere bei Abfragen im Laufe der Zeit). Wenn ihr ein Dashboard erstellt, in dem für jede Ansicht und Freigabe in eurem Unternehmen Zusammenfassungsinformationen neu berechnet werden, führt dies schnell zu hohen Abfragekosten.

Damit diese Kosten vermieden werden, solltet ihr die Daten für jeden täglichen Drop vorab aggregieren und eine oder mehrere zusammenfassende Tabellen erstellen. Euer Dashboard kann dann eine viel kleinere Zeitreihentabelle abfragen, wodurch die Verarbeitungskosten reduziert werden.

Prüft die Funktion zur Planung von Abfragen in BigQuery oder verwendet BI Engine, wenn ihr eine automatisiertere Lösung wünscht.

Datenspeicherkosten optimieren

Wenn ihr einen Bulk-Datenexport startet, werden die Daten standardmäßig dauerhaft in eurem BigQuery-Datensatz gespeichert. Ihr könnt jedoch die Standardablaufzeiten für Partitionen aktualisieren, sodass Datumspartitionen nach einem Jahr, 16 Monaten oder einem beliebigen anderen Zeitraum automatisch gelöscht werden.

Die exportierten Daten können für euch einen großen Wert haben, aber auch sehr umfangreich sein. Verwendet eure geschäftlichen Kenntnisse und bewahrt sie so lange auf, dass sie umfassend analysiert werden können, aber nicht so lange, dass sie zu einer Last werden. Eine Möglichkeit ist, eine Stichprobe älterer Tabellen und die gesamte Tabelle mit neueren Daten beizubehalten.

SQL-Abfragen optimieren

Beim Abfragen eurer Search Console-Daten solltet ihr prüfen, ob eure Abfragen für Leistung optimiert sind. Wenn ihr BigQuery bisher noch nicht verwendet habt, seht euch die Richtlinien und Beispielabfragen in der Hilfe an. Es gibt drei Methoden, die ihr ausprobieren solltet.

1. Eingabescan einschränken

Die Verwendung von SELECT * zu vermeiden, ist die teuerste Methode, die Daten abzufragen. BigQuery führt dann einen vollständigen Scan jeder Spalte in der Tabelle durch. Das Anwenden einer LIMIT-Klausel wirkt sich nicht auf die Menge der gelesenen Daten aus.

Da die exportierten Tabellen nach Datum partitioniert sind, könnt ihr den Eingabescan auf die Tage von Interesse beschränken, insbesondere wenn ihr die Daten testet und mit ihnen experimentiert. Wenn ihr die WHERE-Klausel verwendet, um den Zeitraum in der nach Datum partitionierten Tabelle zu begrenzen, lassen sich eure Abfragekosten dadurch erheblich senken. Mit der folgenden Klausel könnt ihr beispielsweise nur die der letzten 14 Tage betrachten:

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

Für jede eurer Abfragen solltet ihr alle bekannten Filter so schnell wie möglich eingeben, um den Eingabescan zu reduzieren. Wenn ihr beispielsweise Abfragen analysiert, solltet ihr wahrscheinlich Zeilen mit anonymisierten Suchanfragen herausfiltern. Eine anonymisierte Suchanfrage wird in der Tabelle als String mit Nulllänge angegeben. Dazu könnt ihr Folgendes hinzufügen:

WHERE query != ''

2. Stichproben der Daten erstellen

BigQuery ermöglicht die Stichprobenerstellung für Tabellen, wodurch ihr eine zufällige Teilmenge von Daten aus großen BigQuery-Tabellen abfragen könnt. Bei der Stichprobenerstellung werden verschiedene Datensätze zurückgegeben. Gleichzeitig werden die Kosten für das Scannen und Verarbeiten einer ganzen Tabelle vermieden. Dies ist besonders hilfreich bei der Entwicklung von Abfragen oder wenn keine genauen Ergebnisse benötigt werden.

3. Näherungsfunktionen verwenden, wenn keine genauen Ergebnisse erforderlich sind

BigQuery unterstützt eine Reihe von Näherungsaggregationsfunktionen, die geschätzte Ergebnisse liefern und weitaus kostengünstiger als die präzisen Entsprechungen sind. Wenn ihr beispielsweise die Top-URLs nach Impressionen für eine bestimmte Bedingung sucht, habt ihr die Möglichkeit der Verwendung von

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

anstelle von

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

Ressourcen

Die genannten Tipps unterstützen euch bei der Kontrolle eurer Kosten. Weitere Informationen findet ihr in den Best Practices zur Kostenoptimierung für BigQuery.

Wenn ihr Fragen oder Bedenken habt, könnt ihr euch wie immer jederzeit über die Google Search Central-Community oder Twitter an uns wenden.