Arbeitslastverwaltung mit Reservierungen

Zwischen den Abrechnungsmodellen On-Demand und Pauschalpreis wählen

Sie können jederzeit zwischen den Abrechnungsmodellen On-Demand- und Pauschalpreis wechseln oder die beiden Modelle kombinieren. Die beiden Preismodelle ergänzen sich. Eine On-Demand-Abrechnung ist effizient. Ein Pauschalpreis ist planbarer.

Abwägungen der Reservierungen.

Berücksichtigen Sie die folgenden Faktoren, wenn Sie den Pauschalpreis wählen:

  • Kosten. Google empfiehlt, dass Ihre monatlichen Ausgaben für Analysen etwa beim Minimum der Nutzungszusicherung des BigQuery-Pauschalpreises liegen (derzeit 500 Slots pro Monat).
  • Effizienz On-Demand könnte für Sie in Frage kommen, wenn Sie Wert auf Effizienz legen, da Sie pro Anfrage bezahlen.
  • Planbarkeit. Wenn Sie die monatliche Planbarkeit des Preismodells schätzen, bevorzugen Sie möglicherweise einen Pauschalpreis, bei dem Sie eine monatliche Gebühr bezahlen.
  • Ressourcen. Die Abrechnungsmodelle "Pauschalpreis" und "On-Demand" unterscheiden sich in den angebotenen Kapazitäten. Weitere Informationen finden Sie unter Anzahl der zu erwerbenden Slots schätzen.

Reservierungsentscheidung.

Als Neukunde können Sie mit dem Pauschalpreis beginnen. Sie können jederzeit sehen, wie hoch Ihre Ausgaben für die On-Demand-Abrechnung gewesen wären, und Sie können jederzeit das für Sie geeignete Modell auswählen.

So können Sie die On-Demand- und Pauschalpreis-Abrechnungsmodelle miteinander kombinieren:

  • Verwenden Sie die On-Demand-Abrechnung für vorhersehbare Arbeitslasten wie regelmäßige Datenverarbeitung und ELT.
  • Verwenden Sie die Pauschalabrechnung für Ad-hoc-Analysen und Data Science-Arbeitslasten.

Anzahl der zu kaufenden Slots schätzen

BigQuery ist so konzipiert, dass es mit zunehmenden Ressourcen linear skaliert werden kann. Abhängig von der Arbeitslast bietet die inkrementelle Kapazität wahrscheinlich immer mehr Vorteile. Daher hängt die Auswahl der optimalen Anzahl von Slots von der Leistung, dem Durchsatz und den Einstellungen des Dienstprogramms ab.

Sie können die bestmögliche Anzahl an Slots ermitteln. Prüfen Sie dazu die aktuelle Slot-Nutzung Ihrer Projekte zusammen mit dem gewünschten monatlichen Preis, den Sie bezahlen möchten. On-Demand-Arbeitslasten haben derzeit eine weiche Slot-Obergrenze von 2.000 Slots. Es muss aber mithilfe von Stackdriver Logging, der Job API oder der BigQuery-Audit-Logs überprüft werden, wie viele Slots tatsächlich von Ihren Projekten verwendet werden. Weitere Informationen finden Sie unter Verfügbare Slots und zugewiesenen Slots visualisieren.

Zeitachse der Slot-Nutzung

Erste Schritte mit BigQuery Reservations

Schließen Sie die BigQuery-Kurzanleitung ab und wählen Sie Ihr Administrationsprojekt aus, um BigQuery Reservations zu verwenden.

Dann müssen Sie Slots erwerben und Ihre Organisation der Reservierung zuweisen. Wenn Sie diese beiden Schritte nicht beenden, fallen für Ihre Organisation weiterhin die On-Demand-Preise an.

Slots erwerben

Console

  1. Wechseln Sie in der Google Cloud Console zur BigQuery-Web-UI.

    Zur BigQuery-Web-UI

  2. Rufen Sie im Navigationsbereich den Abschnitt Reservations (Reservierungen) auf. Navigationsschaltfläche
  3. Klicken Sie auf die Schaltfläche Buy slots (Slots erwerben). Slots erwerben.
  4. Wählen Sie Monthly als "Commitment Duration" (Zusicherungsdauer) aus.
  5. Wählen Sie US als "Location" (Standort) aus.
  6. Geben Sie 500 für "Number of slots" (Anzahl der Slots) ein.
  7. Prüfen und bestätigen Sie die Bestellung. Geben Sie dazu CONFIRM ein und wählen Sie dann PURCHASE aus.
  8. Es kann einige Minuten dauern, bis die Kapazität bereitgestellt wird. Nachdem die Kapazität bereitgestellt wurde, hat die angeforderte Kapazitätszusicherung einen grünen Status. Slot-Zusicherungen.

