Auf dieser Seite wird erläutert, wie Sie Spanner Data Boost verwenden, wenn Sie föderierte Abfragen von BigQuery für eine Spanner-Datenbank ausführen. Mit Data Boost werden föderierte Abfragen mit minimalen Auswirkungen auf vorhandene Arbeitslasten auf der bereitgestellten Spanner-Instanz ausgeführt. Bei Data Boost-Abfragen aus BigQuery für eine Spanner-Datenbank können BigQuery-Daten mit Spanner-Daten verknüpft werden.
Mit der Spanner-Föderation kann BigQuery Daten in Spanner in Echtzeit abfragen, ohne Daten kopieren oder verschieben zu müssen. Weitere Informationen zu föderierten Spanner-Abfragen finden Sie unter Föderierte Spanner-Abfragen. Weitere Informationen zu Data Boost finden Sie in der Data Boost-Übersicht.
Hinweise
Bevor Sie föderierte Abfragen mit Data Boost ausführen können, müssen Sie die folgenden Aufgaben erledigen:
Spanner-Instanz und -Datenbank erstellen
Wenn Sie keine Spanner-Instanz und -Datenbank haben, folgen Sie der Anleitung unter Datenbank mit der Google Cloud Console erstellen und abfragen.
BigQuery Connection API aktivieren
Mit der BigQuery Connection API können Sie BigQuery-Verbindungen zu externen Datenquellen wie einer Spanner-Datenbank verwalten.
-
Enable the BigQuery connection API.
Weitere Informationen finden Sie in der BigQuery-Dokumentation unter BigQuery Connection API.
Hauptkonten IAM-Berechtigungen für Data Boost erteilen
Einem Prinzipal müssen die folgenden Berechtigungen erteilt werden, damit er föderierte Abfragen mit Data Boost ausführen kann:
spanner.instances.get
: Hiermit können Sie die Konfiguration einer Instanz abrufen.spanner.databases.useDataBoost
: Damit können Sie die Spanner Data Boost-Rechenressourcen verwenden, um partitionierte Abfragen zu verarbeiten.
Weitere Informationen zu Spanner-Berechtigungen finden Sie unter IAM-Berechtigungen (Identity and Access Management).
Wir empfehlen, die erforderlichen Berechtigungen mit der IAM-Rolle Cloud
Spanner Database Reader With DataBoost
(roles/spanner.databaseReaderWithDataBoost
) zu erteilen. Sie können diese Rolle jedem Hauptkonto zuweisen, das föderierte Abfragen mit Data Boost ausführen muss. Weitere Informationen zu vordefinierten Rollen in Spanner finden Sie unter Vordefinierte Rollen. Informationen zum Erstellen einer benutzerdefinierten IAM-Rolle finden Sie unter Benutzerdefinierte Rolle erstellen.
Föderierte Data Boost-Abfrage ausführen
Wenn Sie eine Data Boost-Abfrage von BigQuery an eine externe Quelle senden möchten, benötigen Sie eine BigQuery-Verbindung zur externen Quelle und die ID der Verbindung. Wenn Sie eine föderierte Spanner-Abfrage mit Data Boost ausführen, ist die externe Quelle eine Spanner-Datenbank. Nachdem Sie die Verbindungs-ID erstellt haben, wird sie von BigQuery verwendet, um eine Data Boost-Abfrage einer Spanner-Datenbank auszuführen.
Verwenden Sie eine der folgenden Optionen, um eine BigQuery-Verbindungs-ID zu erstellen, und führen Sie dann mit der Verbindungs-ID eine Data Boost-Abfrage aus BigQuery aus:
In Spanner beginnen: Erstellen Sie die externe BigQuery-Verbindungs-ID in der Spanner-Konsole. Nachdem Ihre Verbindungs-ID in der Spanner-Konsole erstellt wurde, werden Sie zur BigQuery-Konsole weitergeleitet, um eine föderierte Data Boost-Abfrage für eine Spanner-Datenbank auszuführen.
In BigQuery beginnen: Erstellen Sie die externe Verbindungs-ID für Data Boost in der BigQuery-Konsole oder mit dem
bq
-Befehlszeilentool. Nachdem Sie die Verbindungs-ID erstellt haben, bleiben Sie in der BigQuery-Konsole, um eine föderierte Data Boost-Abfrage für eine Spanner-Datenbank auszuführen.
Data Boost-Abfrage in Spanner ausführen
So führen Sie eine föderierte Data Boost-Abfrage über Spanner Studio aus:
Rufen Sie in derGoogle Cloud Console die Seite Spanner-Instanzen auf.
In der Console wird eine Liste Ihrer Spanner-Instanzen angezeigt.
Wählen Sie eine Spanner-Instanz und dann eine Datenbank aus.
Klicken Sie auf der Seite Datenbankübersicht im Navigationsmenü auf Spanner Studio.
Klicken Sie auf In BigQuery ansehen.
Geben Sie im Dialogfeld In BigQuery ansehen eine Verbindungs-ID ein.
Die Verbindungs-ID wird verwendet, um eine neue externe BigQuery-Verbindung zu Ihrer Spanner-Datenbank zu erstellen. Sie verweisen mit dem folgenden Muster auf Ihre externe Verbindung:
PROJECT-ID.LOCATION.CONNECTION-ID
Ein Fehler tritt auf, wenn die ID bereits vorhanden ist.
Füllen Sie den Rest des Dialogfelds aus und gehen Sie so vor:
- Wählen Sie Daten gleichzeitig lesen aus.
- Wählen Sie Spanner Data Boost verwenden aus.
Klicken Sie auf In BigQuery ansehen.
BigQuery Studio wird mit der folgenden Abfrage geöffnet:
SELECT * FROM EXTERNAL_QUERY("PROJECT-ID.LOCATION.CONNECTION-ID", "SELECT * FROM INFORMATION_SCHEMA.TABLES;");
Sie können diese durch Ihre föderierte Abfrage ersetzen. Sie könnten beispielsweise eine Abfrage ähnlich dem folgenden Beispiel erstellen. In diesem Beispiel wird eine föderierte Abfrage für eine Tabelle namens
orders
in einer Spanner-Datenbank ausgeführt und die Ergebnisse werden mit einer BigQuery-Tabelle namensmydataset.customers
verknüpft.SELECT c.customer_id, c.name, rq.first_order_date FROM mydataset.customers AS c LEFT OUTER JOIN EXTERNAL_QUERY( 'my-project.us.example-db', '''SELECT customer_id, MIN(order_date) AS first_order_date FROM orders GROUP BY customer_id''') AS rq ON rq.customer_id = c.customer_id GROUP BY c.customer_id, c.name, rq.first_order_date;
Data Boost-Abfrage in BigQuery ausführen
Wenn Sie eine externe Datenverbindung von BigQuery zu einer Spanner-Datenbank erstellen und diese Verbindung verwenden möchten, um eine föderierte Data Boost-Abfrage aus BigQuery auszuführen, wählen Sie eine der folgenden Optionen aus:
Console
Rufen Sie in der BigQuery-Dokumentation Spanner-Verbindungen erstellen auf und folgen Sie der Anleitung auf dem Tab Console.
Führen Sie im Bereich Externe Datenquelle die folgenden Schritte aus:
- Wählen Sie Daten gleichzeitig lesen aus.
- Wählen Sie Spanner Data Boost verwenden aus.
bq
Rufen Sie in der BigQuery-Dokumentation Spanner-Verbindungen erstellen auf und folgen Sie der Anleitung auf dem Tab bq*.
Legen Sie die folgenden Verbindungsattribute auf
true
fest:useParallelism
useDataBoost
Im folgenden Beispiel wird mit dem Befehl bq
mk
eine neue Verbindung mit dem Namen my_connection
mit den beiden erforderlichen Attributen für Data Boost erstellt:
bq mk --connection --connection_type='CLOUD_SPANNER' --location='us' \
--properties='{"database":"projects/my-project/instances/my-instance/databases/my-database", "useParallelism":true, "useDataBoost": true}' my_connection
Nächste Schritte
- Weitere Informationen zu Data Boost finden Sie in der Data Boost-Übersicht.
- Data Boost in Ihren Anwendungen verwenden
- Data Boost-Nutzung im Blick behalten
- Data Boost-Kontingentnutzung im Blick behalten und verwalten