BI Engine-Kapazität reservieren

Die Abrechnung von BigQuery BI Engine erfolgt auf der Grundlage der BI Engine-Kapazität, die Sie für Ihr Projekt erwerben. Reservierungen werden pro GB/Stunde berechnet. Die Preise werden pro Region gemäß den On-Demand-Preisen berechnet. Wenn Sie eine kapazitätsbasierte Zusicherung haben, können Sie basierend auf der aktiven Zusicherung einen Rabatt von bis zu 100 % erhalten. Weitere Informationen finden Sie unter Kapazitätsbasierte Preise.

Sie erwerben BigQuery BI Engine-Kapazität, indem Sie eine Reservierung erstellen. Die Reservierung wird an ein Projekt angehängt, das Sie beim Erstellen der Reservierung identifizieren. BI Engine verwendet diese Kapazität, um zu bestimmen, wie viele Daten zwischengespeichert werden können. Weitere Informationen zur maximalen Reservierungsgröße für BI Engine finden Sie unter Kontingente und Beschränkungen.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen für das Projekt die IAM-Rolle BigQuery-Ressourcen-Administrator (roles/bigquery.resourceAdmin) zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Löschen von Reservierungen benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Reservierung erstellen

So reservieren Sie die On-Demand-Kapazität der BI-Engine:

Console

  1. Rufen Sie auf der BigQuery-Seite unter Verwaltung die Seite BI Engine auf.

    Zur BI Engine

  2. Klicken Sie auf Reservierung erstellen.

  3. Auf der Seite Reservierung erstellen für Schritt 1:

    • Prüfen Sie Ihren Projektnamen.
    • Standort auswählen Der Speicherort sollte mit dem Speicherort der Datasets übereinstimmen, die Sie abfragen.
    • Passen Sie den Schieberegler an die reservierte Speicherkapazität an. Im folgenden Beispiel wird die Kapazität auf 2 GB festgelegt. Das aktuelle Maximum beträgt 250 GB. Sie können eine Erhöhung der maximalen Reservierungskapazität für Ihre Projekte anfordern. Reservierungserhöhungen sind in den meisten Regionen möglich und können zwischen 3 Tagen und einer Woche Bearbeitungszeit in Anspruch nehmen.

      Speicherort der BI-Engine

  4. Klicken Sie auf Weiter.

  5. Bevorzugte Tabellen (optional). Mit bevorzugten Tabellen können Sie die BI Engine-Beschleunigung auf einen bestimmten Satz von Tabellen beschränken. Alle anderen Tabellen verwenden reguläre BigQuery-Slots.

    Geben Sie im Feld Tabellen-ID die Tabelle an, die Sie mit dem Muster PROJECT.DATASET.TABLE beschleunigen möchten.

    Ersetzen Sie Folgendes:

    • PROJECT: Ihre Google Cloud-Projekt-ID
    • DATASET: Das Dataset
    • TABLE: Die Tabelle, die Sie beschleunigen möchten
  6. Klicken Sie auf Weiter.

  7. Prüfen Sie für Schritt 3 Ihre Reservierungsdetails und klicken Sie dann auf Erstellen.

Nach Bestätigung Ihrer Reservierung werden die Details auf der Seite Reservierungen angezeigt.

SQL