Wenn Sie zum ersten Mal Kapazitäten kaufen, wird die Reservierung default erstellt. Als Nächstes wird Ihre Organisation der Reservierung zugewiesen.

Organisation der Reservierung zuweisen

Console

  1. Wechseln Sie in der Google Cloud Console zur BigQuery-Web-UI.

    Zur BigQuery-Web-UI

  2. Klicken Sie auf den Abschnitt Reservations (Reservierungen). Navigationsschaltfläche
  3. Klicken Sie auf den Tab Assignments (Zuweisungen). Tab
  4. Klicken Sie im Abschnitt Search and create assignments (Zuweisungen suchen und erstellen) auf die Schaltfläche Browse (Durchsuchen) und wählen Sie Ihre Organisation aus. Projektauswahl für Zuweisungen.
  5. Wählen Sie in der Auswahl Reservation (Reservierung) den Reservierungsnamen aus, der auf default. Reservierungsauswahl für Zuweisungen. endet.
  6. Klicken Sie auf Create (Erstellen).

Befehlszeile

Verwenden Sie den Befehl bq mk mit dem Flag --reservation_assignment, um Anfragen einer Organisation für eine Reservierung zuzuweisen.

bq mk \
  --project_id=admin_project_id \
  --location=US \
  --reservation_assignment \
  --reservation_id=admin_project_id:US.default \
  --job_type=QUERY \
  --assignee_id=organization_id \
  --assignee_type=ORGANIZATION

Dabei gilt:

  • admin_project_id ist das Inhaberprojekt der Reservierungsressource.

  • organization_id ist Ihre Organisations-ID.

Zusätzliche Reservierungen mit dedizierten Slots erstellen

Wenn eine Organisation einer Reservierung zugewiesen wird, teilen sich alle Projekte, die BigQuery verwenden, diese Slots. Abhängig von der Arbeitslast ist es möglicherweise nicht ideal, Slots mit anderen Arbeitslasten zu teilen. Beispielsweise sollte eine Produktionsarbeitslast die Slots wahrscheinlich nicht gleichmäßig mit Testarbeitslasten teilen. Wenn für ein Projekt dedizierte Slots erforderlich sind, können zusätzliche Reservierungen mit ihren eigenen reservierten Slots erstellt werden. In den folgenden Abschnitten werden beispielhaft 500 Slots erstellt und zugewiesen.my-prod-project

Reservierung "prod" erstellen

Console

  1. Wechseln Sie in der Google Cloud Console zur BigQuery-Web-UI.

    Zur BigQuery-Web-UI

  2. Klicken Sie auf den Abschnitt Reservations (Reservierungen).
  3. Klicken Sie auf die Schaltfläche Create Reservation (Reservierung erstellen). Reservierung erstellen.
  4. Geben Sie im Feld Reservation name (Name der Reservierung) prod ein. Informationen zu Reservierung erstellen
  5. Wählen Sie im Feld Location (Standort) US aus.
  6. Geben Sie für "Number of slots" (Anzahl der Slots) 500 ein.
  7. Klicken Sie auf Save (Speichern).

Die neu erstellte Reservierung prod wird in der Übersichtstabelle angezeigt.

Reservierungsübersicht.

Befehlszeile

Verwenden Sie den Befehl bq mk mit dem Flag --reservation, um eine Reservierung mit 500 Slots zu erstellen.

bq mk \
  --project_id=admin_project_id \
  --location=US \
  --reservation \
  --slots=500 \
  prod

Dabei gilt:

  • admin_project_id ist die Inhaberprojekt-ID der Reservierungsressource.

Weisen Sie my-prod-project der Reservierung prod zu

Console

  1. Wechseln Sie in der Google Cloud Console zur BigQuery-Web-UI.

    Zur BigQuery-Web-UI

  2. Klicken Sie auf den Abschnitt Reservations (Reservierungen).
  3. Klicken Sie auf den Tab Assignments (Zuweisungen). Tab
  4. Klicken Sie im Bereich Search and create assignments (Zuweisungen suchen und erstellen) auf die Schaltfläche Browse (Durchsuchen) und wählen Sie das Projekt "prod" aus. Projektauswahl für Zuweisungen.
  5. Wählen Sie in der Auswahl Reservierung den Reservierungsnamen aus, der auf prod. Reservierungsauswahl für Zuweisungen. endet.
  6. Klicken Sie auf Create (Erstellen).

