Arbeitslastverwaltung mit Reservierungen

Auf dieser Seite wird beschrieben, wie Sie mit Slotreservierungen Ihre BigQuery-Arbeitslasten verwalten.

Slot-Reservierungen

In BigQuery werden Slots in Pools zugewiesen, die als Reservierungen bezeichnet werden. Mit Reservierungen können Sie die Kapazität verwalten und Arbeitslasten für Ihre Organisation sinnvoll isolieren. Sie können beispielsweise eine Reservierung mit dem Namen prod für Produktionsarbeitslasten und eine separate Reservierung mit dem Namen test für Tests erstellen, sodass Testjobs nicht mit Produktionsjobs um Ressourcen konkurrieren. Alternativ können Sie Reservierungen für verschiedene Abteilungen in Ihrer Organisation erstellen, um Rechenkosten zuzuordnen.

Trotz des Namens ist die Kapazität in einer Reservierung nicht unbedingt reserviert. Wenn Sie Reservierungen mit Autoscaling verwenden, wird die Kapazität automatisch an die Nachfrage angepasst. Außerdem können inaktive Slots für mehrere Reservierungen freigegeben werden.

Reservierungszuweisungen

Damit Sie zugewiesene Slots in einer Reservierung verwenden können, müssen Sie sie einem oder mehreren Projekten, Ordnern oder Organisationen zuweisen. Wenn ein Job in einem Projekt ausgeführt wird, verwendet er Slots aus der zugewiesenen Reservierung. Ressourcen können Zuweisungen von ihrem übergeordneten Element in der Google Cloud -Ressourcenhierarchie übernehmen. Wenn ein Projekt keiner Reservierung zugewiesen ist, wird gegebenenfalls die Zuweisung des übergeordneten Ordners oder der übergeordneten Organisation übernommen.

Projekte verwenden die spezifischste Reservierung in der Ressourcenhierarchie, der sie zugewiesen sind. Eine Ordnerzuweisung überschreibt eine Organisationszuweisung und eine Projektzuweisung überschreibt eine Ordnerzuweisung.

Wenn einem Projekt keine Reservierung zugewiesen ist oder keine Reservierung übernommen wird, wird für den Job die On-Demand-Abrechnung verwendet. Weitere Informationen zur Ressourcenhierarchie finden Sie unter BigQuery-Ressourcen organisieren.

Ressourcen können None zugewiesen werden, um anzuzeigen, dass keine Zuweisung vorhanden ist. Wenn Projekten None zugewiesen ist, wird immer die On-Demand-Abrechnung verwendet. Ein häufiger Anwendungsfall für None-Zuweisungen ist die Zuweisung einer Organisation zu einer Reservierung. Anschließend werden mit None bestimmte Projekte oder Ordner aus dieser Reservierung entfernt. Weitere Informationen erhalten Sie unter None ein Projekt zuweisen.

Wenn Sie eine Zuweisung erstellen, geben Sie den Jobtyp für diese Zuweisung an:

  • QUERY: Verwenden Sie diese Reservierung für nicht kontinuierliche Abfragejobs, einschließlich SQL-, DDL-, DML- und BigQuery ML-Abfragen (integrierte Modelle).

  • BACKGROUND_CHANGE_DATA_CAPTURE: Verwenden Sie diese Reservierung, wenn Sie Ihre eigene Reservierung verwenden möchten, um Ihre BigQuery-Hintergrundjobs für Change Data Capture (CDC) auszuführen. BACKGROUND_CHANGE_DATA_CAPTURE-Reservierungen sind in der Standardversion nicht verfügbar.

  • BACKGROUND_COLUMN_METADATA_INDEX: Verwenden Sie diese Reservierung, wenn Sie Ihre eigene Reservierung verwenden möchten, um Ihre BigLake-Metadaten-Caching-Hintergrundjobs auszuführen. Verwenden Sie diese Reservierung auch, wenn Sie Quelldatenbanken mit den Hintergrundvorgänge von Datastream in BigQuery replizieren. BACKGROUND_COLUMN_METADATA_INDEX-Reservierungen sind in der Standardversion nicht verfügbar.

  • BACKGROUND_SEARCH_INDEX_REFRESH: Verwenden Sie diese Reservierung, wenn Sie Ihre eigene Reservierung verwenden möchten, um Ihre BigQuery-Suche-Indexverwaltungs-Hintergrundjobs auszuführen. BACKGROUND_SEARCH_INDEX_REFRESH-Reservierungen sind in der Standardversion nicht verfügbar.

  • BACKGROUND: Verwenden Sie diese Reservierung, wenn Sie Ihre eigene Reservierung verwenden möchten, um Quelldatenbanken mit den Hintergrundvorgängen von Datastream in BigQuery zu replizieren. Diese Reservierung wird auch für die Jobs verwendet, die durch BACKGROUND_CHANGE_DATA_CAPTURE, BACKGROUND_COLUMN_METADATA_INDEX und BACKGROUND_SEARCH_INDEX_REFRESH beschrieben werden, wenn keine spezifischere Reservierung für diese Jobtypen vorhanden ist. BACKGROUND-Reservierungen sind in der Standardversion nicht verfügbar.

  • CONTINUOUS: Verwenden Sie diese Reservierung für Jobs vom Typ kontinuierliche Abfrage.

  • ML_EXTERNAL: Verwenden Sie diese Reservierung für BigQuery ML-CREATE MODEL-Abfragen, die Dienste außerhalb von BigQuery verwenden. Weitere Informationen finden Sie unter BigQuery ML-Arbeitslasten Slots zuweisen. ML_EXTERNAL-Reservierungen sind in der Standardversion nicht verfügbar.

  • PIPELINE: Verwenden Sie diese Reservierung für Lade- und Extrahierungsjobs.

    Standardmäßig sind Lade- und Extrahierungsjobs kostenlose Vorgänge, die einen gemeinsamen Slot-Pool nutzen. BigQuery verspricht keine Kapazitätsverfügbarkeit für diesen gemeinsamen Pool oder den angezeigten Durchsatz. Wenn Sie große Datenmengen laden, wartet Ihr Job eventuell darauf, dass Slots verfügbar werden. In diesem Fall bietet es sich an, dedizierte Slots zu erwerben und ihnen PIPELINE-Jobs zuzuweisen. Als Best Practice empfehlen wir, eine zusätzliche dedizierte Reservierung mit aktivierter Option Inaktive Slots ignorieren zu erstellen. Weitere Informationen zu inaktiven Slots finden Sie unter Inaktive Slots.

    Wenn Lade- und Extrahierungsjobs einer Reservierung zugewiesen sind, können sie nicht mehr auf den kostenlosen Pool zugreifen. Sie sollten die Ressourcennutzung und Jobs überwachen, damit Ihre Reservierungen eine ausreichende Kapazität haben, um eine bessere Leistung als beim Verwenden des freien Pools zu erzielen.

