Google Cloud Platform (GCP): Google BigQuery ist ein Data Warehouse für die Arbeit mit großen Datenmengen. Mit BigQuery können Daten aus verschiedenen Quellen gesammelt, gespeichert , analysiert und die Analyse schließlich auf verschiedene Arten visualisiert werden . In diesem Blog geht es um BigQuery, seine verschiedenen Funktionen und Anwendungsfälle. Es handelt sich um einen vollständig verwalteten, serverlosen Cloud-Data-Warehouse-Dienst, der von der Google Cloud Platform bereitgestellt wird.
Einführung
Es eignet sich ideal für Anwendungsfälle, die Ad-hoc-Analysen und Datenexploration erfordern, wie etwa Business Intelligence, Data Warehousing und Data Science. BigQuery ist hochgradig skalierbar, kostengünstig und bietet ein Pay-as-you-go-Preismodell. Seit den Anfängen der Computertechnik und später des Internets hat die Datenmenge weltweit kontinuierlich zugenommen. In den letzten Jahren ist diese Zunahme jedoch sprunghaft angestiegen. Schätzungen zufolge beträgt die Gesamtdatenmenge weltweit heute Zettabyte und jeden Tag kommen 2,5 Trillionen Bytes hinzu!
In Anbetracht dessen brauchen wir etwas, um diese enormen Datenmengen zu verarbeiten. Googles Angebot BigQuery tut genau das – es gibt uns ein Tool, das uns bei der Arbeit mit diesen riesigen Datenmengen hilft. Mit BigQuery können sehr umfangreiche SQL-Abfragen – die bis zu Milliarden Zeilen umfassen – ausgeführt und Ergebnisse nahezu in Echtzeit generiert werden.
BigQuery funktioniert
Die Funktionsweise von BigQuery kann in mehrere Teile unterteilt werden: Aufnahme, Speicherung und Vorbereitung sowie Analyse. Hier werden wir näher auf diese Teile eingehen.
- Datenaufnahme : Daten können aus verschiedenen Quellen wie Google Cloud Storage, Streaming-Daten und direkten Uploads in BigQuery aufgenommen werden.
- Datenspeicherung: Sobald Daten aufgenommen wurden, werden sie in Tabellen in einem spaltenorientierten Format gespeichert. BigQuery speichert Daten verteilt und teilt sie automatisch über mehrere Knoten in der Cloud.
- Abfrageverarbeitung: Benutzer können SQL-ähnliche Abfragen schreiben, um Daten aus den Tabellen abzurufen. BigQuery verwendet eine verteilte Architektur, um die Abfrageverarbeitung über mehrere Knoten in der Cloud hinweg zu parallelisieren.
- Kostenmanagement: BigQuery bietet verschiedene Funktionen zur Kostenverwaltung, wie automatische Skalierung, Caching und On-Demand-Preisgestaltung. So können Benutzer ihre Kosten kontrollieren und gleichzeitig große Datenmengen analysieren.
- Ergebnisausgabe: Die Ergebnisse einer Abfrage können an verschiedene Ziele wie Google Sheets, BigQuery-Tabellen und andere Datenquellen ausgegeben werden.
- Datenvisualisierung und -berichterstattung: Benutzer können verschiedene Tools wie Google Data Studio verwenden, um die Daten in BigQuery zu visualisieren und darüber zu berichten.
Insgesamt ist BigQuery ein hochgradig skalierbarer, kostengünstiger und leistungsstarker Cloud-Data-Warehouse-Dienst, der es Benutzern ermöglicht, große Datensätze mit SQL-ähnlichen Abfragen zu speichern und zu analysieren.
Voraussetzung: Erstellen einer Tabelle
Um mit BigQuery arbeiten zu können, benötigen Sie eine Tabelle. BigQuery-Tabellen gibt es in drei Typen: native Tabellen, externe Tabellen und Ansichten. Sobald Sie eine Tabelle haben, können Sie die verschiedenen BQ-Operationen darauf ausführen, darunter:
- Auflisten aller Tabellen in einem Datensatz
- Abrufen von Informationen zu den Tabellen
- Steuern des Zugriffs auf die Tabellendaten
- Abrufen der Tabellenmetadaten
Diese Aufgaben können mithilfe der Konsole, des bq-Befehlszeilentools, mithilfe von Clientbibliotheken oder mithilfe der API-Methode ausgeführt werden.
Sobald eine Tabelle erstellt ist, können wir mit den weiteren Schritten fortfahren, um die Funktionen von BQ zu nutzen.
1. Aufnahme (Laden von Daten)
Nachdem eine Tabelle erstellt wurde, besteht der nächste Schritt darin, Daten in die Tabelle zu laden. Es gibt mehrere Möglichkeiten, Daten in BigQuery einzuspeisen:
- Stapelladen eines Datensatzsatzes
- Streaming einzelner Datensätze
- Verwenden von Abfragen zum Generieren neuer Daten zum Anhängen an die Tabelle
- Verwendung einer Drittanbieteranwendung oder eines Drittanbieterdienstes
Die Aufnahme kann manuell erfolgen, wie oben erläutert, oder automatisch mithilfe des Datenübertragungsdienstes.
2. Zubereitung & Lagerung
Bei diesem Vorgang werden die Daten in BigQuery gespeichert und für die Analyse vorbereitet. BigQuery nimmt die im vorherigen Schritt erhaltenen Rohdaten und verfeinert sie, sodass sie für die weitere Analyse bereit sind.
3. Analyse (Datenexport)
Sobald die Daten in der Tabelle bereitstehen, können sie exportiert werden. Daten können auf verschiedene Arten aus BigQuery exportiert werden, wobei pro Datei maximal 1 GB groß sein darf. Die verfügbaren Optionen sind entweder der manuelle Export der Daten oder die Verwendung eines Dienstes wie Dataflow zur Automatisierung des Vorgangs. Nach dem Export können verschiedene Dienste wie BigQuery ML und Google Data Studio zur Analyse der Daten verwendet werden.
Funktionen von BigQuery
BigQuery ist ein schnelles , serverloses Data Warehouse, das für Organisationen konzipiert ist, die mit großen Datenmengen arbeiten. Von der Gewinnung detaillierter Erkenntnisse aus den Daten mithilfe des integrierten maschinellen Lernens bis hin zur Analyse von Petabyte an Daten mithilfe von ANSI SQL bietet BigQuery eine Vielzahl von Funktionen in einem kostengünstigen Preismodell. Hier sehen wir uns einige dieser Funktionen an.
1. Multicloud-Funktionalität (BQ Omni)
BigQuery ist eine Analyselösung, die Datenanalysen über mehrere Cloud-Plattformen hinweg ermöglicht. Das Alleinstellungsmerkmal von BigQuery ist die Bereitstellung einer neuartigen Methode zur Analyse von Daten, die in mehr als einer Cloud vorhanden sind, ohne dass dies ein Vermögen kostet. Dies steht im Gegensatz zu anderen Lösungen, bei denen die Migration von Daten von der Quelle immer mit hohen Kosten verbunden war. BigQuery erreicht dies durch die Trennung von Compute- und Storage-Komponenten. Dies bedeutet, dass BigQuery die Berechnung der Daten direkt dort ausführen kann, wo sie sich befinden, ohne dass sie zur Verarbeitung in eine andere Zone verschoben werden müssen.
BigQuery Omni läuft auf Anthos-Clustern, die von Google Cloud verwaltet werden. Dies ermöglicht die sichere Ausführung von Abfragen, auch auf fremden Cloud-Plattformen. BigQuery Omni bringt folgende Funktionalitäten mit:
- Silos aufbrechen und Einblicke in die Daten gewinnen
- Erhalten Sie ein konsistentes Datenerlebnis über alle Clouds hinweg
- Ermöglichen Sie Flexibilität mit Anthos
2. Integrierte ML-Integration (BQ ML)
BigQuery ML wird zum Erstellen und Ausführen von Machine-Learning-Modellen in BigQuery mithilfe einfacher SQL-Abfragen verwendet. Vor der Einführung von BigQuery ML erforderte Machine Learning bei großen Datensätzen ML-spezifische Kenntnisse und Programmierkenntnisse. BigQuery ML macht dies überflüssig, indem es SQL-Anwendern ermöglicht, ML-Modelle mit ihren vorhandenen Kenntnissen zu erstellen. Auf
BigQuery ML kann auf die folgenden vier Arten zugegriffen werden:
- Google Cloud Console
- bq Befehlszeilentool
- BigQuery REST API
- Ein externes Tool (zum Beispiel Jupyter)
Machine Learning in BigQuery arbeitet mit Modellen, die darstellen, was das ML-System aus den Daten gelernt hat. Zu den in BigQuery ML verwendeten Modellen gehören lineare Regression, binäre und mehrklassige logistische Regression, Matrixfaktorisierung, Zeitreihen und Deep Neural Network-Modelle.
Es gibt eine Reihe von Gründen, BigQuery ML für die Verwendung von maschinellem Lernen mit einem Cloud-basierten Data Warehouse zu verwenden. Einige davon sind:
- Kein Datenexport erforderlich, was zu einer schnelleren Modellentwicklung führt
- Keine Notwendigkeit, die ML-Lösung mit Python oder Java zu programmieren (wie im Bild oben gezeigt)
- Fähigkeit, ML-Modelle unter Verwendung vorhandener BI-Tools und Tabellenkalkulationen zu erstellen und auszuführen
3. Grundlage für BI (BQ BI Engine)
Die BigQuery BI-Engine ist eine In-Memory-Analyselösung. Sie wird verwendet, um die in BigQuery gespeicherten Daten mit hoher Parallelität und Antwortzeiten von unter einer Sekunde zu analysieren. Da sie Teil der BigQuery-Familie ist, ist es keine Überraschung, dass sie auch mit einer SQL-Schnittstelle ausgestattet ist. Dies erleichtert die Interaktion mit anderen BI-Tools wie Looker, Tableau, Power BI usw. Sie kann auch in benutzerdefinierte Anwendungen integriert werden und hilft bei der Datenerkundung und -analyse.
BigQuery BI Engine bietet folgende Vorteile:
- Geschwindigkeit
Sehr schnelle Reaktionszeiten und Ladezeiten helfen bei der Datenanalyse über Streaming-Daten - Einfachheit
Führt In-Place-Analysen innerhalb von BigQuery durch, wodurch ETL-Pipelines überflüssig werden - Benutzerfreundlichkeit
Das Smart-Tuning-Design sorgt dafür, dass der Benutzer nur sehr wenige Konfigurationseinstellungen vornehmen muss
BigQuery BI Engine ist in einer kostenlosen Stufe erhältlich, die Data Studio-Benutzern bis zu 1 GB kostenlose Kapazität bietet, und darüber hinaus On-Demand-Kapazität für 0,0416 USD pro GB. Organisationen mit höherem Bedarf können sich für eine Pauschalkapazitätspreisgestaltung entscheiden, die mit monatlichen Gebühren verbunden ist.
4. Georäumliche Analyse (BQ GIS)
Geografische Informationssysteme (GIS) von BigQuery bieten Informationen zu Standorten und Karten, die in einem Data Warehouse wie BigQuery wichtig sind.
BigQuery GIS funktioniert, indem es Breiten- und Längengradspalten in geografische Punkte umwandelt. Beim Arbeiten mit Geodaten gibt es vier Objekttypen:
- Geometrie
Dies stellt einen Bereich auf der Erdoberfläche dar - Räumliches Merkmal
Dies stellt ein logisches räumliches Objekt dar - Sammlung räumlicher Merkmale
Dies ist eine Reihe von räumlichen Merkmalen
Die endgültige Visualisierung der BigQuery-Daten kann mithilfe einer der folgenden Methoden erfolgen:
- BigQuery Geo-Visualisierung
- Google Earth Engine
- Jupyter-Notebooks (mit Erweiterung)
5. Automatisierter Datentransfer (BQ Data Transfer Service)
BigQuery Data Transfer ist ein Dienst, der die regelmäßige Übertragung von Daten in BigQuery automatisiert. Dieser Zeitplan kann vom Analyseteam auf einfache Weise verwaltet werden, ohne dass eine Codierung erforderlich ist. Außerdem können Datenrückfüllungen hinzugefügt werden, um etwaige Lücken oder Ausfälle während der Aufnahme auszugleichen.
Auf den BigQuery Data Transfer Service kann auf drei Arten zugegriffen werden:
- Cloud-Konsole
- bq Befehlszeilentool
- API des BigQuery-Datenübertragungsdiensts
Ab sofort können mit BigQuery Data Transfer Daten aus einer Vielzahl von Google-eigenen Diensten wie Cloud Storage, Google Play, Google Ads und YouTube Channel Reports importiert werden. Die Daten können auch aus externen Cloud-Speicherdiensten wie Amazon S3 importiert werden. Data Warehouses wie Teradata und Amazon Redshift können auch verwendet werden, um Daten mithilfe des Data Transfer-Dienstes in BigQuery zu laden.
6. Freier Zugang (BQ Sandbox)
Obwohl alle oben genannten BigQuery-Funktionen sehr nützlich sind, möchte ein Benutzer manchmal mehr Erfahrung mit einer bestimmten Funktion, bevor er in sie investiert. Zu diesem Zweck bietet Google die BigQuery Sandbox – einen Ort, an dem BigQuery und die Cloud Console unverbindlich ausprobiert werden können. Das bedeutet, dass Sie weder ein Abrechnungskonto noch ein Projekt erstellen oder Kreditkartendaten angeben müssen. Alle Anwendungen werden in einer separaten Umgebung ausgeführt, die die von BigQuery in der Google Cloud Platform bereitgestellte Umgebung emuliert. Sobald der Benutzer die Funktionen ausprobiert hat und zufrieden ist, kann er problemlos auf das vollständige BigQuery-Erlebnis upgraden.
BigQuery Sandbox bringt auch eine Reihe von Einschränkungen mit sich, die bis zum Upgrade gelten. Diese sind:
- Alle BigQuery-Kontingente und -Limits sind anwendbar
- Die kostenlosen Nutzungslimits entsprechen denen des kostenlosen BQ-Kontingents und können nicht erweitert werden.
- Alle Datensätze haben die Standardablaufzeit (60 Tage)
- Streamingdaten, DML-Anweisungen und Datenübertragungsdienste werden nicht unterstützt.
BigQuery-Preise
Die Preisgestaltung in BigQuery erfolgt für zwei Hauptkomponenten – Analyse und Speicher . Abgesehen davon können Gebühren für Streaming-Einfügungen und die Verwendung der BigQuery Storage API erhoben werden . Sehen wir uns diese etwas genauer an.
1. Analyse Preisgestaltung
Die Analysepreise umfassen die von Google erhobenen Gebühren für die Ausführung von Abfragen in BigQuery. Dies kann auf zwei Arten eingerichtet werden:
1.1 On-Demand-Analyse
Dieses Preismodell umfasst ein kostenloses Kontingent von 1 TB pro Monat, danach wird Ihnen auf Basis der Nutzung (verarbeitete Bytes pro Abfrage) berechnet. Diese Abfrage kann für Daten durchgeführt werden, die in BigQuerys oder in einer externen Quelle wie Cloud Storage, Google Drive oder Bigtable gespeichert sind. Der Preis nach dem kostenlosen Kontingent für die Analysepreise beträgt 5,00 USD pro TB.
1.2 Pauschalpreisgestaltung
Bei diesem Modell zahlt der Benutzer nicht pro genutztem Byte, sondern einen Festbetrag für den Kauf von Slots. Diese Slots sind im Wesentlichen vCPUs und die Optionen variieren je nachdem, wie lange der Dienst genutzt werden soll:
- Flexibel – Verpflichtung von anfänglich 60 Sekunden
- Monatlich – Verpflichtung für die ersten 30 Tage
- Jährlich – Verpflichtung für zunächst 365 Tage
Es versteht sich von selbst, dass die Kosten pro Zeiteinheit mit zunehmender Vertragsdauer sinken. Beispielsweise betragen die Kosten für einen Monat für 100 Slots bei einer monatlichen Verpflichtung 2000 USD, während sie bei einer jährlichen Verpflichtung 1700 USD (pro Monat) betragen würden.
2. Speicherpreise
Die Speicherpreise sind die von Google erhobenen Gebühren für die Speicherung aller in BigQuerys geladenen Daten. Sie können in zwei Typen unterteilt werden:
2.1 Aktiver Speicher
Dieser Speichertyp ist für alle Daten gedacht, die in den letzten 90 Tagen geändert wurden. Er umfasst anfangs 10 GB kostenlosen Speicher, für weitere Daten werden 0,020 $ pro GB berechnet. Dieser Speichertyp wird hauptsächlich für häufig verwendete Daten verwendet.
2.2 Langzeitspeicherung
Dies ist für Daten, die für einen längeren Zeitraum gespeichert werden. Jede BigQuerys-Tabelle, auf die 90 Tage lang nicht zugegriffen wurde, wird automatisch in die Langzeitspeicherung verschoben und entsprechend berechnet. Das kostenlose Kontingent für diesen Typ ist das gleiche wie für Active Storage, aber die Gebühren nach dem kostenlosen Kontingent sind niedriger und betragen 0,010 $ pro GB.
3. Datenaufnahme und -extraktion
Für zwei weitere BigQuerys-Komponenten fallen Gebühren an. Dabei handelt es sich um die Datenaufnahme und -extraktion.
3.1 Aufnahme
Die Datenaufnahme in BigQuerys kann auf zwei Arten erfolgen – durch Batch-Laden und Streaming. Während Ersteres kostenlos ist, solange ein gemeinsam genutzter Slot-Pool verwendet wird, wird Letzteres nutzungsabhängig mit 0,010 USD pro 200 MB Daten abgerechnet.
3.2 Extraktion
Ähnlich wie die Datenaufnahme kann auch die Datenextraktion auf zwei Arten erfolgen – Batch-Export und Streaming. Auch hier sind die Batch-Exporte kostenlos, solange ein gemeinsam genutzter Slot-Pool verwendet wird, für Streaming werden jedoch 1,10 USD pro TB Daten berechnet.
Cloud-Data-Warehouse
Ein Cloud Data Warehouse ist eine Art Datenspeicher- und Verwaltungssystem, das in der Cloud gehostet wird und für die Verarbeitung großer Datenmengen aus verschiedenen Quellen ausgelegt ist. Google Cloud Platform bietet einen vollständig verwalteten, Cloud-nativen Data Warehouse-Dienst namens Google BigQuerys.
Google BigQuerys ist ein Cloud-Data-Warehouse-Dienst, mit dem Unternehmen große Datenmengen in Echtzeit speichern, verarbeiten und analysieren können. Es handelt sich um einen serverlosen, vollständig verwalteten Dienst, der eine skalierbare und kostengünstige Lösung für Data-Warehousing-Anforderungen bietet. BigQuerys ermöglicht Benutzern das Speichern von Daten in Tabellen und bietet eine Reihe von Tools zur Datenanalyse, darunter SQL-ähnliche Abfragen, Datenvisualisierungstools und APIs für maschinelles Lernen.
BigQuerys ist für die Verarbeitung komplexer Ad-hoc-Abfragen großer Datensätze konzipiert und für die Verarbeitung von Daten in Echtzeit optimiert. Es bietet Integration mit anderen Diensten der Google Cloud Platform, wie etwa Google Cloud Storage, Google Data Studio und Google Cloud Machine Learning, und bietet so eine vollständige Lösung für Datenanalyse und -berichterstattung kubernetes cluster.
Insgesamt ist Google BigQuerys ein leistungsstarker und flexibler Cloud-Data-Warehouse-Dienst, der Unternehmen die Möglichkeit bietet, mit vertrauten SQL-ähnlichen Abfragen riesige Datenmengen zu speichern, zu verarbeiten und zu analysieren.
BigQuery vs. Bigtable
Eine Sache, die oft für Verwirrung sorgt, ist der Unterschied zwischen BigQuerys und Bigtable. Neben dem gleichen Namen haben BigQuerys und Bigtable auch andere Gemeinsamkeiten. Beide werden für die Verarbeitung und Ausführung von Operationen mit großen Datenmengen verwendet. Der Unterschied liegt jedoch in der Art der Daten, die diese beiden Dienste verwenden. Während sich BigQuerys mit relational strukturierten Daten befasst, befasst sich Bigtable mit nicht-relationalen Daten (NoSQL-Datenbanken).
Die folgende Tabelle verdeutlicht den Unterschied zwischen den beiden Google-Diensten noch deutlicher.
Häufig gestellte Fragen
BigQuerys ist ideal für große Organisationen, die mit riesigen Datenmengen umgehen und einen Dienst zur Verarbeitung dieser Daten suchen. BigQuerys kann diese Daten nach Bedarf importieren, analysieren und exportieren.
Nein, BigQuerys kann Daten aus mehreren Quellen exportieren, einschließlich Speicherdiensten von Drittanbietern. Beispielsweise ermöglicht der BigQuerys Data Transfer Service für AWS den Import von Daten aus S3-Buckets in BigQuerys.
Wenn Sie Ihre Daten in BigQuerys laden, aber keine BigQuerys-Analysedienste darauf ausführen, werden Ihnen nur die Kosten für die Speicherung der Daten in Rechnung gestellt. Die Speicherkosten sinken auch, wenn die Daten längere Zeit unberührt bleiben.