Befehlszeile

Verwenden Sie den Befehl bq mk mit dem Flag --reservation_assignment, um die Abfragejobs Ihres Produktionsprojekts der Produktreservierung zuzuweisen.

bq mk \
  --project_id=admin_project_id \
  --location=US \
  --reservation_assignment \
  --reservation_id=admin_project_id:US.prod \
  --job_type=QUERY \
  --assignee_id=my-prod-project \
  --assignee_type=PROJECT

Dabei gilt:

  • admin_project_id ist die Inhaberprojekt-ID der Reservierungsressource.

  • my-prod-project ist Ihre Produktionsprojekt-ID.

Ab jetzt werden alle von my-prod-project gesendeten Abfragejobs unter der Reservierung prod ausgeführt und haben Zugriff auf 500 Slots.

Zusätzliche Slots erwerben und Reservierungsumfang erhöhen

Wenn die Arbeitslast im Laufe der Zeit größer und komplexer wird, müssen möglicherweise weitere Slots gekauft werden, um die Leistung zu verbessern.

Zusätzliche Slots erwerben

Folgen Sie der Anleitung in Erste Schritte mit BigQuery Reservations, um weitere 500 Slots zu erwerben.

Größe der Reservierung "Prod" erhöhen

Führen Sie die folgenden Schritte aus, um die Größe der Reservierung für prod zu erhöhen.

Console

  1. Wechseln Sie in der Google Cloud Console zur BigQuery-Web-UI.

    Zur BigQuery-Web-UI

  2. Klicken Sie auf den Abschnitt Reservations (Reservierungen). Abschnitt
  3. Wählen Sie die zuvor erstellte Reservierung prod aus und klicken Sie auf die Schaltfläche Edit (Bearbeiten). Reservierungen bearbeiten.
  4. Geben Sie die neue Reservierungsgröße ein: 1.000 Slots. Reservierungs-Slots erhöhen
  5. Klicken Sie auf Save (Speichern).
  6. Die aktualisierte Reservierungsgröße für prod ist in der Liste der Reservierungen sichtbar. Aktualisierte Reservierungsgröße.

Befehlszeile

Verwenden Sie den Befehl bq update mit dem Flag --reservation, um die Größe Ihrer Produktionsreservierung zu aktualisieren.

bq update \
  --project_id=admin_project_id \
  --location=US \
  --slots=500 \
  --reservation prod

Dabei gilt:

  • admin_project_id ist die Inhaberprojekt-ID der Reservierungsressource.

Projekte/Ordner/Organisationen Reservierungen zuweisen

Projekte, Ordner und Organisationen können Reservierungen zugewiesen werden. Eine Projektreservierungszuweisung hat Vorrang vor einer Ordnerzuweisung, die Vorrang vor einer Organisationszuweisung hat.

Reservierungen in verschiedenen Regionen verwalten

Reservierungen sind eine regionale Ressource. 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. Um Reservierungen in einer anderen Region verwalten zu können, müssen Sie die Region auf der Seite "BigQuery Reservation" ändern:

