Informationen zu Reservierungen

Auf dieser Seite wird beschrieben, wie Sie Slot-Reservierungen zur Verwaltung Ihrer BigQuery-Arbeitslasten verwenden.

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 so isolieren, wie es für Ihre Organisation sinnvoll ist. 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.

Mit Reservierungen können Administratoren auch die Slotkapazität basierend auf den ihnen zugewiesenen Arbeitslasten konfigurieren. Wenn Sie beispielsweise zeitkritische Arbeitslasten auf Produktionsebene haben, erstellen Sie eine Reservierung mit ausreichenden Baseline-Slots.

Nach der Zuweisung bleiben die Referenz-Slots für Ihre Reservierung ständig verfügbar. Eine Erhöhung dieser Referenz hängt jedoch von der aktuellen Systemkapazität ab. Wenn Sie dagegen Autoscaling-Reservierungen verwenden, reserviert BigQuery die Kapazität zwischen Ihrer Referenz und der maximalen Reservierungsgröße nicht im Voraus. Stattdessen skaliert BigQuery diese Kapazität automatisch je nach Bedarf und Systemverfügbarkeit hoch und herunter. Reservierungen mit Autoscaling werden standardmäßig pro Sekunde abgerechnet, wobei eine Mindestdauer von einer Minute gilt. Sie können die fluide Skalierung von BigQuery auf Reservierungsebene aktivieren, um eine sekundengenaue Abrechnung ohne Mindestdauer zu erhalten. Außerdem können inaktive Slots reservierungsübergreifend 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. Auch 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 oder vererbt wurde, werden für den Job On-Demand-Preise verwendet. Weitere Informationen zum Organisieren von BigQuery-Ressourcen finden Sie unter Einführung in die Ressourcenhierarchie.

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).

  • AUTOMATIC_MATERIALIZED_VIEW_REFRESH: Verwenden Sie diese Reservierung für Jobs vom Typ Automatische Aktualisierung materialisierter Ansichten.

  • BACKGROUND_CHANGE_DATA_CAPTURE: Verwenden Sie diese Reservierung, wenn Sie Ihre eigene Reservierung verwenden möchten, um Ihre BigQuery CDC-Erfassungs-Hintergrundjobs 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 zum Ausführen Ihrer BigQuery-Suchindexverwaltungsjobs verwenden. 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 als Fallback für die durch BACKGROUND_CHANGE_DATA_CAPTURE, BACKGROUND_COLUMN_METADATA_INDEX und BACKGROUND_SEARCH_INDEX_REFRESH beschriebenen Jobs verwendet, wenn keine spezifischere Art der Dienstleistung 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 möglicherweise, bis Slots verfügbar sind.

    Wenn Lade- und Extrahierungsjobs einer Reservierung zugewiesen sind, können sie nicht mehr auf den kostenlosen Pool zugreifen. Sie sollten die Ressourcenauslastung und Jobs überwachen, um sicherzustellen, dass Ihre Reservierungen über genügend Kapazität verfügen, um die erforderlichen Joblaufzeiten zu erfüllen.

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 Faire Planung 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 die Erstellung unnötiger Projekte vermeiden. Sie können eine Reservierung zur Laufzeit über die CLI, die UI, SQL oder die API angeben und so die Standardreservierungszuweisung 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 Zuweisungen werden in allen Versionen unterstützt.

Sie müssen Zugriff auf die Reservierung haben, um die Reservierung beim Ausführen der Abfrage verwenden zu können.

Wenn die Standardversion der zugewiesenen Reservierung Enterprise Plus ist, kann sie nur durch eine Enterprise Plus-Reservierung überschrieben werden.

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 keinem 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. Wenn Sie Daten im Streamingpuffer abfragen, werden für On-Demand-Jobs keine Gebühren für die aus dem Streamingpuffer verarbeiteten Bytes berechnet. Jobs, die in einer Reservierung ausgeführt werden, verwenden jedoch Slots, um diese Bytes zu verarbeiten.

Administrationsprojekt angeben

Wenn Sie Zusicherungen und Reservierungen erstellen, werden diese mit einem Google Cloud -Projekt verknüpft. Dieses Projekt verwaltet 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 vereinfacht die Abrechnungsverwaltung und die Slot-Zuweisung. Es wird empfohlen, nach Möglichkeit ein Administrationsprojekt für alle Reservierungen Ihrer Organisation zu verwenden. In komplexen Organisationen sind möglicherweise zusätzliche Verwaltungsprojekte erforderlich, 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 Workload Manager der BigQuery- Google Cloud Console können Sie Reservierungen und Zusicherungen nur für das ausgewählte Administratorprojekt aufrufen.

