Slot-Zusicherungen erwerben und verwalten

Mit der BigQuery Reservations API können Sie dedizierte Slots (sogenannte Zusicherungen) kaufen und Slot-Pools erstellen (sogenannte Reservierungen und diesen Reservierungen Projekte, Ordner und Organisationen zuweisen.

Eine Kapazitätszusicherung ist der Kauf einer BigQuery-Rechenkapazität für einen Mindestzeitraum. Der Kauf einer Kapazitätszusicherung ist beim Erstellen einer Reservierung mit einer Version optional, kann jedoch Kosteneinsparungen bieten.

Zusicherungen sind regionale Ressourcen. Die in einer bestimmten Region oder Multiregion erworbenen Zusicherungen können nicht in anderen Regionen oder Multiregionen verwendet werden. Zusicherungen können nicht zwischen Regionen oder zwischen Regionen und Multiregionen verschoben werden.

Reservations API aktivieren

Die BigQuery Reservation API unterscheidet sich von der vorhandenen BigQuery API und muss unabhängig aktiviert werden. Weitere Informationen finden Sie unter APIs aktivieren und deaktivieren.

  • Der Name der API lautet "BigQuery Reservations API".
  • Der Endpunkt für die BigQuery Reservation API ist bigqueryreservation.googleapis.com.

API aktivieren

Slots erwerben

Wenn Sie die Kapazität für einen Mindestzeitraum reservieren möchten, können Sie eine Kapazitätszusicherung erwerben. Dies bietet einen Rabatt und spart Kosten. Weitere Informationen zu den spezifischen Kosten finden Sie unter BigQuery-Preise.

Erforderliche Berechtigungen

Zum Erstellen einer Kapazitätszusicherung benötigen Sie die folgende IAM-Berechtigung (Identity and Access Management):

  • bigquery.capacityCommitments.create für das Verwaltungsprojekt, das die Eigentumsrechte für die Zusicherungen verwaltet.

Jede der folgenden vordefinierten IAM-Rollen enthält diese Berechtigung:

  • BigQuery Admin
  • BigQuery Resource Admin

Weitere Informationen zu IAM-Rollen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.

Kapazitätszusicherung erstellen

Zusicherungen sind regionale Ressourcen. Die in einer bestimmten Region oder Multiregion erworbenen Zusicherungen können nicht in anderen Regionen oder Multiregionen verwendet werden. Zusicherungen können nicht zwischen Regionen oder zwischen Regionen und Multiregionen verschoben werden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.

    BigQuery aufrufen

  2. Klicken Sie im Navigationsmenü auf Kapazitätsverwaltung.

  3. Klicken Sie auf Zusicherung erstellen.

  4. Unter Konfigurieren:

    1. Wählen Sie den Standort aus.
    2. Wählen Sie im Abschnitt Kapazitätsmodell das Kapazitätsmodell aus.
    3. Wenn Sie die Option „Autoscaling (Version)“ auswählen:
      1. Wählen Sie in der Liste Edition die Ausgabe aus. Kapazitätszusicherungen werden nur in den Enterprise- und Enterprise Plus-Versionen unterstützt. Autoscaling ist nur innerhalb einer Version verfügbar. Weitere Informationen zu Editionen finden Sie unter Einführung in BigQuery-Editionen.
    4. Wählen Sie die Zusicherungsdauer, die Ihren Zusicherungsplan bestimmt.
    5. Wenn Sie eine Jährliche Zusicherung erwerben, wählen Sie den Verlängerungsplan aus, den Sie nach Ablauf der Zusicherung nutzen möchten:

      1. Jährliche Verlängerung. Nach Ablauf der jährlichen wird sie um ein weiteres Jahr als jährliche Zusicherung verlängert.

      Weitere Informationen finden Sie unter Zusicherungen.

    6. Geben Sie die Anzahl der Slots ein, die Sie erwerben möchten.

    7. Klicken Sie auf Weiter.

  5. Prüfen Sie die geschätzten Kosten für Ihren Kauf.

  6. Gehen Sie unter Bestätigen und senden so vor:

    1. Geben Sie BESTÄTIGEN ein, um den Kauf zu bestätigen.
    2. Klicken Sie auf Kaufen, um die Slots zu erwerben.
  7. Klicken Sie auf Slot-Zusicherungen anzeigen, um sich die Zusicherung anzeigen zu lassen. Nachdem die Kapazität bereitgestellt wurde, hat die angeforderte Kapazitätszusicherung einen grünen Status.

Wenn Sie zum ersten Mal eine Kapazität erwerben, wird eine default-Reservierung erstellt.

SQL

Verwenden Sie zum Erstellen einer Kapazitätszusicherung die DDL-Anweisung CREATE CAPACITY.

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

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    CREATE CAPACITY
      `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`
    OPTIONS (
      slot_count = NUMBER_OF_SLOTS,
      edition = EDITION,
      plan = 'PLAN_TYPE');

    Dabei gilt:

    • ADMIN_PROJECT_ID ist die Projekt-ID des Administrationsprojekts, dem die Zusicherung gehört.
    • LOCATION: der Standort der Zusicherung
    • COMMITMENT_ID: die ID der Zusicherung

      Sie muss für das Projekt und den Standort eindeutig sein. Sie muss mit einem Kleinbuchstaben oder einer Zahl beginnen und enden. Sie darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.

    • NUMBER_OF_SLOTS: die Anzahl der Slots, die gekauft werden sollen
    • EDITION: die Version, die der Kapazitätszusicherung zugeordnet ist. Sie können eine Kapazitätszusicherung nur mit der Enterprise- oder Enterprise Plus-Version erstellen. Weitere Informationen zu Versionen finden Sie unter Einführung in BigQuery-Versionen.
    • PLAN_TYPE: der Tariftyp, z. B. ANNUAL oder THREE_YEAR.

  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 mk mit dem Flag --capacity_commitment, um Slots zu erwerben.

bq mk \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --capacity_commitment=true \
    --edition=EDITION \
    --plan=PLAN_TYPE \
    --renewal_plan=RENEWAL_PLAN_TYPE \
    --slots=NUMBER_OF_SLOTS

Dabei gilt:

  • ADMIN_PROJECT_ID: die Projekt-ID des Administrationsprojekts, dem die Zusicherung gehört
  • LOCATION: der Standort der Zusicherung
  • EDITION: die mit der Kapazitätszusicherung verknüpfte Version. Sie können eine Kapazitätszusicherung nur mit der Enterprise- oder Enterprise Plus-Version erstellen. Weitere Informationen zu Versionen finden Sie unter Einführung in BigQuery-Versionen.
  • PLAN_TYPE: der Tariftyp, z. B. ANNUAL oder THREE_YEAR.
  • RENEWAL_PLAN_TYPE: der verlängerte Tariftyp, z. B. NONE, ANNUAL oder THREE_YEAR
  • NUMBER_OF_SLOTS: die Anzahl der Slots, die gekauft werden sollen.

Kapazitätszusicherungen anzeigen

Erforderliche Berechtigungen

Zum Aufrufen von Zusicherungen benötigen Sie folgende IAM-Berechtigung (Identity and Access Management):

  • bigquery.capacityCommitments.list für das Verwaltungsprojekt, das die Eigentumsrechte für die Zusicherungen verwaltet.

Jede der folgenden vordefinierten IAM-Rollen enthält diese Berechtigung:

  • BigQuery Admin
  • BigQuery Resource Admin
  • BigQuery Resource Editor
  • BigQuery Resource Viewer
  • BigQuery User

Weitere Informationen zu IAM-Rollen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.

Kapazitätszusicherungen nach Projekt aufrufen

So rufen Sie Kapazitätszusicherungen nach Projekt auf:

Console

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.

    BigQuery aufrufen

  2. Klicken Sie im Navigationsmenü auf Kapazitätsverwaltung.

  3. Klicken Sie auf den Tab Slot-Zusicherungen. Ihre Kapazitätszusicherungen werden in der Tabelle unter Zusicherungen aufgeführt.

SQL

Fragen Sie die Ansicht INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT ab, wenn Sie die Zusicherungen für ein Administrationsprojekt aufrufen möchten.

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

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    SELECT
      capacity_commitment_id
    FROM
      `region-LOCATION`.INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT
    WHERE
      project_id = 'ADMIN_PROJECT_ID'
      AND slot_count = 100;

    Dabei gilt:

  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 ls mit dem Flag --capacity_commitment, um die Zusicherungen für ein Administrationsprojekt aufzulisten.

bq ls \
    --capacity_commitment=true \
    --location=LOCATION \
    --project_id=ADMIN_PROJECT_ID

Dabei gilt:

Kapazitätszusicherungen aktualisieren

Sie können die folgenden Aktualisierungen an einer Kapazitätszusicherung vornehmen:

  • Verlängerungstarif der Zusicherung aktualisieren
  • Zusicherung in einen Zusicherungstarif mit längerer Dauer umwandeln
  • Eine Zusicherung in zwei Zusicherungen aufteilen.
  • Führen Sie zwei Zusicherungen zu einer einzigen Zusicherung zusammen

Erforderliche Berechtigungen

Zum Aktualisieren von Kapazitätszusicherungen benötigen Sie die folgende IAM-Berechtigung (Identity and Access Management):

  • bigquery.capacityCommitments.update für das Verwaltungsprojekt, das die Eigentumsrechte für die Zusicherungen verwaltet.

Jede der folgenden vordefinierten IAM-Rollen enthält diese Berechtigung:

  • BigQuery Admin
  • BigQuery Resource Admin

Weitere Informationen zu IAM-Rollen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.

Zusicherung verlängern

Jährliche Zusicherungen haben einen Verlängerungsplan, den Sie beim Erstellen oder Umwandeln in eine jährliche Zusicherung angeben. Sie können den Verlängerungsplan für die jährliche Zusicherung jederzeit vor dem Enddatum der Zusicherung ändern.

Console

So können Sie den Verlängerungsplan für eine jährliche Zusicherung ändern:

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.

    BigQuery aufrufen

  2. Klicken Sie im Navigationsmenü auf Kapazitätsverwaltung.

  3. Klicken Sie auf den Tab Slot-Zusicherungen.

  4. Suchen Sie die Zusicherung, die Sie bearbeiten möchten.

  5. Klicken Sie auf Aktionen und wählen Sie die Option Abo bearbeiten aus.

  6. Wählen Sie den neuen Verlängerungsplan aus.

bq

Wenn Sie das Preismodell für eine jährliche Zusicherung ändern möchten, verwenden Sie den Befehl bq update mit dem Flag --capacity_commitmentFlag und dem Flag --renewal_plan.

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --renewal_plan=PLAN_TYPE \
    --capacity_commitment=true \
    COMMITMENT_ID

Dabei gilt:

Zusicherung in längere Dauer umwandeln

Sie können Ihre Zusicherung jederzeit in eine Zusicherung mit längerer Nutzungsdauer umwandeln. Das funktioniert auch, wenn Sie von einem bestehenden Abo zu einer Version wechseln möchten.

Sobald Sie Ihre Zusicherung aktualisieren, wird Ihnen der mit dem neuen Plan verknüpfte Preis in Rechnung gestellt. Das Enddatum der Zusicherung wird zurückgesetzt.

Zum Konvertieren einer Zusicherung verwenden Sie den Befehl bq update mit dem Flag --plan.

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --plan=PLAN_TYPE \
    --renewal_plan=RENEWAL_PLAN \
    --capacity_commitment=true \
    COMMITMENT_ID

Dabei gilt:

  • ADMIN_PROJECT_ID: die Projekt-ID
  • LOCATION: der Standort der Zusicherung
  • PLAN_TYPE: der Tariftyp, z. B. ANNUAL oder THREE_YEAR.
  • RENEWAL_PLAN: der verlängerte Tarif

    Dies gilt nur, wenn PLAN_TYPE ANNUAL ist.

  • COMMITMENT_ID: die ID der Zusicherung

    Die ID finden Sie unter Erworbene Zusicherungen ansehen.

Zusicherung aufteilen

Sie können Ihre Zusicherung in zwei Zusicherungen aufteilen. Dies kann nützlich sein, wenn Sie einen Teil einer Zusicherung erneuern möchten. Beispiel: Wenn Sie eine jährliche Zusicherung von 1.000 Slots haben, können Sie 300 Slots in eine neue Zusicherung aufteilen, sodass 700 Slots in der ursprünglichen Zusicherung verbleiben. Sie können dann 700 Slots zum Jahrestarif verlängern und 300 Slots in eine dreijährige Zusicherung konvertieren. Sie können eine Zusicherung in Schritten von 50 Slots aufteilen.

Wenn Sie eine Zusicherung aufteilen, hat die neue Zusicherung denselben Plan und dasselbe Enddatum für die Zusicherung wie die ursprüngliche Zusicherung.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.

    BigQuery aufrufen

  2. Klicken Sie im Navigationsmenü auf Kapazitätsverwaltung.

  3. Klicken Sie auf den Tab Slot-Zusicherungen.

  4. Wählen Sie die Zusicherung aus, die Sie aufteilen möchten.

  5. Klicken Sie auf Split.

  6. Verwenden Sie auf der Seite Zusicherung aufteilen den Schieberegler Split konfigurieren, um festzulegen, aus wie vielen Slots jeder einzelne Split besteht, in Schritten von 50 Slots.

  7. Klicken Sie auf Split, um die Zusicherung aufzuteilen. Die neue Zusicherung wird auf dem Tab Slot-Zusicherungen aufgeführt.

bq

Verwenden Sie den Befehl bq update, um Zusicherungen aufzuteilen.

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --split \
    --slots=SLOTS_TO_SPLIT \
    --capacity_commitment=true \
    COMMITMENT_ID

Dabei gilt:

  • ADMIN_PROJECT_ID: die Projekt-ID
  • LOCATION: der Standort der Zusicherung
  • SLOTS_TO_SPLIT: die Anzahl der Slots, die von der ursprünglichen Zusicherung in eine neue Zusicherung übernommen werden sollen
  • COMMITMENT_ID: die ID der Zusicherung

    Die ID finden Sie unter Erworbene Zusicherungen ansehen.

Zwei Zusicherungen zusammenführen

Sie können mehrere Zusicherungen zu einer einzigen Zusicherung zusammenführen. Die zusammengeführten Zusicherungen müssen alle vom selben Typ sein (ANNUAL oder THREE_YEAR). Das Enddatum der kombinierten Zusicherung ist das späteste Enddatum der ursprünglichen Zusicherungen. Wenn eine der Zusicherungen ein früheres Enddatum hat, wird sie auf das spätere Datum verlängert. Ihnen wird ein anteiliger Betrag für diese Slots in Rechnung gestellt.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.

    BigQuery aufrufen

  2. Klicken Sie im Navigationsmenü auf Kapazitätsverwaltung.

  3. Klicken Sie auf den Tab Slot-Zusicherungen.

  4. Wählen Sie die Zusicherungen aus, die Sie zusammenführen möchten.

  5. Klicken Sie auf Zusammenführen.

  6. Prüfen Sie auf der Seite Commitments zusammenführen die Details der Zusammenführung und klicken Sie auf Zusammenführen. Die neue zusammengeführte Zusicherung ist auf dem Tab Slot-Zusicherungen aufgelistet.

bq

Verwenden Sie den Befehl bq update, um zwei Zusicherungen in einer Zusicherung zusammenzuführen:

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --merge=true \
    --capacity_commitment=true \
    COMMITMENT1,COMMITMENT2

Dabei gilt:

  • ADMIN_PROJECT_ID: die Projekt-ID
  • LOCATION: der Standort der Zusicherungen
  • COMMITMENT1: die erste zusammenzuführende Zusicherung
  • COMMITMENT2: die zweite zusammenzuführende Zusicherung

Ablauf der Zusicherung

Zusicherungen laufen am Ende der Laufzeit ab. Sie können eine Zusicherung nicht löschen, solange sie aktiv ist. Wenn der Verlängerungstarif auf NONE festgelegt ist, wird die Zusicherung automatisch gelöscht. Andernfalls wird er mit einer jährlichen oder dreijährigen Zusicherung verlängert, je nach Verlängerungstarif. Führen Sie die Schritte unter Zusicherung verlängern aus, um den Verlängerungstarif in NONE zu ändern.

Nach der Verlängerung einer Zusicherung ändert sich der Wert für Beginn nicht. Sie bezieht sich auf den Beginn der ursprünglichen Verpflichtung. Der Wert von End time ist der Zeitpunkt, zu dem die verlängerte Zusicherung abläuft. Angenommen, Sie haben eine jährliche Zusicherung, die am 13. Dezember 2022 erstellt wurde und am 13. Dezember 2023 verlängert wird. Wenn Sie sich die Details zur Bindung am 14. Dezember 2023 ansehen, lautet der Wert für Beginn 13. Dezember 2022 und der Wert für Ende 12. Dezember 2024.

Für Baseline-Slots werden immer Gebühren berechnet. Wenn eine Kapazitätszusicherung abläuft, müssen Sie möglicherweise die Anzahl der Baseline-Slots in Ihren Reservierungen manuell anpassen, um unerwünschte Gebühren zu vermeiden. Beispiel: Sie haben eine 1-jährige Zusicherung mit 100 Slots und eine Reservierung mit 100 Baseline-Slots. Die Zusicherung läuft ab und hat keinen Verlängerungstarif. Nach Ablauf der Zusicherung zahlen Sie für 100 Baseline-Slots zum Pay-As-You-Go-Preis.

Erstellung von Kapazitätszusicherungen steuern

Mit IAM-Ablehnungsrichtlinien können Sie zusätzlich festlegen, wer Kapazitätszusagen erstellen darf.

Richtlinien zum Ablehnen können für eine Gruppe von Nutzern oder für alle erstellt und mit Ausnahmen und Bedingungen konfiguriert werden.

Mit der folgenden Richtlinie wird beispielsweise allen Nutzern außer dem Hauptkonto „lucian@beispiel.de“ die Berechtigung zum Erstellen von Kapazitätszusagen verweigert:

{
  "deniedPrincipals": [
    "principalSet://goog/public:all"
  ],
  "deniedPermissions": [
    "bigquery.googleapis.com/capacityCommitments.create"
  ],
  "exceptionPrincipals": [
    "principal://goog/subject/lucian@example.com"
  ]
}

Diese Richtlinie kann dann an eine Organisation angehängt werden, um zu steuern, wer die Zusagen erstellen kann.

Diese Richtlinien haben Vorrang vor den IAM-Rollen. Selbst ein Nutzer mit der Rolle bigquery.admin kann also keine Zusicherung erstellen, es sei denn, die Richtlinie wird gelöscht oder geändert.

Weitere Informationen finden Sie unter Zugriff auf Ressourcen verweigern.

Fehlerbehebung bei Kapazitätszusicherungen

In diesem Abschnitt werden Schritte zur Fehlerbehebung beschrieben, die bei Problemen mit BigQuery-Reservierungen hilfreich sein können.

Erworbene Slots stehen aus

Slots unterliegen der verfügbaren Kapazität. Wenn Sie Slot-Zusicherungen erwerben und BigQuery diese zuweist, wird in der Spalte Status ein Häkchen angezeigt. Wenn BigQuery die angeforderten Slots nicht sofort zuweisen kann, bleibt die Spalte Status auf „Ausstehend“. Möglicherweise müssen Sie einige Stunden warten, bis die Slots verfügbar sind. Wenn Sie früher Zugriff auf Slots benötigen, versuchen Sie Folgendes:

  1. Löschen Sie die ausstehende Zusicherung.
  2. Erwerben Sie eine neue Zusicherung für eine kleinere Anzahl von Slots. Je nach Kapazität wird die kleinere Zusicherung möglicherweise sofort aktiviert.
  3. Erwerben Sie die übrigen Slots als separate Zusicherung. Diese Slots werden in der Spalte Status möglicherweise als „Ausstehend“ angezeigt, sind aber in der Regel innerhalb weniger Stunden aktiv.
  4. Optional: Wenn beide Zusicherungen verfügbar sind, können Sie sie in einer einzigen Zusicherung zusammenführen, sofern Sie für beide Abos denselben Tarif erworben haben.

Wenn eine Slot-Zusicherung fehlschlägt oder sehr lange dauert, sollten Sie eventuell On-Demand-Preise in Betracht ziehen. Bei dieser Lösung müssen Sie möglicherweise wichtige Abfragen in einem anderen Projekt ausführen, das keinen Reservierungen zugewiesen ist, oder Sie müssen die Projektzuweisung vollständig entfernen.