Übersicht über BigQuery-Analysen
In diesem Dokument wird beschrieben, wie BigQuery Abfragen verarbeitet. Weiter bietet es einen Überblick über verschiedene Features, die für die Datenanalyse nützlich sind.
BigQuery ist für die Ausführung von Analyseabfragen für große Datasets optimiert, darunter Terabyte an Daten in Sekunden und Petabyte im Minutenbereich. Wenn Sie seine Funktionen und die Art der Abfragverarbeitung kennen, können Sie Ihre Investitionen in Datenanalysen maximieren.
Klicken Sie auf Tour starten, um die Datenanalysefeatures von BigQuery direkt in der Google Cloud Console kennenzulernen.
Analyse-Workflows
BigQuery unterstützt mehrere Datenanalyse-Workflows:
Ad-hoc-Analyse. BigQuery verwendet zur Unterstützung der Ad-hoc-Analyse GoogleSQL, den SQL-Dialekt in BigQuery. Sie können Abfragen in der Google Cloud Console oder über Drittanbietertools, die sich in BigQuery einbinden lassen, ausführen.
Raumbezogene Analyse. BigQuery verwendet geografische Datentypen und geografische Funktionen von GoogleSQL, mit denen Sie raumbezogene Daten analysieren und visualisieren können. Weitere Informationen zu diesen Datentypen und Funktionen finden Sie unter Einführung in räumlich-geografische Analysen.
maschinelles Lernen: BigQuery ML verwendet GoogleSQL-Abfragen, mit denen Sie Modelle für maschinelles Lernen (ML) in BigQuery erstellen und ausführen können.
Business intelligence. BigQuery BI Engine ist ein schneller In-Memory-Analysedienst, mit dem Sie umfangreiche interaktive Dashboards und Berichte erstellen können, ohne Leistung, Skalierbarkeit, Sicherheit oder Datenaktualität zu beeinträchtigen.
Abfragen
Die primäre Analyseeinheit in BigQuery ist die SQL-Abfrage. BigQuery hat zwei SQL-Dialekte, GoogleSQL und Legacy-SQL. GoogleSQL ist der bevorzugte Dialekt. Er unterstützt SQL:2011 und enthält Erweiterungen, die raumbezogene Analysen und ML unterstützen.
In folgenden Abschnitten wird beschrieben, wie BigQuery Datenabfragen unterstützt und ausführt.
Datenquellen
Mit BigQuery können Sie folgende Datenquellentypen abfragen:
In BigQuery gespeicherte Daten Sie können für die Analyse Daten in BigQuery laden. Sie können Daten auch mit DML-Anweisungen (Data Manipulation Language) oder durch das Schreiben von Abfrageergebnissen in eine Tabelle generieren. Sie haben die Möglichkeit, Daten abzufragen, die an einem Standort mit einer oder mehreren Regionen gespeichert sind. Sie können jedoch keine Abfrage für mehrere Standorte ausführen, auch wenn einer der Standorte nur eine Region enthält und der andere der multiregionale Standort ist, der diesen Standort mit einer Region enthält. Weitere Informationen finden Sie unter Standorte, Reservierungen und Jobs.
Externe Daten. Sie können verschiedene externe Datenquellen abfragen, darunter andere Google Cloud-Speicherdienste (z. B. Cloud Storage) oder Datenbankdienste (z. B. Spanner oder Cloud SQL). Informationen zum Einrichten von Verbindungen zu externen Quellen finden Sie unter Einführung in externe Datenquellen.
Multi-Cloud-Daten. Sie können Daten abfragen, die in anderen öffentlichen Clouds (z. B. AWS oder Azure) gespeichert sind. Informationen zum Einrichten von Verbindungen zu Amazon S3 oder Azure Blob Storage finden Sie in der Einführung in BigQuery Omni.
Öffentliche Datasets. Wenn Sie keine eigenen Daten haben, können Sie die im öffentlichen Dataset-Marktplatz verfügbaren Datasets analysieren.
Abfragejobs
Jobs sind Aktionen, die BigQuery für Sie ausführt, beispielsweise Daten laden, Daten exportieren, Daten abfragen oder Daten kopieren.
Wenn Sie mit der Google Cloud Console oder dem bq-Tool einen dieser Jobs ausführen, wird automatisch eine Jobressource erstellt, geplant und ausgeführt. Lade-, Export-, Abfrage- oder Kopierjobs können auch programmatisch erstellt werden. Wenn Sie einen Job programmatisch erstellen, wird er von BigQuery geplant und ausgeführt.
Da das Ausführen von Jobs sehr lange dauern kann, werden sie asynchron ausgeführt. Der Status kann jeweils abgefragt werden. Kürzere Aktionen wie das Auflisten von Ressourcen oder das Abrufen von Metadaten werden nicht über eine Jobressource verwaltet.
Arten von Abfragen
Sie können BigQuery-Daten mit einem der folgenden Abfragejobtypen abfragen:
- Interaktive Abfragejobs. Standardmäßig führt BigQuery interaktive (On-Demand) Abfragejobs so schnell wie möglich aus.
Jobs vom Typ „Kontinuierliche Abfrage“ (Vorschau) Bei diesen Jobs wird die Abfrage kontinuierlich ausgeführt. So können Sie eingehende Daten in BigQuery in Echtzeit analysieren und die Ergebnisse dann in eine BigQuery-Tabelle schreiben oder in Bigtable oder Pub/Sub exportieren. Mit dieser Funktion können Sie zeitkritische Aufgaben ausführen, z. B. Erkenntnisse erstellen und sofort darauf reagieren, Echtzeit-Inferenzen für maschinelles Lernen (ML) anwenden und ereignisgesteuerte Datenpipelines erstellen.
Batch-Abfragejobs. Bei diesen Jobs stellt BigQuery jede Batchabfrage in Ihrem Namen in die Warteschlange und startet sie, sobald inaktive Ressourcen verfügbar werden – normalerweise innerhalb weniger Minuten.
Sie können Abfragejobs mit folgenden Methoden ausführen:
- Erstellen Sie eine Abfrage in der Google Cloud Console und führen Sie sie aus.
- Führen Sie den Befehl
bq query
im bq-Befehlszeilentool aus. - Rufen Sie programmatisch eine der Methoden
jobs.query
oderjobs.insert
in der BigQuery REST API auf. - Verwenden Sie die BigQuery-Clientbibliotheken.
Gespeicherte und freigegebene Abfragen
Mit BigQuery können Sie Abfragen speichern und für andere Nutzer freigeben.
Eine gespeicherte Abfrage kann privat (nur für Sie sichtbar), auf Projektebene freigegeben (für bestimmte Hauptkonten sichtbar) oder öffentlich sein (jeder kann sie sehen). Weitere Informationen finden Sie unter Mit gespeicherten Abfragen arbeiten.
So werden Abfragen in BigQuery verarbeitet
Beim Ausführen einer Abfrage in BigQuery werden mehrere Prozesse aktiv:
Ausführungsstruktur. Wenn Sie eine Abfrage ausführen, wird in BigQuery eine Ausführungsstruktur generiert, die die Abfrage in Phasen unterteilt. Diese Phasen enthalten Schritte, die parallel ausgeführt werden können.
Shuffle-Stufe Die Phasen kommunizieren über eine schnelle, verteilte Shuffle-Stufe, die von den Workern einer Phase erstellte Zwischendaten speichert. Wenn möglich, nutzt die Shuffle-Stufe Technologien wie Petabitnetzwerke und RAM, um Daten schnell auf Worker-Knoten zu verschieben.
Abfrageplan. Sobald BigQuery alle Informationen hat, die zum Ausführen einer Abfrage erforderlich sind, wird ein Abfrageplan generiert. Sie können diesen Plan in der Google Cloud Console aufrufen und zur Fehlerbehebung oder zur Optimierung der Abfrageleistung verwenden.
Abfragemonitoring und dynamische Planung Neben den Workern, die die Arbeit des Abfrageplans selbst ausführen, überwachen und leiten zusätzliche Worker den gesamten Fortschritt der Arbeit im gesamten System. Im Laufe der Abfrage kann BigQuery den Abfrageplan dynamisch anpassen, um sich an die Ergebnisse der verschiedenen Phasen anzupassen.
Abfrageergebnisse. Wenn eine Abfrage abgeschlossen ist, schreibt BigQuery die Ergebnisse in den nichtflüchtigen Speicher und gibt sie an den Nutzer zurück. Dank diesem Design kann BigQuery im Cache gespeicherte Ergebnisse bei der nächsten Ausführung der Abfrage bereitstellen.
Nebenläufigkeit und Leistung von Abfragen
Die Leistung von Abfragen, die wiederholt für dieselben Daten ausgeführt werden, kann variieren. Das liegt daran, dass die BigQuery-Umgebung gemeinsam genutzt wird oder dass BigQuery den Abfrageplan dynamisch anpasst, während die Abfrage ausgeführt wird. Bei einem typischerweise ausgelasteten System, in dem viele Abfragen gleichzeitig ausgeführt werden, verwendet BigQuery mehrere Prozesse, um Abweichungen bei der Abfrageleistung auszugleichen:
BigQuery führt viele Abfragen parallel durch, sodass Abfragen selten in eine Warteschlange gestellt werden müssen.
In ausgelasteten Systemen sind Warteschlangen eine häufige Quelle unvorhersehbarer Leistungen, da unklar ist, wie lange eine Abfrage in der Warteschlange bleiben muss. Die Dauer, während der sich eine Abfrage in der Warteschlange befindet, kann mehr von anderen Abfragen abhängen, die ausgeführt werden oder sich in der Warteschlange befinden, als von den Qualitäten der Abfrage selbst.
Während Abfragen beginnen und abgeschlossen werden, verteilt BigQuery Ressourcen gleichmäßig auf neue und laufende Abfragen. Dadurch wird sichergestellt, dass die Abfrageleistung nicht von der Reihenfolge abhängt, in der Abfragen übergeben werden, sondern von der Anzahl der Abfragen, die zu einer bestimmten Zeit ausgeführt werden.
Abfrageoptimierung
Nachdem die Abfrage abgeschlossen wurde, können Sie den Abfrageplan in der Google Cloud Console einsehen. Sie können Ausführungsdetails auch mit den INFORMATION_SCHEMA.JOBS*
-Ansichten oder der jobs.get
REST API-Methode anfordern.
Der Abfrageplan enthält Details zu Abfragephasen und -schritten. Mithilfe dieser Details können Sie Möglichkeiten zur Verbesserung der Abfrageleistung ermitteln. Beispiel: Wenn Sie eine Phase bemerken, in der viel mehr Ausgaben als in anderen Phasen geschrieben werden, bedeutet dies möglicherweise, dass Sie früher in der Abfrage filtern müssen.
Weitere Informationen zum Abfrageplan und zur Abfrageoptimierung finden Sie in folgenden Ressourcen:
- Weitere Informationen zum Abfrageplan und Beispiele dafür, wie Sie mit den Informationen des Abfrageplans die Abfrageleistung verbessern können, finden Sie unter Abfrageplan und Zeitachse.
- Weitere Informationen zur Abfrageoptimierung im Allgemeinen finden Sie unter Einführung in die Optimierung der Abfrageleistung.
Abfragemonitoring
Monitoring und Logging sind für die Ausführung zuverlässiger Anwendungen in der Cloud entscheidend. BigQuery-Arbeitslasten sind keine Ausnahme, insbesondere wenn Ihre Arbeitslast ein hohes Volumen hat oder geschäftskritisch ist. BigQuery bietet verschiedene Messwerte, Logs und Metadatenansichten, mit denen Sie die BigQuery-Nutzung überwachen können.
Weitere Informationen finden Sie in den folgenden Ressourcen:
- Weitere Informationen zu Monitoring-Optionen in BigQuery finden Sie unter Einführung in BigQuery-Monitoring.
- Weitere Informationen zu Audit-Logs und zum Analysieren des Abfrageverhaltens finden Sie unter BigQuery-Audit-Logs.
Abfragepreise
BigQuery bietet zwei Preismodelle für Analysen:
- On-Demand-Preise. Sie bezahlen nur für die Daten, die von Ihren Abfragen gescannt wurden. Sie haben für jedes Projekt eine feste Abfrageverarbeitungskapazität. Die Kosten basieren auf der Anzahl der verarbeiteten Byte.
- Kapazitätsbasierte Preise: Sie erwerben eine bestimmte Menge an Kapazitäten zur Abfrageverarbeitung.
Informationen zu den beiden Preismodellen und zu Reservierungen für kapazitätsbasierte Preise finden Sie unter Einführung in Reservierungen.
Kontingente und Kostenkontrollen für Abfragen
In BigQuery gelten auf Projektebene Kontingente für das Ausführen von Abfragen. Weitere Informationen zu Abfragekontingenten finden Sie unter Kontingente und Limits.
Für die Kontrolle der Kosten von Abfragen bietet BigQuery mehrere Möglichkeiten, darunter benutzerdefinierte Kontingente und Abrechnungsbenachrichtigungen. Weitere Informationen finden Sie unter Benutzerdefinierte Kostenkontrolle erstellen.
Datenanalysefeatures
BigQuery unterstützt sowohl deskriptive als auch prognostische Analysen. Mit der Google Cloud Console können Sie Ihre Daten direkt abfragen und so verschiedene statistische Fragen beantworten. Wenn Sie die Daten visuell untersuchen möchten, z. B. nach Trends und Anomalien, können Sie in BigQuery einbindbare Tools wie Tableau oder Looker verwenden.
BigQuery Studio
Mit BigQuery Studio können Sie mit den folgenden Funktionen Daten in BigQuery entdecken, analysieren und Inferenzen darauf ausführen:
- Ein robuster SQL-Editor mit Codevervollständigung, Abfragevalidierung und Schätzung der verarbeiteten Byte.
- Eingebettete Python-Notebooks, die mit Colab Enterprise erstellt wurden. Notebooks bieten Python-Entwicklungslaufzeiten mit einem Klick und integrierte Unterstützung für BigQuery DataFrames.
- Ein PySpark-Editor, mit dem Sie gespeicherte Python-Prozeduren für Apache Spark erstellen können.
- Asset-Verwaltung und Versionsverlauf für Code-Assets wie Notebooks und gespeicherte Abfragen. Diese basieren auf Dataform.
- Unterstützende Codeentwicklung im SQL-Editor und in Notebooks, die auf der generativen Gemini-KI (Vorschau) basiert.
- Dataplex-Funktionen für Datenerkennung und Datenprofilerstellung und Datenqualitätsscans.
- Möglichkeit, den Jobverlauf pro Nutzer oder pro Projekt aufzurufen.
- Die Möglichkeit, gespeicherte Abfrageergebnisse durch eine Verbindung zu anderen Tools wie Looker und Google Sheets zu analysieren und gespeicherte Abfrageergebnisse zur Verwendung in anderen Anwendungen zu exportieren.
BigQuery ML
Mit BigQuery ML können Sie SQL in BigQuery verwenden, um maschinelles Lernen (ML) und Prognoseanalysen durchzuführen. Weitere Informationen finden Sie unter Einführung in BigQuery ML.
Einbindung von Analysetools
Sie können nicht nur Abfragen in BigQuery ausführen, sondern auch Ihre Daten mit verschiedenen Analyse- und Business-Intelligence-Tools analysieren, die sich in BigQuery einbinden lassen. Dazu gehören:
Looker. Looker ist eine Unternehmensplattform für Business Intelligence, Datenanwendungen und eingebettete Analysen. Die Looker-Plattform funktioniert mit vielen Datenspeichern, einschließlich BigQuery. Informationen zum Verbinden von Looker mit BigQuery finden Sie unter Looker verwenden.
Looker Studio. Nachdem Sie eine Abfrage ausgeführt haben, können Sie Looker Studio direkt in BigQuery in der Google Cloud Console starten. Anschließend können Sie in Looker Studio Visualisierungen erstellen und die von der Abfrage zurückgegebenen Daten untersuchen. Informationen zu Looker Studio finden Sie in der Looker Studio-Übersicht.
Verbundene Tabellenblätter. Sie können verbundene Tabellenblätter auch direkt über BigQuery in der Console starten. Verbundene Tabellenblätter führt BigQuery-Abfragen in Ihrem Namen aus, entweder auf Ihre Anfrage hin oder nach einem festgelegten Zeitplan. Die Ergebnisse dieser Abfragen werden zur Analyse und Freigabe in Ihrer Tabelle gespeichert. Informationen zu verbundenen Tabellenblättern finden Sie unter Verbundene Tabellenblätter verwenden.
Einbindung von Drittanbietertools
Mehrere Analysetools von Drittanbietern funktionieren mit BigQuery. Sie können beispielsweise Tableau mit BigQuery-Daten verbinden und die Visualisierungstools von Tableau verwenden, um Ihre Analysen zu analysieren und freizugeben. Weitere Informationen zu Überlegungen bei der Verwendung von Drittanbietertools finden Sie unter Integration von Drittanbietertools.
ODBC- und JDBC-Treiber sind verfügbar und können zum Einbinden Ihrer Anwendung in BigQuery verwendet werden. Diese Treiber sollen Nutzern helfen, das Potenzial von BigQuery in vorhandenen Tools und Infrastrukturen zu nutzen. Informationen zu aktuellen Releases und bekannten Problemen finden Sie unter ODBC- und JDBC-Treiber für BigQuery.
Mit Pandas-Bibliotheken wie pandas-gbq
können Sie mit BigQuery-Daten in Jupyter-Notebooks interagieren. Informationen zu dieser Bibliothek und ihren Unterschieden zur Python-Clientbibliothek von BigQuery finden Sie unter Vergleich mit pandas-gbq
.
Sie können BigQuery auch mit anderen Notebooks und Analysetools verwenden. Weitere Informationen finden Sie unter Programmatische Analysetools.
Eine vollständige Liste der BigQuery-Analysen und umfassende Technologiepartner finden Sie in der Liste der Partner auf der BigQuery-Produktseite.
Nächste Schritte
- Eine Einführung und einen Überblick über unterstützte SQL-Anweisungen finden Sie unter Einführung in SQL in BigQuery.
- Mehr zur GoogleSQL-Syntax, die zum Abfragen von Daten in BigQuery verwendet wird, finden Sie unter Abfragesyntax in GoogleSQL.
- Informationen zum Lesen der Abfrageplanerläuterung finden Sie unter Abfrageplanerläuterung verwenden.
- Informationen zum Planen wiederkehrender Abfragen finden Sie unter Abfragen planen.