Projektlimits und Planungsrichtlinien

Wenn Sie Support benötigen oder Feedback zu dieser Funktion geben möchten, wenden Sie sich an bigquery-wlm-feedback@google.com.

Mit Projektlimits (auch als Planungsrichtlinien bezeichnet) können Sie das standardmäßige Fair-Scheduling-Verhalten anpassen, indem Sie Nutzungs- und Parallelitätslimits für Projekte mit einer Reservierung festlegen. Diese Limits verhindern, dass Projekte zu viele Slots verbrauchen, auch wenn sie im Rahmen der fairen Planung Anspruch auf mehr Kapazität haben.

Sie können Projektlimits als Standardlimits auf Reservierungsebene festlegen. Diese gelten für alle Projekte, die diese Reservierung verwenden, sofern sie nicht überschrieben werden. Alternativ können Sie Projektlimits als projektspezifische Überschreibungen für einzelne Projekte konfigurieren.

Die folgenden Arten von Projektlimits werden unterstützt:

  • Maximale Slots: Begrenzt die Slotnutzung von Abfragen, die für das zugewiesene Projekt innerhalb der Reservierung ausgeführt werden. Der zulässige Mindestwert beträgt 100. Dies ist kein striktes Limit, sondern eine ungefähre Obergrenze.
  • Maximale Nebenläufigkeit: Begrenzt die Anzahl der gleichzeitigen Abfragen, die für das zugewiesene Projekt innerhalb der Reservierung zulässig sind.

    Die Gleichzeitigkeitsbegrenzung wird nur bei der Abfragezulassung angewendet und führt nicht dazu, dass laufende Abfragen abgebrochen werden. Wenn Sie die Nebenläufigkeitsgrenze unter die aktuelle Anzahl der ausgeführten Abfragen senken, werden neue Abfragen in die Warteschlange gestellt, bis genügend ausgeführte Abfragen abgeschlossen sind.

Für das Ändern dieser Einstellungen gelten die folgenden Einschränkungen:

  • Es kann bis zu einer Minute dauern, bis die Änderungen wirksam werden.
  • Wenn Sie die Überschreibung der maximalen Anzahl von Slots pro Projekt ändern, muss eine neue Abfrage gestartet werden, damit die Änderung wirksam wird.

Weitere Informationen zum Konfigurieren dieser Richtlinien finden Sie unter Arbeitslastzuweisungen verwalten und Arbeitslastreservierungen verwalten.

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. Das Hinzufügen von Kapazität erhöht jedoch auch Ihre Kosten. Die optimale Anzahl Slots hängt also von der gewünschten Leistung, dem Durchsatz und den verwendeten Dienstprogrammen ab.

Wenn Sie Baseline-Slots hinzufügen oder Autoscaling-Limits erhöhen, weist der BigQuery-Scheduler einzelnen Abfragen mehr Slots zu, um die Parallelität zu maximieren. Dadurch wird zwar die Abfragelaufzeit verkürzt, aber der Overhead für gleichzeitige Worker kann dazu führen, dass die von einer Abfrage verbrauchte Slot-Gesamtzeit (total_slot_ms) steigt.

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.

Wenn in der Region, in der die Leistung getestet wird, inaktive Slots verfügbar sind, kann eine Reservierung die Leistung möglicherweise mit weniger Slots als erwartet erreichen. Dies liegt daran, dass die Reservierung die inaktiven Slots verwendet hat, um die Slot-Anforderungen der Arbeitslast zu erfüllen. Wenn die Verfügbarkeit von inaktiven Slots aufgrund von Änderungen an Arbeitslasten in anderen Reservierungen abnimmt, kann die Leistung Ihrer Arbeitslast beeinträchtigt werden. Achten Sie daher bei zeitgebundenen Arbeitslasten auf Produktionsebene darauf, dass die Reservierung in Bezug auf die Slot-Kapazität unabhängig ist. Dadurch wird verhindert, dass sich Änderungen an inaktiven Slots direkt auf die Jobleistung auswirken.

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 inaktive Kapazitäten in einer bestimmten Region in Ihrer Organisation genutzt werden können.

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

  • Sie können eine ds-Reservierung mit 500 Slots erstellen und dieser dsReservierung 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 Ihre Kapazität auf Arbeitslasttypen aufzuteilen, können Sie auch Reservierungen für einzelne Teams oder Abteilungen erstellen. Mit Autoscaling können Sie Arbeitslasten über viele Reservierungen hinweg isolieren und so eine flexiblere und detailliertere Arbeitslastverwaltung ermöglichen.

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 on demand 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 Workload Manager ändern:

  1. Klicken Sie in der BigQuery-Konsole auf Reservierungen.
  2. Klicken Sie auf den Button 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 innerhalb derselben Google Cloud-Organisation Kapazität zuweisen. Die meisten BigQuery-Nutzer verwenden ein einzelnes Verwaltungsprojekt für ihre Reservierungen und Zusicherungen. 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 mehrere Verwaltungsprojekte verwenden. Inaktive Slots können nur für Reservierungen freigegeben werden, die im selben Administrationsprojekt erstellt wurden. Sie sollten die Kontingente und Limits für Reservierungen und Verwaltungsprojekte kennen.

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. Sie können Kapazität nicht organisationsübergreifend freigeben.

