Auf dieser Seite wird beschrieben, wie Sie Spanner Data Boost verwenden, wenn Sie föderierte Abfragen von BigQuery an 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. Mit Data Boost-Abfragen von BigQuery an eine Spanner-Datenbank können BigQuery-Daten mit Spanner-Daten zusammengeführt 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.
Hinweis
Bevor Sie föderierte Abfragen mit Data Boost ausführen können, müssen Sie die folgenden Aufgaben ausführen:
Spanner-Instanz und ‑Datenbank erstellen
Wenn Sie noch keine Spanner-Instanz und ‑Datenbank haben, folgen Sie der Anleitung unter Datenbank mit der Google Cloud Console erstellen und abfragen, um sie zu erstellen.
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-Verbindungs-API.
Hauptkonten IAM-Berechtigungen für Data Boost erteilen
Einem Hauptkonto müssen die folgenden Berechtigungen gewährt werden, um föderierte Abfragen mit Data Boost auszuführen:
spanner.instances.get
: Damit können Sie die Konfiguration einer Instanz abrufen.spanner.databases.useDataBoost
: Sie können die Rechenressourcen von Spanner Data Boost verwenden, um partitionierte Abfragen zu verarbeiten.
Weitere Informationen zu Spanner-Berechtigungen finden Sie unter IAM-Berechtigungen (Identity and Access Management).
Wir empfehlen, die IAM-Rolle Cloud
Spanner Database Reader With DataBoost
(roles/spanner.databaseReaderWithDataBoost
) zu verwenden, um diese erforderlichen Berechtigungen zu gewähren. Sie können diese Rolle jedem Nutzer zuweisen, der 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 ausführen 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 in einer Spanner-Datenbank auszuführen.
Verwenden Sie eine der folgenden Optionen, um eine BigQuery-Verbindungs-ID zu erstellen, und verwenden Sie dann die Verbindungs-ID, um eine Data Boost-Abfrage aus BigQuery auszuführen:
In Spanner starten: Die BigQuery-ID der externen Verbindung wird in der Spanner-Konsole erstellt. Nachdem die Verbindungs-ID in der Spanner Console erstellt wurde, werden Sie zur BigQuery Console weitergeleitet, um eine föderierte Data Boost-Abfrage an 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 Befehlszeilentool
bq
. Nachdem Sie die Verbindungs-ID erstellt haben, bleiben Sie in der BigQuery-Konsole, um eine föderierte Data Boost-Abfrage an eine Spanner-Datenbank auszuführen.
In Spanner beginnen, um eine Data Boost-Abfrage auszuführen
So führen Sie eine föderierte Data Boost-Abfrage aus, die in Spanner Studio gestartet wird:
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
In der Konsole 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.
Anhand der Verbindungs-ID wird eine neue externe BigQuery-Verbindung zu Ihrer Spanner-Datenbank erstellt. Sie verweisen auf Ihre externe Verbindung mit dem folgenden Muster:
PROJECT-ID.LOCATION.CONNECTION-ID
Wenn die ID bereits vorhanden ist, tritt ein Fehler auf.
Füllen Sie den Rest des Dialogfelds aus und führen Sie die folgenden Schritte aus:
- 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 diesen Wert durch Ihre föderierte Abfrage ersetzen. Sie könnten beispielsweise eine Abfrage ähnlich der folgenden stellen. In diesem Beispiel wird eine föderierte Abfrage von einer Tabelle namens
orders
in einer Spanner-Datenbank erstellt und die Ergebnisse 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;
In BigQuery eine Data Boost-Abfrage ausführen
Wenn Sie eine externe Datenverbindung von BigQuery zu einer Spanner-Datenbank erstellen und mit dieser Verbindung eine föderierte Data Boost-Abfrage aus BigQuery ausführen möchten, wählen Sie eine der folgenden Optionen aus:
Console
Rufen Sie in der BigQuery-Dokumentation den Abschnitt 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 den Abschnitt Spanner-Verbindungen erstellen auf und folgen Sie der Anleitung auf dem Tab bq*.
Legen Sie die folgenden Verbindungseigenschaften 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 Eigenschaften für den 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
- Data Boost-Übersicht
- Data Boost in Ihren Anwendungen verwenden
- Data Boost-Nutzung im Blick behalten
- Nutzung des Daten-Boost-Kontingents im Blick behalten und verwalten