Sie können bestimmten Aufgaben keine einzelnen Slots zuweisen. Der BigQuery-Planer verarbeitet die Slotzuweisung für Jobs, die eine Reservierung verwenden. Weitere Informationen zur Verwendung von Slots finden Sie unter Fair Scheduling in BigQuery.

Reservierungen flexibel zuweisen

In BigQuery können Sie zur Laufzeit angeben, in welcher Reservierung eine Abfrage ausgeführt werden soll. So haben Sie mehr Kontrolle über die Ressourcenzuweisung und können vermeiden, dass unnötige Projekte erstellt werden. Sie können eine Reservierung zur Laufzeit mit der CLI, der Benutzeroberfläche, SQL> oder der API angeben und so die standardmäßige Reservierungszuweisung für Ihr Projekt, Ihren Ordner oder Ihre Organisation überschreiben. Die zugewiesene Reservierung muss sich in derselben Region wie die Abfrage befinden, die Sie ausführen. Diese Aufgaben werden in allen Versionen unterstützt.

Sie benötigen Zugriff auf die Reservierung, um sie beim Ausführen der Abfrage verwenden zu können.

Wenn Sie Reservierungen flexibel zuweisen möchten, führen Sie eine interaktive Abfrage aus und geben Sie die Reservierung an.

Reservierungen mit On-demand-Abrechnung kombinieren

Sie können sich in einer Region für die kapazitätsbasierte Abrechnung und in einer anderen Region für die On-Demand-Abrechnung entscheiden. Standardmäßig wird die On-Demand-Abrechnung für alle Projekte verwendet. Sie können für ein Projekt, einen Ordner oder eine Organisation in einer Region die kapazitätsbasierte Abrechnung aktivieren. Weisen Sie sie dazu einer Reservierung zu. Wenn Sie beispielsweise eine Slot-Zusicherung am multiregionalen Standort "US" erwerben und Ihre Organisation der Standardreservierung zuweisen, wird Ihre Organisation am multiregionalen Standort "US" kapazitätsbasiert abgerechnet. In allen anderen Regionen bleibt jedoch die On-Demand-Abrechnung bestehen.

Innerhalb einer Region können Sie die kapazitätsbasierte und die On-Demand-Abrechnung kombinieren, wenn Sie einer Reservierung explizit Projekte zuweisen. Jedes Projekt, das keiner Reservierung zugewiesen ist, wird weiterhin per On-Demand-Abrechnung abgerechnet. Durch Zuweisen der Reservierungs-ID none können Sie einem Projekt explizit die On-Demand-Abrechnung zuweisen. Dies ist sinnvoll, wenn Sie einer Reservierung einen Ordner oder eine Organisation zuweisen, aber einrichten möchten, dass für einige Projekte in diesem Ordner oder dieser Organisation die On-Demand-Abrechnung verwendet wird. Weitere Informationen finden Sie unter Projekt "None" zuweisen.