Erweiterte Kontrolle über Reservierungen verwalten

Reservierungen in BigQuery bieten eine bessere Kontrolle über die Verwendung von Reservierungen und zusätzliche Sicherheitsfunktionen. Sie können Richtlinien definieren, die festlegen, welche Nutzer oder Gruppen auf bestimmte Reservierungen zugreifen und diese verwenden können. So wird sichergestellt, dass sensible Daten und Arbeitslasten isoliert und geschützt sind. Als Reservierungsadministrator können Sie genau steuern, welche Nutzer oder Dienstkonten (Hauptkonten) 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 ihren Job zu überschreiben oder die Ausführung des Jobs on demand zu erzwingen, wenn bereits eine Reservierungszuweisung für das Projekt vorhanden ist. Die Rollen roles/bigquery.resourceAdmin und roles/bigquery.resourceEditor bieten 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.

Slotzusicherungen

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 für Arbeitslasten mit kontinuierlichem Status ermöglichen. Slotzusicherungen werden verwendet, um Referenzslots für Ihre Reservierungen abzudecken. Nicht genutzte Slot-Kapazität wird dann als inaktive Slots für andere Reservierungen freigegeben. Slot-Zusicherungen gelten nicht für Autoscaling-Slots. Damit Sie den rabattierten Preis für Ihre zugesicherten Slots erhalten, müssen Ihre Slotzusagen ausreichen, um Ihre Baseline-Slots abzudecken. 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 der Mindestlaufzeit 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 spezielles Verhalten. Sie können bei Bedarf zusätzliche Reservierungen erstellen oder die Standardreservierung verwenden.

Wir empfehlen, Ihren Reservierungen eine Baseline ungleich null zuzuweisen, um eine möglichst vorhersehbare Leistung und Anfangskapazität zu erzielen. Sie können 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, ob Autoscaling korrekt aktiviert ist und aktiv Slots erworben werden. Wenn das Autoscaling für eine solche Reservierung ohne Baseline nicht effektiv funktioniert, wird wieder ausschließlich die verfügbare Kapazität inaktiver Slots verwendet. Dies bietet keine Leistungsgarantie und kann zu unvorhersehbaren oder langsameren 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 Rollback-Plä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 Customer Care.

Reservierungseinschränkungen

  • Reservierungen in einer Organisation können nicht für andere Organisationen freigegeben 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.
  • Inaktive Kapazität kann nicht über verschiedene Regionen hinweg freigegeben werden.
  • Zusicherungen und Reservierungen sind regionale Ressourcen. Zusicherungen, die in einer bestimmten Region oder Multiregion erworben wurden, können nicht für Reservierungen in anderen Regionen oder Multiregionen verwendet werden, auch wenn sich der Standort mit einer einzelnen Region am selben Standort wie der multiregionale Standort befindet. Beispiel: Sie können eine Zusicherung, die Sie für die multiregionale Ressource EU erworben haben, 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 Verwaltungsprojekt erworbenen Zusicherungen können nicht in ein anderes Verwaltungsprojekt 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.

Planbarkeit von Reservierungen

Wenn Sie die Vorhersehbarkeit von Reservierungen verwenden möchten, müssen Sie zuerst die Fairness von Reservierungen aktivieren.

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