Console

  1. Klicken Sie in der Benutzeroberfläche der BigQuery-Konsole auf den Abschnitt Reservations (Reservierungen).
  2. Klicken Sie auf die Schaltfläche Location (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 Reservierungen zuweisen.

Lade- und Exportjobs Reservierungen zuweisen

Die von Lade- und anderen Pipelinejobs verwendeten Slots sind kostenlos und bieten beste Leistung. BigQuery gibt keine Garantien für das Aufnahmevermögen. Wenn Sie dedizierte Ressourcen für Lasten oder eine weniger flüchtige Performance benötigen, können Sie Slots erwerben und Reservierungen speziell für Lade- und andere Pipelinejobs erstellen.

Das folgende Beispiel zeigt, wie Sie die Pipelinejobs von my-project der Ladereservierung Ihres Administrationsprojekts zuweisen.

Befehlszeile

Verwenden Sie den Befehl bq mk mit dem Flag --reservation, um eine Reservierung mit 1.000 Slots zu erstellen, die für Ihre Pipelinejobs verwendet werden.

bq mk \
  --project_id=admin_project_id \
  --location=US \
  --ignore_idle_slots=true \
  --slots=1000 \
  --reservation my-pipeline

Dabei gilt:

  • admin_project_id ist die Inhaberprojekt-ID der Reservierungsressource.

Verwenden Sie den Befehl bq mk mit dem Flag --reservation_assignment, um die Pipelinejobs Ihres Projekts der Pipelinereservierung zuzuweisen.

bq mk \
  --project_id=my-project \
  --location=US \
  --reservation_assignment \
  --reservation_id=admin_project_id:US.loads \
  --assignee_id=admin_project_id \
  --assignee_type=PROJECT \
  --job_type=PIPELINE

Dabei gilt:

  • my-project ist die Projekt-ID, deren Pipelinejobs Sie der Reservierung zuweisen möchten.

  • admin_project_id ist die Inhaberprojekt-ID der Reservierungsressource.

Projekte aus Reservierungen entfernen

Sie können Projekte aus Reservierungen entfernen. Entfernen Sie dazu die Reservierungszuweisungen. Wenn ein Projekt keinen Reservierungen zugewiesen ist, wird dieses anhand der gestellten Abfragen abgerechnet (On-Demand-Preise). Ein Projekt verwendet kein On-Demand-Preismodell, wenn die übergeordneten Ordner oder die Organisation einer Reservierung zugewiesen sind.

So entfernen Sie ein Projekt aus einer Reservierung:

Console

  1. Wechseln Sie in der Google Cloud Console zur BigQuery-Web-UI.

    Zur BigQuery-Web-UI

  2. Klicken Sie auf den Abschnitt Reservations (Reservierungen).
  3. Klicken Sie auf den Tab Assignments (Zuweisungen). Tab
  4. Klicken Sie für die Zuweisung, die Sie löschen möchten, auf Actions (Aktionen) und dann auf Delete (Löschen). Aufgabe löschen.

Befehlszeile

Verwenden Sie den Befehl bq rm mit dem Flag --reservation_assignment, um Ihr Projekt aus der Reservierung zu entfernen.

bq rm \
  --project_id=admin_project_id \
  --location=US \
  --reservation_assignment admin_project_id:US.reservation_id.reservation_assignment_id

Dabei gilt:

  • admin_project_id ist die Inhaberprojekt-ID der Reservierungsressource.

  • reservation_assignment_id ist die ID der Reservierungszuweisung.

Reservierungszuweisung eines Projekts finden

So können Sie herausfinden, ob Ihr Projekt, Ihr Ordner oder Ihre Organisation einer Reservierung zugewiesen wurde:

Console

  1. Wechseln Sie in der Google Cloud Console zur BigQuery-Web-UI.

    Zur BigQuery-Web-UI

  2. Klicken Sie auf den Abschnitt Reservations (Reservierungen).
  3. Klicken Sie auf den Tab Assignments (Zuweisungen). Tab
  4. Klicken Sie auf die Projektauswahl und wählen Sie das gewünschte Projekt, den gewünschten Ordner oder die gewünschte Organisation aus. Projektauswahl für Zuweisungen.
  5. Wenn die Reservierungszuweisung vorhanden ist, wird sie unterhalb der Auswahl angezeigt.

Befehlszeile

Verwenden Sie den Befehl bq show mit dem Flag --reservation_assignment, um zu ermitteln, welcher Reservierung die Abfragejobs Ihres Projekts zugewiesen sind.

bq show \
  --project_id=admin_project_id \
  --location=US \
  --reservation_assignment \
  --job_type=QUERY \
  --assignee_id=my-prod-project \
  --assignee_type=PROJECT

Dabei gilt:

  • admin_project_id ist die Inhaberprojekt-ID der Reservierungsressource.

  • my-prod-project ist Ihre Produktionsprojekt-ID.

Kapazitätszusicherungen löschen

Eine Kapazitätszusicherung kann basierend auf ihrer Zusicherungsdauer gelöscht werden:

  • Monatlich: Nach Ablauf der ersten 30 Tage können Sie die Zusicherung jederzeit löschen. Die Kosten werden Ihnen anteilig pro Sekunde berechnet.
  • Jährlich: Nach einem Jahr können Sie entscheiden, ob Sie den Slot-Pool verlängern möchten oder nicht. Ab dann wird Ihr Slot-Pool auf eine monatliche Rate umgestellt, kann jederzeit gekündigt werden und wird anteilig pro Sekunde berechnet.

Das Enddatum der Zusicherung wird in der Benutzeroberfläche für Reservierungen angezeigt. Sie können Ihre Kapazitätszusicherung nach dem Zusicherungsdatum löschen. Wenn Sie eine Kapazitätszusicherung löschen möchten, müssen Sie zuerst prüfen, ob genügend freie Slots vorhanden sind. Ist dies nicht der Fall, müssen Sie die Anzahl der Slots in einer Reservierung verringern oder Reservierungen vollständig entfernen.

Console

Führen Sie die folgenden Schritte aus, um eine Kapazitätszusicherung zu löschen:

  1. Wechseln Sie in der Google Cloud Console zur BigQuery-Web-UI.

    Zur BigQuery-Web-UI

  2. Klicken Sie auf den Abschnitt Reservations (Reservierungen).
  3. Klicken Sie auf den Tab Slot commitments (Slot-Zusicherungen).
  4. Klicken Sie bei den Zusicherungen, die Sie löschen möchten, auf Actions (Aktionen) und dann auf Delete (Löschen). Zusicherungen löschen.
  5. Geben Sie "REMOVE" (Entfernen) ein und klicken Sie auf Proceed (Weiter). Zusicherungen löschen.

Befehlszeile

Verwenden Sie den Befehl bq rm mit dem Flag --capacity_commitment, um eine Kapazitätszusicherung zu löschen.

bq rm \
  --project_id=admin_project_id \
  --location=US \
  --capacity_commitment=admin_project_id:US.capacity_commitment_id

Dabei gilt:

  • admin_project_id ist die Inhaberprojekt-ID der Reservierungsressource.

  • capacity_commitment_id ist die Kapazitätszusicherungs-ID.

Arbeitslasten und Abteilungen mithilfe von Reservierungen verwalten

Sie können BigQuery-Reservierungen verwenden, um Ihre zugesicherte Kapazität über Arbeitslasten, Teams oder Abteilungen hinweg zu isolieren. 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 in der gesamten Organisation nicht genutzte Kapazitäten 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 die Reservierung ds mit 500 Slots erstellen und der Reservierung 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 zuweisen.
  • Sie können die Reservierung bi mit 200 Slots erstellen und Projekte, die mit Ihren BI-Tools verknüpft sind, der Reservierung zuweisen.

Zusicherungen löschen.

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

BigQuery Reservations für komplexe Organisationen

BigQuery Reservations ist eine organisationsbezogene Ressource. Sie erwerben fest zugesagte Kapazitäten zentral, um sie in Ihrem gesamten Unternehmen zu nutzen. Es kann erforderlich sein, dass einzelne Abteilungen BigQuery Reservations selbst verwalten, zugesicherte Kapazität erwerben, diese Kapazität auf die Abteilung verteilen und ihnen diese Kapazität in Rechnung gestellt wird.

Sie können für jede Ihrer Abteilungen eine eigene Google Cloud-Organisation verwenden. In diesem Szenario definieren Sie für jede Organisation ein Administrationsprojekt und verwalten BigQuery Reservations für diese Organisation aus dem Administrationsprojekt. Zugesicherte oder inaktive Kapazität kann nicht über Organisationen hinweg gemeinsam genutzt werden.

Die Abrechnungsmodelle Pauschalpreis und On-Demand gemeinsam verwenden

Sie können die Abrechnungsmodelle Pauschalpreis und On-Demand gemeinsam verwenden.

Sie können in einer Region einen Pauschalpreis und in einer anderen Region On-Demand verwenden:

  1. Standardmäßig verwenden Sie in allen Regionen On-Demand.
  2. Sie können ein Projekt, einen Ordner oder eine Organisation für eine Abrechnung nach Pauschalpreis in einer Region aktivieren. Weisen Sie sie dazu einer Reservierung zu.
  3. Wenn Sie beispielsweise eine Slot-Zusicherung im multiregionalen Standort "US" erwerben und Ihre Organisation der Standardreservierung zuweisen, wird Ihre Organisation im multiregionalen Standort "US" pauschal abgerechnet. Andere Regionen werden weiterhin On-Demand abgerechnet.

Innerhalb einer Region können Sie sowohl einen Pauschalpreis als auch On-Demand zusammen verwenden:

  1. Weisen Sie Ihren Ordner oder Ihre Organisation keiner Reservierung zu.
  2. Weisen Sie stattdessen Projekte explizit einer Reservierung zu.
  3. Jedes Projekt, das keiner Reservierung zugewiesen ist, bleibt weiterhin On-Demand. Beispiel:
    • Wenn Sie Projekte A, B und C haben
    • Sie erstellen keine organisationsweite Zuweisung
    • Sie weisen Projekte A und B ausdrücklich einer Reservierung zu
    • Projekt C wird weiterhin On-Demand abgerechnet

Alle Projekte mit On-Demand-Abrechnung verwenden Kapazitäten, die von Ihren zugesagten Kapazitäten getrennt sind. Diese Projekte wirken sich nicht auf die Verfügbarkeit Ihrer zugewiesenen Kapazität aus.