Projekte mit On-Demand-Abrechnung verwenden Kapazitäten, die von Ihren zugesicherten Kapazitäten getrennt sind. Diese Projekte haben keinen Einfluss auf die Verfügbarkeit Ihrer zugesicherten Kapazität.

Administrationsprojekt angeben

Wenn Sie Zusicherungen und Reservierungen erstellen, werden diese mit einem Google Cloud -Projekt verknüpft. Dieses Projekt verwaltet die BigQuery Reservations-Ressourcen und ist die wichtigste Basis zur Abrechnung dieser Ressourcen. Es muss aber nicht dasselbe Projekt sein, das Ihre BigQuery-Jobs oder -Datasets enthält.

Erstellen Sie als Best Practice ein dediziertes Projekt für Reservierungsressourcen. Dieses Projekt wird als Administrationsprojekt bezeichnet, da es die Abrechnung und Verwaltung Ihrer Zusicherungen zentralisiert. Geben Sie diesem Projekt einen beschreibenden Namen wie bq-COMPANY_NAME-admin. Erstellen Sie dann ein oder mehrere separate Projekte für Ihre BigQuery-Jobs.

Nur Projekte innerhalb derselben Organisationsressource wie das Administrationsprojekt können einer Reservierung zugewiesen werden. Wenn das Administrationsprojekt nicht Teil einer Organisation ist, kann nur dieses Projekt die Slots verwenden.

Das Administrationsprojekt wird für die zugesicherten Slots abgerechnet. Bei Projekten, die die Slots verwenden, werden die Kosten für die Speicherung in Rechnung gestellt, aber nicht für die Slots selbst. Sie können mehr als eine Art von Tarif erwerben (z. B. für ein und für drei Jahre) und die Slots in dasselbe Administrationsprojekt einbinden.

Als Best Practice sollten Sie die Anzahl der Administrationsprojekte begrenzen. Dies trägt dazu bei, die Abrechnungsverwaltung und die Slotzuweisung zu vereinfachen. Sofern möglich, empfehlen wir ein Administrationsprojekt für alle Reservierungen Ihrer Organisation. Komplexe Organisationen benötigen möglicherweise zusätzliche Verwaltungsprojekte, um Verwaltungs- oder Abrechnungsanforderungen zu erfüllen.

Mehrere Administrationsprojekte verwenden

In einigen Fällen möchten Sie möglicherweise mehrere Administrationsprojekte erstellen:

  • Wenn Sie Kosten aus mehreren Reservierungen und Zusicherungen in verschiedene Organisationseinheiten aufteilen möchten.
  • Eine oder mehrere Slot-Zusicherungen, die verschiedenen Gruppen von Reservierungen zugeordnet werden.

Inaktive Slotkapazität wird nicht zwischen Reservierungen in verschiedenen Administrationsprojekten geteilt.

Auf der Seite Kapazitätsverwaltung der BigQuery- Google Cloud Console können Sie Reservierungen und Zusicherungen nur für das ausgewählte Administratorprojekt aufrufen.

Slot-Reservierungen dimensionieren

BigQuery ist so konzipiert, dass es mit zunehmenden Ressourcen linear skaliert werden kann. Je nach Arbeitslast ist es wahrscheinlich, dass eine inkrementelle Kapazitätssteigerung entsprechende inkrementelle Leistungssteigerungen mit sich bringt. Durch das Hinzufügen von Kapazität steigen jedoch auch die Kosten. Die optimale Anzahl Slots hängt also von der gewünschten Leistung, dem Durchsatz und den verwendeten Dienstprogrammen ab.

Sie können mit Referenz- und Autoscaling-Slots experimentieren, um die beste Konfiguration von Slots zu ermitteln. Beispielsweise können Sie Ihre Arbeitslast mit 500 Referenz-Slots, dann mit 1.000, 1.500 und schließlich mit 2.000 testen und die Auswirkungen auf die Leistung beobachten.

Nachdem Sie Slots zugewiesen und Ihre Arbeitslasten mindestens sieben Tage lang ausgeführt haben, können Sie den Slot-Schätzer verwenden, um die Leistung zu analysieren und die Auswirkungen des Hinzufügens oder Reduzierens von Slots zu modellieren.

Sie können auch die aktuelle Slot-Nutzung Ihrer Projekte sowie den gewählten monatlichen Preis prüfen, den Sie zu zahlen bereit sind. On-Demand-Arbeitslasten haben eine weiche Slot-Obergrenze von 2.000 Slots. Es ist aber wichtig, mithilfe von INFORMATION_SCHEMA.JOBS*-Ansichten, Cloud Logging, der Jobs API oder der BigQuery-Audit-Logs zu prüfen, wie viele Slots tatsächlich von Ihren Projekten verwendet werden. Weitere Informationen finden Sie unter Reservierungen überwachen.

Zeitachse der Slot-Nutzung

Arbeitslasten mit Reservierungen verwalten