Damit Reservierungen besser planbar 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 und größer als die Anzahl der Referenz-Slots, die der Reservierung zugewiesen sind. Weitere Informationen zum Arbeiten mit der Vorhersehbarkeit 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 maximalen Wert 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 AUTOSCALE_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 verbraucht werden:

  • Baseline-Slots + inaktive Slots: Die Slotkapazität der Reservierung ist größer als null und der Skalierungsmodus ist IDLE_SLOTS_ONLY. Die Reservierung verbraucht 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 inaktive Slots verfügbar sind.

  • Baseline-Slots + inaktive Slots + Autoscaling-Slots: Die Slot-Kapazität der Reservierung 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 Autoscaling-Slots verwendet.

  • Baseline-Slots + Autoscaling-Slots: Die Reservierungs-Slotkapazität ist größer als null und der Skalierungsmodus ist AUTOSCALE_ONLY. Die Reservierung verbraucht zuerst die konfigurierten Referenz-Slots und dann die Autoscaling-Slots.

  • Inaktive Slots + Autoscaling-Slots: Die Slotkapazität der Reservierung ist null und der Skalierungsmodus ist ALL_SLOTS. Die Reservierung verbraucht zuerst alle verfügbaren inaktiven Slots und dann Autoscaling-Slots.

  • 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 zeigen die fünf Konfigurationsoptionen, wie BigQuery Slots bis zum konfigurierten Maximum verbraucht. Die ersten drei Optionen enthalten Baseline-Slots, während für die anderen keine Baseline-Slots konfiguriert sind.

Beschränkungen

Für die Vorhersagbarkeit von Reservierungen gelten die folgenden Einschränkungen:

  • Die Vorhersehbarkeit von Reservierungen ist nur in den Enterprise- und Enterprise Plus-Versionen verfügbar, es sei denn, Sie wählen die Option AUTOSCALE_ONLY aus.

  • Die Vorhersehbarkeit von Reservierungen erfolgt nach dem Best-Effort-Prinzip. Die Gesamtnutzung kann das konfigurierte Maximum weiterhin überschreiten.

Nächste Schritte

Reservierungsgruppen

Wenn Sie Reservierungsgruppen verwenden möchten, müssen Sie zuerst die faire Reservierung aktivieren.

Mit Reservierungsgruppen können Sie die Eigenschaften mehrerer Reservierungen verwalten, ähnlich wie Tabellen in Datasets organisiert werden.

Reservierungen in derselben Reservierungsgruppe geben inaktive Slots zuerst untereinander frei, bevor sie für die Organisation verfügbar sind:

Reservierungsgruppen.

Freigabe inaktiver Slots für Reservierungsgruppen

Inaktive Slots werden gleichmäßig auf nicht gruppierte Reservierungen und Reservierungsgruppen und dann gleichmäßig innerhalb von Reservierungsgruppen verteilt.

Im folgenden Beispiel gibt es drei Reservierungen und 1.200 inaktive Slots. Ohne Reservierungsgruppen hat jede Reservierung einen fairen Anteil von 400 inaktiven Slots. Wenn die Reservierungen 1 und 2 gruppiert werden, ändert sich die Verteilung der inaktiven Slots. Die inaktiven Slots werden zuerst gleichmäßig auf die Reservierungsgruppe und Reservierung 3 verteilt (jeweils 600 inaktive Slots). Anschließend werden die 600 inaktiven Slots für die Reservierungsgruppe gleichmäßig auf Reservierung 1 und 2 verteilt.

Freigabe inaktiver Slots für Reservierungsgruppen.

Beschränkungen

Für Reservierungsgruppen gelten die folgenden Einschränkungen:

  • Reservierungen, die eine Reservierungsgruppe gemeinsam nutzen, müssen zum selben Projekt und zur selben Region gehören.

  • Die reservierungsbasierte Fairness muss für das Projekt aktiviert sein.

  • Reservierungen innerhalb einer Gruppe müssen dieselbe Version haben.

  • Sie können Reservierungen mit und ohne Konfigurationen für die verwaltete Notfallwiederherstellung nicht in derselben Gruppe kombinieren. Für alle Reservierungen in der Gruppe muss die Notfallwiederherstellung konfiguriert oder deaktiviert sein.

  • Wenn die Notfallwiederherstellung für die Reservierungen in einer Gruppe aktiviert ist, müssen alle Reservierungen dasselbe Paar von Regionen für ihre primären und sekundären Standorte verwenden.

Weitere Informationen zum Arbeiten mit Reservierungsgruppen finden Sie unter Inaktive Slots mit Reservierungsgruppen priorisieren.

Probleme mit Reservierungen beheben

Die folgenden Informationen helfen Ihnen, häufige Probleme mit Reservierungen zu beheben, z. B. Fehler beim Hinzufügen von Slots, warum eine Reservierung nicht für einen BigQuery-Job verwendet wird oder nicht erkannte Reservierungen.

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