Verwenden Sie die DDL-Anweisung ALTER BI_CAPACITY SET OPTIONS, um eine BI Engine-Reservierung zu erstellen oder zu ändern.

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default`
    SET OPTIONS (
      size_gb = VALUE,
      preferred_tables =
        [`TABLE_PROJECT_ID.DATASET.TABLE1`,
        `TABLE_PROJECT_ID.DATASET.TABLE2`]);
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Optionale ID des Projekts, das von der BI Engine-Beschleunigung profitieren wird. Wenn nichts angegeben ist, wird das Standardprojekt verwendet.
    • LOCATION_ID: der Standort, an dem Daten im Cache gespeichert werden müssen, mit dem Präfix region-. Beispiele: region-us, region-us-central1.
    • VALUE: die INT64-Größe der Reservierung für BI Engine-Kapazität in Gigabyte, 1 bis 250 GB. Sie können eine Erhöhung der maximalen Reservierungskapazität für Ihre Projekte anfordern. Reservierungserhöhungen sind in den meisten Regionen möglich und können zwischen 3 Tagen und einer Woche Bearbeitungszeit in Anspruch nehmen. Mit der Einstellung VALUE wird der vorhandene Wert ersetzt, falls vorhanden. Wenn Sie diesen Wert auf NULL festlegen, wird der Wert für diese Option gelöscht.
    • TABLE_PROJECT_ID.DATASET.TABLE: die optionale Liste der referenzierten Tabellen, auf die die Beschleunigung angewendet werden soll. Format: TABLE_PROJECT_ID.DATASET.TABLE or DATASET.TABLE Wenn das Projekt weggelassen wird, wird das Standardprojekt verwendet.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Verwenden Sie den Befehl bq update und geben Sie die DDL-Anweisung (Datendefinitionssprache-Anweisung) als Abfrageparameter an:

bq --project_id=PROJECT_ID update \
    --bi_reservation_size=SIZE \
    --location=LOCATION \
    --reservation

Dabei gilt:

  • PROJECT_ID: die Projekt-ID
  • SIZE: die Reservierungsspeicherkapazität in Gigabyte, 1 bis 250 GB Sie können eine Erhöhung der maximalen Reservierungskapazität für Ihre Projekte anfordern. Reservierungserhöhungen sind in den meisten Regionen möglich und können zwischen 3 Tagen und einer Woche Bearbeitungszeit in Anspruch nehmen.
  • LOCATION: der Standort des abgefragten Datasets.

Kapazität schätzen und messen

So schätzen Sie die Kapazitätsanforderungen für eine BI Engine-Reservierung:

  1. Rufen Sie die Ansicht TOTAL_LOGICAL_BYTES auf, um die logische Größe der Tabelle zu ermitteln, und verwenden Sie diese für Ihre erste BI Engine-Reservierung. Beispiel:

    SELECT
      SUM(TOTAL_LOGICAL_BYTES) / 1024.0 / 1024.0 / 1024.0 AS logical_size_gb
    FROM
      `region-us.INFORMATION_SCHEMA.TABLE_STORAGE`
    WHERE
      TABLE_NAME IN UNNEST(["Table1", "Table2"]);
    

    Beispielsweise können Sie für Abfragen auf eine Gruppe von Tabellen, die insgesamt 200 GiB Daten enthalten, mit einer BI Engine-Reservierung mit 200 GiB beginnen. Selektivere Abfragen, die nur einen Teil der verfügbaren Felder oder Partitionen verwenden, können mit einer kleineren Reservierungsgröße beginnen.

  2. Führen Sie alle Abfragen aus, die optimiert werden müssen und im selben Projekt und in derselben Region wie die BI Engine-Reservierung erstellt wurden. Das Ziel besteht darin, die zu optimierende Arbeitslast abzuschätzen. Die erhöhte Last erfordert mehr Arbeitsspeicher für die Verarbeitung von Abfragen. Daten werden nach dem Empfang der Abfrage in BI Engine geladen.

  3. Vergleichen Sie die BI Engine-RAM-Reservierung mit der Anzahl der verwendeten Byte – reservation/used_bytes in den Cloud Monitoring-bigquerybiengine-Messwerten.

  4. Passen Sie die Reservierungskapazität anhand der Ergebnisse an. In vielen Anwendungsfällen kann eine kleinere Reservierung den Großteil Ihrer Abfragen beschleunigen und spart Geld und Ressourcen. Weitere Informationen zu Monitoring für BI Engine finden Sie unter BI Engine-Monitoring.

Folgende Faktoren wirken sich auf die Größe der BI Engine-Reservierung aus:

  • BI Engine speichert nur die Spalten und Zeilen, auf die häufig zugegriffen wird, die zur Verarbeitung der Abfrage erforderlich sind.
  • Wenn eine Reservierung vollständig genutzt wird, versucht BI Engine, die am weitesten in der Vergangenheit verwendeten Daten auszulagern, um Kapazität für neue Abfragen freizugeben.
  • Wenn mehrere rechenintensive Abfragen dasselbe Dataset verwenden, lädt BI Engine zusätzliche Kopien der Daten, um die Antwortzeiten neu zu verteilen und zu optimieren.

Reservierung ändern

Führen Sie die folgenden Schritte aus, um eine vorhandene Reservierung zu ändern:

Console

So geben Sie eine Reihe von Tabellen zur Beschleunigung in einer vorhandenen Reservierung an:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Klicken Sie im BigQuery-Navigationsmenü auf BI Engine.

    Wenn Ihr Projekt für bevorzugte Tabellen konfiguriert ist, wird in der Spalte Bevorzugte Tabellen ein Tabellenset angezeigt.

    Image

  3. Klicken Sie in der Zeile für die zu bearbeitende Reservierung auf das Symbol in der Spalte Aktionen und wählen Sie Bearbeiten.

  4. Passen Sie den Schieberegler GiB-Kapazität an die Größe der reservierten Speicherkapazität an. Klicken Sie auf Next.

  5. Bevorzugte Tabellen: Wenn Sie eine Reihe von Tabellen zur Beschleunigung in einer vorhandenen Reservierung angeben möchten, geben Sie im Feld Tabellen-ID die Tabelle an, die Sie mit dem folgenden Muster beschleunigen möchten: PROJECT.DATASET.TABLE

    Ersetzen Sie Folgendes:

    • PROJECT: Ihre Google Cloud-Projekt-ID
    • DATASET: Das Dataset
    • TABLE: Die Tabelle, die Sie beschleunigen möchten

    Änderungen können bis zu zehn Sekunden brauchen, bevor sie wirksam werden. Nur Tabellen in der Liste der bevorzugten Tabellen können die BI Engine-Beschleunigung verwenden.

    Klicken Sie auf Weiter.

  6. Bestätigen Sie Ihre geänderte Reservierung. Wenn Sie zustimmen, klicken Sie auf Aktualisieren.

SQL

Mit der DDL-Anweisung ALTER BI_CAPACITY SET OPTIONS können Sie eine BI Engine-Reservierung erstellen oder ändern.

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default`
    SET OPTIONS (
      size_gb = VALUE,
      preferred_tables =
        [`TABLE_PROJECT_ID.DATASET.TABLE1`,
        `TABLE_PROJECT_ID.DATASET.TABLE2`]);
    

    Dabei gilt:

    • PROJECT_ID: Optionale ID des Projekts, das von der BI Engine-Beschleunigung profitieren wird. Wenn nichts angegeben ist, wird das Standardprojekt verwendet.
    • LOCATION_ID: der Standort, an dem Daten im Cache gespeichert werden müssen, mit dem Präfix region-. Beispiele: region-us, region-us-central1.
    • VALUE: die INT64-Größe der Reservierung für BI Engine-Kapazität in Gigabyte, 1 bis 250 GB. Sie können eine Erhöhung der maximalen Reservierungskapazität für Ihre Projekte anfordern. Reservierungserhöhungen sind in den meisten Regionen möglich und können zwischen 3 Tagen und einer Woche Bearbeitungszeit in Anspruch nehmen. Mit der Einstellung VALUE wird der vorhandene Wert ersetzt, falls vorhanden. Wenn Sie diesen Wert auf NULL festlegen, wird der Wert für diese Option gelöscht.
    • TABLE_PROJECT_ID.DATASET.TABLE: Optionale Liste der bevorzugten Tabellen, auf die die Beschleunigung angewendet werden soll. Format: TABLE_PROJECT_ID.DATASET.TABLE or DATASET.TABLE Wenn das Projekt weggelassen wird, wird das Standardprojekt verwendet.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