Sie können BigQuery-Reservierungen verwenden, um Kapazität zwischen Arbeitslasten, Teams oder Abteilungen zuzuweisen. Erstellen Sie dazu zusätzliche Reservierungen und weisen Sie diesen Reservierungen Projekte zu. Eine Reservierung ist ein isolierter Ressourcenpool mit dem zusätzlichen Vorteil, dass ungenutzte Kapazitäten organisationsweit zur Verfügung stehen.

Sie haben beispielsweise eine zugesicherte Gesamtkapazität von 1.000 Slots und drei Typen von Arbeitslasten: Data Science, ELT und BI.

  • Sie können die Reservierung ds mit 500 Slots erstellen und der Reservierung ds alle relevanten Google Cloud Projekte zuweisen.
  • Sie können die Reservierung elt mit 300 Slots erstellen und Projekte, die Sie für ELT-Arbeitslasten verwenden, der Reservierung elt zuweisen.
  • Sie können die Reservierung bi mit 200 Slots erstellen und Projekte, die mit Ihren BI-Tools verknüpft sind, der Reservierung bi zuweisen.

Zusicherungen löschen.

Anstatt die Kapazität für Arbeitslasttypen zu partitionieren, können Sie Reservierungen für einzelne Teams oder Abteilungen erstellen.

Reservierungen in verschiedenen Regionen verwalten

Reservierungen sind regionale Ressourcen. In einer Region erworbene Slots und erstellte Reservierungen können in keiner anderen Region verwendet werden. Projekte, Ordner und Organisationen können Reservierungen in einer Region zugewiesen und bei Bedarf in einer anderen Region genutzt werden. Damit Sie Reservierungen in einer anderen Region verwalten können, müssen Sie die Region auf der BigQuery-Seite Kapazitätsverwaltung ändern:

  1. Klicken Sie in der BigQuery-Konsole auf Reservierungen.
  2. Klicken Sie auf die Schaltfläche Standort und wählen Sie eine Region aus, in der Sie Reservierungen verwalten möchten. Wählen Sie eine andere Region aus.
  3. Sobald eine Region ausgewählt ist, können Sie Slots erwerben, Reservierungen erstellen und ein Projekt einer Reservierung zuweisen.

Reservierungen in komplexen Organisationen verwalten

Reservierungen sind organisationsbezogene Ressourcen. Wenn Sie Reservierungen erstellen, können Sie jedem Projekt in derselben Google CloudOrganisation Kapazität zuweisen. Die meisten BigQuery-Nutzer verwenden ein einzelnes Administrationsprojekt für ihre Reservierungen und Kapazitätszusicherungen. Dieses Administrationsprojekt ist mit einem Cloud-Rechnungskonto verknüpft, dem die Kapazität in Rechnung gestellt wird.

Wenn Sie jedoch eine komplexe Organisation mit mehreren Abteilungen haben, die ihre eigenen Rechnungen verwalten, sollten Sie möglicherweise mehrere Verwaltungsprojekte verwenden. Inaktive Slots können nur für Reservierungen freigegeben werden, die im selben Administrationsprojekt erstellt wurden. Beachten Sie die Kontingente und Limits für Reservierungen und Administratorprojekte.

Wenn Sie mehrere Google Cloud Organisationen verwenden, müssen Sie für jede Organisation mindestens ein Administrationsprojekt erstellen und dann Reservierungen und Zusicherungen für jede Organisation im zugehörigen Administrationsprojekt verwalten. Kapazität kann nicht organisationsübergreifend freigegeben werden.

Erweiterte Kontrolle über Reservierungen verwalten

Reservierungen in BigQuery bieten eine bessere Kontrolle darüber, wie Reservierungen verwendet werden, und zusätzliche Sicherheitsfunktionen. Sie können Richtlinien definieren, in denen festgelegt wird, welche Nutzer oder Gruppen auf bestimmte Reservierungen zugreifen und diese verwenden können. So werden sensible Daten und Arbeitslasten isoliert und geschützt. Als Reservierungsadministrator können Sie genau festlegen, welche Nutzer oder Dienstkonten (Principals) berechtigt sind, bestimmte Reservierungen zu verwenden. Dazu verwenden Sie IAM-Bedingungen, die auf das Administrationsprojekt (das Projekt, in dem die Reservierungen verwaltet werden) angewendet werden.

Sie können beispielsweise eine IAM-Bedingung erstellen, die einer bestimmten Nutzergruppe die Berechtigung reservations.use für alle Reservierungen gewährt, deren Namen mit einem bestimmten Präfix beginnen. So können Sie den Zugriff auf Gruppen ähnlicher Reservierungen verwalten.

Nutzer müssen die Berechtigung reservations.use haben, um die Standardreservierung für ihre Jobs zu überschreiben. Mit den Rollen roles/bigquery.resourceAdmin und roles/bigquery.resourceEditor erhalten Sie diese Berechtigung. Sie können einzelnen Nutzern, Gruppen oder Dienstkonten Zugriff gewähren. Sie können auch Richtlinien basierend auf Reservierungsattributen wie dem Namen definieren, da IAM-Bedingungen die attributbasierte Zugriffssteuerung unterstützen.