Wenn beim Versuch, Ihrer Reservierung weitere Slots hinzuzufügen, 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, ist dies in der Regel ein vorübergehendes Problem. So beheben Sie das Problem:

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

Wenn Sie nach mehreren Versuchen und einer Wartezeit von 30 Minuten immer noch denselben Fehler erhalten, wenden Sie sich an Cloud Customer Care.

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

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

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

  • Fügen Sie der Reservierung eine kleinere Anzahl von Slots hinzu, damit die Anfrage das Kontingentlimit nicht überschreitet.
  • 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-Preisen oder einem kostenlosen freigegebenen Slot-Pool ausgeführt wird, anstatt die von Ihnen erstellte Reservierung zu verwenden.

Abfrage und Reservierung befinden sich in verschiedenen Regionen

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

Wenn der Standort einer Tabelle nicht mit dem Standort der Reservierung übereinstimmt, wird die Reservierung nicht für die Abfrage verwendet. Stattdessen wird die Abfrage zu On-Demand-Preisen ausgeführt (oder mit dem kostenlosen gemeinsam genutzten Slot-Pool für infrage kommende Batch-Lade- und ‑Exportjobs).

BigQuery Omni-Tabellen abfragen

Wenn Sie eine BigQuery Omni-Tabelle abfragen, müssen Sie die Reservierung in derselben Region wie die Tabelle erstellen, nicht in einer am selben Standort befindlichen Region. Wenn Sie die Reservierung in der gemeinsam genutzten BigQuery-Region erstellen, wird die Abfrage mit On-Demand-Preisen ausgeführt.

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

Wenn Sie die Slots in einer Reservierung verwenden möchten, müssen Sie eine Zuweisung erstellen, die das Projekt, den Ordner oder die Organisation der jeweiligen Reservierung zuweist. Achten Sie darauf, dass das Projekt eine entsprechende Zuweisung für die Reservierung hat.

Jobtypen stimmen nicht überein

Achten Sie darauf, dass Sie beim Erstellen einer Zuweisung den richtigen Jobtyp auswählen. Andernfalls werden die Jobs nicht für die Reservierung verwendet.

Wenn Sie beispielsweise PIPELINE als Art der Dienstleistung auswählen, werden alle Abfragejobs mit On-Demand-Preisen 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 werden.

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 ein Abfragejob im Cache gespeicherte Ergebnisse abruft, ist das Reservierungsfeld leer, da BigQuery keine Berechnungen durchführt und die Ergebnisse direkt aus der temporären Tabelle abruft.

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, die den Zuweisungstyp BACKGROUND verwenden. Wenn es keine BACKGROUND-Zuweisungen gibt, wird für diese Jobs die On-Demand-Preisgestaltung verwendet. Erstellen Sie für das Projekt eine BACKGROUND-Zuweisung, um unerwartete On-Demand-Kosten zu vermeiden. Sie erkennen diese Jobs am Teilstring queueworker_cdc_background_merge_coalesce in der Job-ID.

BigQuery ML-Modelltypen, die externe Dienste verwenden

Wenn im Projekt keine Reservierungszuweisung mit der Art der Dienstleistung ML_EXTERNAL gefunden wird, werden Jobs zur Erstellung externer Modelle mit On-Demand-Preisen ausgeführt. Die Zuweisung des Jobtyps QUERY gilt für Standard-BigQuery ML-Modelle und Matrixfaktorisierungsmodelle (für die eine Enterprise- oder Enterprise Plus-Reservierung erforderlich ist), während für externe Modelle eine ML_EXTERNAL-Zuweisung erforderlich ist. Weitere Informationen finden Sie unter BigQuery-Arbeitslasten Slots zuweisen.

Unbekannte Reservierungen im Projekt identifiziert

BigQuery besitzt Reservierungen, die einen kostenlosen freigegebenen Slot-Pool für bestimmte Vorgänge in BigQuery darstellen.

default-pipeline

Standardmäßig wird für das Batch-Laden oder den Batch-Export von Daten in BigQuery ein kostenloser freigegebener Slot-Pool verwendet. Wenn Sie diese Lade- oder Extraktionsjobs prüfen, wird im Feld „Reservierung“ default-pipeline angezeigt.

Für die Verwendung des Pools für freigegebene Slots fallen keine Gebühren an. Wenn Sie eine konsistente, vorhersagbare Leistung wünschen, sollten Sie eine PIPELINE-Reservierung erwerben.