Eine Reservierung löschen

So löschen Sie eine Kapazitätsrreservierung:

Console

  1. Rufen Sie auf der BigQuery-Seite unter Verwaltung die Seite BI Engine auf.

    Zur BI Engine

  2. Suchen Sie im Abschnitt Reservierungen Ihre Reservierung.

  3. Klicken Sie in der Spalte Aktionen auf das Symbol rechts neben Ihrer Reservierung und wählen Sie Löschen.

  4. Geben Sie im Dialogfeld Reservierung löschen? den Wert Löschen ein und klicken Sie dann auf LÖSCHEN.

SQL

Legt die Optionen für die BI Engine-Kapazität fest.

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default`
    SET OPTIONS (
      size_gb = 0);
    

    Dabei gilt:

    • PROJECT_ID: Optionale ID des Projekts, das von der BI Engine-Beschleunigung profitieren wird. Wenn nichts angegeben ist, wird das Standardprojekt verwendet.
    • LOCATION_ID: der Standort, an dem Daten im Cache gespeichert werden müssen, mit dem Präfix region-. Beispiele: region-us, region-us-central1.

    Wenn Sie alle Kapazitätsreservierungen in einem Projekt löschen, ist BI Engine für dieses Projekt deaktiviert.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Verwenden Sie den Befehl bq update und geben Sie die DDL-Anweisung als Abfrageparameter an.

bq --project_id="PROJECT_ID" \
update --reservation
    --bi_reservation_size=0 \
    --location=LOCATION

Dabei gilt:

  • PROJECT_ID: die Projekt-ID
  • LOCATION: der Standort des abgefragten Datasets.

BI Engine-Informationen prüfen

Informationen zu Ihrer BI Engine-Kapazität erhalten Sie durch Abfrage der INFORMATION_SCHEMA-Tabellen.

Reservierungsstatus prüfen

Um den Status Ihrer Reservierung zu prüfen, einschließlich eines Sets bevorzugter Tabellen, rufen Sie die Ansicht INFORMATION_SCHEMA.BI_CAPACITIES mit einer SQL-Abfrage auf. Beispiel:

SELECT
  *
FROM
  `<PROJECT_ID>.region-<REGION>.INFORMATION_SCHEMA.BI_CAPACITIES`;

In der Google Cloud Console sieht das Ergebnis dieser SQL-Abfrage etwa so aus:

Image

Reservierungsänderungen ansehen

Um den Änderungsverlauf für eine bestimmte Reservierung aufzurufen, verwenden Sie die INFORMATION_SCHEMA.BI_CAPACITY_CHANGES-Ansicht mit einer SQL-Abfrage. Beispiel:

SELECT
  *
FROM
  `<PROJECT_ID>.region-<REGION>.INFORMATION_SCHEMA.BI_CAPACITY_CHANGES`
ORDER BY
  change_timestamp DESC
LIMIT 3;

In der Google Cloud Console sieht das Ergebnis dieser SQL-Abfrage etwa so aus:

Screenshot: Ergebniszeilen mit change_timestamp project_id project_number

Nächste Schritte