Informationen zum Gewähren von IAM-Bedingungen für Reservierungen finden Sie unter Zugriff auf Reservierungen steuern.

Slot-Zusicherungen

Eine Slot-Zusicherung ist der Kauf von Slots für einen bestimmten Zeitraum. Sie können Slots in Schritten von 50 Slots bis zu Ihrem regionalen Slot-Kontingent erwerben. Kapazitätszusicherungen sind optional, können jedoch Kosteneinsparungen bei stabilen Arbeitslasten ermöglichen. Die Anzahl der Zusicherungen, die Sie erstellen können, ist nicht begrenzt. Die Abrechnung erfolgt ab dem Zeitpunkt, an dem Sie Ihren Zusicherungskauf erfolgreich abgeschlossen haben. Aktuelle Preisinformationen finden Sie unter Kapazitätszusicherung – Preise.

  • Jährliche Zusicherung. Sie erwerben eine Zusicherung von 365 Tagen. Sie können nach 365 Tagen auswählen, ob Sie den Zusicherungstarif verlängern oder in einen anderen Typ wechseln möchten.

  • Zusicherung für 3 Jahre Sie erwerben eine Zusicherung für drei Jahre. Sie können nach 3 Jahren (1.095 Tagen) auswählen,ob Sie den Zusicherungstarif verlängern oder in einen anderen Typ wechseln möchten.

Am Ende des Zusicherungszeitraums wird Ihre Zusicherung basierend auf dem ausgewählten Verlängerungsplan verlängert.

Bei jährlichen oder dreijährigen Zusicherungsplänen werden die Kosten monatlich in Rechnung gestellt. Ihre finanzielle Zusicherung gilt jedoch für die gesamte Mindestlaufzeit und kann nicht monatlich storniert werden. Ihre Nutzung wird täglich im Abrechnungsbericht aktualisiert, den Sie jederzeit aufrufen können.

Slotzusicherungen unterliegen der Kapazitätsverfügbarkeit. Wenn Sie versuchen, Slot-Zusicherungen zu erwerben, ist der Erfolg Ihres Kaufs nicht garantiert. Sobald Sie den Zusicherungskauf erfolgreich abgeschlossen haben, ist die Kapazität bis zum Ablauf der Zusicherung verfügbar.

Wenn Sie Slot-Zusicherungen erwerben, bevor Sie eine Reservierung erstellen, wird automatisch eine Reservierung mit dem Namen default erstellt. Die Reservierung default hat kein besonderes Verhalten. Sie können bei Bedarf zusätzliche Reservierungen erstellen oder die Standardreservierung verwenden.

Wir empfehlen, Ihren Reservierungen eine Baseline zuzuweisen, die nicht null ist, um die Leistung und die anfängliche Kapazität möglichst genau vorhersagen zu können. Sie können zwar eine Reservierung mit null Referenz-Slots konfigurieren und eine maximale Kapazität festlegen, um Autoscaling-Funktionen zu verwenden. Die Effektivität dieses Ansatzes hängt jedoch vollständig davon ab, dass Autoscaling korrekt aktiviert ist und aktiv Slots erworben werden. Wenn das Autoscaling für eine solche Reservierung ohne Baseline nicht effektiv funktioniert, hängt es nur noch von der verfügbaren Slotkapazität im Leerlauf ab. Dies bietet keine Leistungsgarantie und kann zu unvorhersehbaren oder verlangsamten Abfragegeschwindigkeiten führen.

Zusicherungen verlängern

Sie wählen ein Verlängerungsplan aus, wenn Sie eine Zusicherung erwerben. Sie können den Verlängerungsplan für eine Zusicherung jederzeit bis zum Ablauf ändern. Die folgenden Verlängerungspläne sind verfügbar:

  • Keine. Nach Ablauf der Zusicherung wird diese entfernt. Reservierungen sind nicht betroffen.
  • Jährlich. Nach Ablauf der Zusicherung wird Ihre Zusicherung um ein weiteres Jahr verlängert.
  • Dreijährig. Nach Ablauf der Zusicherung wird Ihre Zusicherung um drei Jahre verlängert.

Informationen zum Kauf und zur Verlängerung von Zusicherungen finden Sie unter Kapazitätszusicherung erstellen.

Wenn Sie beispielsweise am 5. Oktober 2019 um 18:00 Uhr eine jährliche Zusicherung erworben haben, werden Ihnen ab diesem Zeitpunkt Gebühren in Rechnung gestellt. Sie können die Zusicherung nach dem 4. Oktober 2020 um 18:00 Uhr löschen oder verlängern, wobei zu beachten ist, dass 2020 ein Schaltjahr ist. So können Sie die Verlängerungspläne vor 18:00 Uhr am 4. Oktober 2020 ändern:

  • Wenn Sie sich für eine jährliche Zusicherung entscheiden, verlängert sich Ihre Zusicherung am 4. Oktober 2020 um 18:00 Uhr um ein weiteres Jahr.
  • Wenn Sie sich für eine dreijährige Zusicherung entscheiden, wird Ihre Zusicherung am 4. Oktober 2020 um 18:00 Uhr um drei Jahre verlängert.

Hinweis: Die Verlängerung kann nach Ablauf der Bindung bis zu einer Stunde dauern. Wenn eine Zusicherung beispielsweise am 4. Oktober 2020 um 18:00 Uhr abläuft, wird der Datensatz für die verlängerte Zusicherung am 4. Oktober 2020 zwischen 18:00 Uhr und 19:00 Uhr im System angezeigt. Innerhalb dieses Zeitraums für die Datenaktualisierung fallen keine On-Demand-Gebühren an, da der effektive Beginn der erstellten Bindung 18:00 Uhr ist.

Ablauf der Zusicherung

Sie können eine Zusicherung nach dem Erstellen nicht mehr löschen. Wenn Sie eine jährliche oder dreijährige Zusicherung löschen möchten, legen Sie deren Verlängerungsplan auf NONE fest. Nach Ablauf der Zusicherung wird sie automatisch gelöscht. Weitere Informationen zum Ablauf von Zusicherungen finden Sie unter Ablauf von Zusicherungen.

Wenn Sie versehentlich eine Zusicherung erwerben oder beim Konfigurieren der Zusicherung einen Fehler gemacht haben, wenden Sie sich an den Cloud Billing-Support.

Reservierungseinschränkungen

  • Reservierungen in einer Organisation können nicht mit anderen Organisationen geteilt werden.
  • Sie müssen für jede Organisation separate Reservierungen und separate Administrationsprojekte verwenden.
  • Jede Organisation kann maximal zehn Administrationsprojekte mit aktiven Reservierungen an einem einzelnen Standort haben.
  • Inaktive Kapazität kann nicht zwischen Organisationen oder zwischen verschiedenen Administrationsprojekten innerhalb einer einzelnen Organisation geteilt werden.
  • Zusicherungen und Reservierungen sind regionale Ressourcen. Die in einer bestimmten Region oder Multiregion erworbenen Zusicherungen können nicht für Reservierungen in anderen Regionen oder Multiregionen verwendet werden, auch wenn sich der Standort mit einer einzelnen Region am selben Ort wie der Standort mit mehreren Regionen befindet. Beispiel: Sie können eine Zusicherung, die in der Multiregion EU erworben wurde, nicht für eine Reservierung in europe-west4 verwenden.
  • Zusicherungen und Reservierungen können nicht von einer Region oder Multiregion in eine andere verschoben werden.
  • Die in einem Administrationsprojekt erworbenen Zusicherungen können nicht in ein anderes Administrationsprojekt verschoben werden.
  • Zusicherungen, die mit einer Edition erworben wurden, können nicht mit Reservierungen einer anderen Edition verwendet werden.
  • Inaktive Slots werden nicht zwischen Reservierungen verschiedener Editionen geteilt.
  • Automatisch skalierte Slots können nicht freigegeben werden, da sie herunterskaliert werden, wenn sie nicht mehr benötigt werden.

Vorhersagbarkeit von Reservierungen

Wenn Sie die Vorhersagbarkeit von Reservierungen nutzen möchten, müssen Sie zuerst Reservierungsgerechtigkeit aktivieren.

Mit der Reservierungsvorhersage können Sie die absolute maximale Anzahl der genutzten Slots in einer Reservierung festlegen. BigQuery bietet Basisslots, Inaktiv-Slots und Autoscaling-Slots als potenzielle Kapazitätsressourcen. Wenn Sie eine Reservierung mit einer maximalen Größe erstellen, sollten Sie die Anzahl der Referenz-Slots und die entsprechende Konfiguration von Autoscaling- und inaktiven Slots basierend auf Ihren bisherigen Arbeitslasten bestätigen.

Damit Reservierungen vorhersehbar sind, müssen Sie sowohl die maximale Anzahl von Slots als auch den Skalierungsmodus für die Reservierung festlegen. Die maximale Anzahl von Slots muss eine positive Zahl sein, die größer als die Anzahl der Referenz-Slots ist, die der Reservierung zugewiesen sind. Weitere Informationen zum Arbeiten mit der Vorhersagbarkeit von Reservierungen finden Sie unter Reservierung mit dedizierten Slots erstellen. Sie können den Wert für autoscale_max_slots nicht konfigurieren, wenn Sie den Höchstwert für Slots in der Reservierung festlegen.

Der Wert von ignore_idle_slots muss mit dem Skalierungsmodus übereinstimmen. Wenn der Skalierungsmodus ALL_SLOTS oder IDLE_SLOTS_ONLY ist, muss ignore_idle_slots „false“ sein. Wenn der Skalierungsmodus AUTSOCALE_ONLY ist, muss ignore_idle_slots „true“ sein.

Sie können Ihre Reservierungen so konfigurieren, dass nur die folgenden Kombinationen von Kapazitätsressourcen bis zum definierten Maximum genutzt werden:

  • Referenzslots + inaktive Slots: Die Reservierungsslotkapazität ist größer als null und der Skalierungsmodus ist IDLE_SLOTS_ONLY. Die Reservierung nutzt die konfigurierte Anzahl von Referenz- und verfügbaren inaktiven Slots bis zur maximalen Anzahl von Slots. Die Reservierung erreicht möglicherweise nicht das Maximum, wenn nicht genügend freie Slots verfügbar sind.

  • Referenz-Slots + inaktive Slots + Autoscaling-Slots: Die Kapazität der Reservierungsslots ist größer als null und der Skalierungsmodus ist ALL_SLOTS. Bei der Reservierung werden zuerst die konfigurierte Anzahl von Referenz-Slots, dann alle verfügbaren inaktiven Slots und schließlich die Autoscaling-Slots verwendet.

  • Referenz-Slots + Autoscaling-Slots: Die Slot-Kapazität der Reservierung ist größer als null und der Skalierungsmodus ist AUTOSCALE_ONLY. Bei der Reservierung werden zuerst die konfigurierten Referenz-Slots und dann die Autoscaling-Slots verwendet.

  • Leerlauf-Slots + Autoscaling-Slots: Die Reservierungs-Slotkapazität ist null und der Skalierungsmodus ist ALL_SLOTS. Bei der Reservierung werden zuerst alle verfügbaren inaktiven Slots und dann die Autoscaling-Slots verwendet.

  • Inaktive Slots: Die Slotkapazität der Reservierung ist null und der Skalierungsmodus ist IDLE_SLOTS_ONLY. Die Reservierung nutzt alle verfügbaren inaktiven Slots bis zum konfigurierten Höchstwert. Die Reservierung erreicht möglicherweise nicht das Maximum, wenn nicht genügend inaktive Slots verfügbar sind.

Das folgende Diagramm zeigt die verschiedenen verfügbaren Konfigurationsoptionen:

Optionen für die Konfiguration von Reservierungen mit Vorhersage.

Im Diagramm sehen Sie anhand der fünf Konfigurationsoptionen, wie BigQuery Slots bis zum konfigurierten Maximum nutzt. Die ersten drei Optionen enthalten Baseline-Slots, während bei den anderen keine Baseline-Slots konfiguriert sind.

Beschränkungen

Die Vorhersagbarkeit von Reservierungen unterliegt den folgenden Einschränkungen:

  • Die Vorhersagbarkeit von Reservierungen ist nur in den Enterprise- und Enterprise Plus-Versionen verfügbar, sofern Sie nicht die Option AUTOSCALE_ONLY auswählen.

  • Die Vorhersagbarkeit von Reservierungen wird bestmöglich umgesetzt. Die Gesamtnutzung kann das konfigurierte Maximum weiterhin überschreiten.

Nächste Schritte

Probleme mit Reservierungen beheben

Dieser Abschnitt soll Ihnen helfen, häufige Probleme bei der Interaktion mit Reservierungen zu beheben, z. B. die Gründe dafür zu ermitteln, warum eine Reservierung nicht für einen BigQuery-Job verwendet wird, unbekannte Reservierungen zu identifizieren oder Probleme beim Hinzufügen von Slots zu beheben.

Der Reservierungsgröße können keine weiteren Slots hinzugefügt werden

Wenn beim Hinzufügen weiterer Plätze zu Ihrer Reservierung Fehler wie Failed to allocate slots for reservation in the current system state oder Failed to update reservation: Failed to allocate slots for reservation auftreten, handelt es sich in der Regel um ein vorübergehendes Problem. So können Sie das Problem beheben:

  • Versuchen Sie es noch einmal mit einer kleineren Anzahl von Slots.
  • Wenn der Vorgang mit einer kleineren Anzahl von Slots fehlschlägt, warten Sie 15 Minuten und versuchen Sie es noch einmal.

Wenn Sie nach mehreren Wiederholungen und 30 Minuten Wartezeit immer noch denselben Fehler erhalten, wenden Sie sich an den BigQuery-Support.

Das Kontingent reicht nicht aus, um diese Anfrage zu bearbeiten.

Wenn in der Fehlermeldung There is insufficient quota to complete this request steht, bedeutet das, dass die Anfrage das für das Projekt festgelegte Kontingentlimit überschreitet.

Führen Sie einen der folgenden Schritte aus, um diesen Fehler zu beheben:

  1. Fügen Sie der Reservierung eine geringere Anzahl von Slots hinzu, damit das Kontingentlimit nicht überschritten wird.
  2. Fordern Sie eine Kontingenterhöhung in der entsprechenden Region an. Weitere Informationen finden Sie unter Kontingenterhöhung anfordern.

Reservierung wird von BigQuery nicht zum Ausführen eines Jobs verwendet

Es gibt mehrere Szenarien, in denen ein Job mit On-Demand-Ressourcen oder einem kostenlosen freigegebenen Slot-Pool anstelle der erstellten Reservierung ausgeführt werden kann.

Anfrage und Reservierung befinden sich in verschiedenen Regionen

Reservierungen sind regionale Ressourcen. Die Abfrage wird am selben Standort wie alle in der Abfrage referenzierten Tabellen ausgeführt.

Wenn der Speicherort einer Tabelle nicht mit dem Speicherort der Reservierung übereinstimmt, wird die Abfrage mit dem gemeinsamen Slot-Pool ausgeführt und die Reservierung wird nicht verwendet.

BigQuery Omni-Tabellen abfragen

Wenn Sie eine BigQuery Omni-Tabelle abfragen, muss die Reservierung in derselben Region wie die Tabelle erstellt werden, nicht in einer colocated Region. Wenn Sie die Reservierung in der colocated BigQuery-Region erstellen, wird die Abfrage bei Bedarf ausgeführt.

Die Reservierung wurde erstellt, aber das Projekt wurde ihr nicht zugewiesen.

Damit Sie die erworbenen Slots verwenden können, müssen Sie eine Zuweisung erstellen, mit der das Projekt der spezifischen Reservierung zugewiesen wird. Prüfen Sie, ob dem Projekt eine entsprechende Zuweisung für die Reservierung zugewiesen ist.

Jobtypen stimmen nicht überein

Achten Sie darauf, dass Sie beim Erstellen einer Aufgabe den richtigen Jobtyp auswählen. Andernfalls werden die Jobs mit dem Pool für freigegebene Slots ausgeführt.

Wenn Sie beispielsweise PIPELINE als Jobtyp auswählen, werden alle Abfragejobs bei Bedarf ausgeführt. Ändern Sie den Zuweisungstyp in QUERY, damit die Abfragejobs mit der Reservierung ausgeführt werden.

Abfragen mit mehreren Anweisungen

Wenn Sie Abfragen mit mehreren Anweisungen ausführen, ist dem übergeordneten Jobobjekt keine Reservierung zugeordnet, auch wenn die untergeordneten Jobs unter einer Reservierung ausgeführt wurden.

Wenn Sie prüfen möchten, ob für den Job tatsächlich eine Reservierung verwendet wurde, sehen Sie sich die Metadaten des untergeordneten Jobs an.

Im Cache gespeicherte Ergebnisse abrufen

Wenn der Abfragejob Ergebnisse aus dem Cache abruft, ist das Reservierungsfeld leer, da keine tatsächliche Berechnung erfolgt und die Ergebnisse direkt aus der temporären Tabelle abgerufen werden.

Change Data Capture-Vorgänge zur Zeilenänderung

Wenn Sie CDC-Tabellen (Change Data Capture) haben, wendet BigQuery ausstehende Zeilenänderungen innerhalb des max_staleness-Intervalls als Hintergrundjobs an, für die der Zuweisungstyp BACKGROUND verwendet wird. Wenn keine BACKGROUND-Zuweisungen vorhanden sind, werden On-Demand-Preise verwendet. Erwägen Sie, dem Projekt eine BACKGROUND-Zuweisung hinzuzufügen, um hohe On-Demand-Kosten zu vermeiden. Sie erkennen diese Jobs an der Jobkennung, die den Teilstring queueworker_cdc_background_merge_coalesce enthält.

BigQuery ML-Modelltypen, die externe Dienste verwenden

Wenn im Projekt keine Reservierungszuweisung mit dem Jobtyp ML_EXTERNAL gefunden wird, wird der Abfragejob mit On-Demand-Preisen ausgeführt. Die QUERY-Jobtypzuweisung kann nur für BigQuery ML-Modelle verwendet werden, die keine externen Modelle oder Modelle zur Matrixfaktorisierung sind. Weitere Informationen finden Sie in der Dokumentation zur Reservierungszuweisung.

Nicht erkannte Reservierungen im Projekt

Es gibt Reservierungen, die BigQuery gehören und einen kostenlosen freigegebenen Slot-Pool darstellen, der für bestimmte Vorgänge in BigQuery verwendet wird:

default-pipeline

Standardmäßig wird beim Batch-Laden oder ‑Exportieren von Daten in BigQuery ein gemeinsam genutzter kostenloser Slot-Pool verwendet. Wenn Sie diese Lade- oder Extraktionsjobs untersuchen, wird die verwendete Reservierung als default-pipeline aufgeführt.

Für die Nutzung des Pools für freigegebene Slots fallen keine Kosten an. Wenn Sie eine konsistente, vorhersehbare Leistung wünschen, sollten Sie eine PIPELINE-Reservierung erwerben.