Membeli dan mengelola komitmen slot

BigQuery Reservation API memungkinkan Anda membeli slot khusus (disebut komitmen), membuat kumpulan slot (disebut reservasi), dan menetapkan project, folder, dan organisasi untuk pemesanan tersebut.

Komitmen kapasitas adalah pembelian kapasitas komputasi BigQuery selama durasi waktu minimum. Membeli komitmen kapasitas bersifat opsional saat membuat pemesanan dengan edisi, tetapi dapat menghemat biaya.

Komitmen termasuk resource regional. Komitmen yang dibeli di satu region atau multi-region tidak dapat digunakan di region atau multi-region lain. Komitmen tidak dapat dipindahkan baik antar-region maupun antara region dan multi-region.

Mengaktifkan Reservations API

BigQuery Reservation API terpisah dari BigQuery API yang sudah ada, dan harus diaktifkan secara terpisah. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan API.

  • Cari nama API "BigQuery Reservations API"
  • Endpoint untuk BigQuery Reservation API adalah bigqueryreservation.googleapis.com.

Aktifkan API.

Slot pembelian

Untuk melakukan pemesanan kapasitas selama durasi waktu tertentu, Anda dapat membeli komitmen kapasitas. Anda bisa mendapatkan diskon dan menghemat biaya dengan melakukannya. Untuk mengetahui informasi selengkapnya tentang biaya tertentu, lihat harga BigQuery.

Izin yang diperlukan

Sebelum membuat komitmen kapasitas, Anda memerlukan izin Identity and Access Management (IAM) berikut:

  • bigquery.capacityCommitments.create pada project administrasi yang mengelola kepemilikan komitmen.

Setiap peran IAM berikut yang telah ditentukan sebelumnya menyertakan izin ini:

  • BigQuery Admin
  • BigQuery Resource Admin

Untuk mengetahui informasi selengkapnya tentang peran IAM di BigQuery, lihat Peran dan izin yang telah ditentukan sebelumnya.

Membuat komitmen kapasitas

Komitmen termasuk resource regional. Komitmen yang dibeli di satu region atau multi-region tidak dapat digunakan di region atau multi-region lain. Komitmen tidak dapat dipindahkan antar-region atau antara region dan multi-region.

Konsol

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel navigasi, buka bagian Pengelolaan kapasitas.

  3. Klik Buat Komitmen.

  4. Di bagian Konfigurasikan:

    1. Pilih lokasi.
    2. Di bagian Model kapasitas, pilih model kapasitas.
    3. Jika memilih opsi Penskalaan Otomatis (Edisi):
      1. Dalam daftar Edisi, pilih edisi. Komitmen kapasitas hanya didukung dalam edisi Enterprise dan Enterprise Plus. Penskalaan otomatis hanya tersedia dalam edisi. Untuk mengetahui informasi selengkapnya tentang edisi, lihat Pengantar edisi BigQuery.
    4. Pilih Durasi komitmen, yang menentukan paket komitmen Anda.
    5. Jika membeli komitmen Tahunan, pilih Paket perpanjangan yang ingin diterapkan saat komitmen berakhir:

      1. Perpanjang setiap tahun. Setelah masa berlaku tahunan berakhir, komitmen akan diperpanjang selama satu tahun lagi sebagai komitmen tahunan.

      Untuk mengetahui informasi selengkapnya, lihat Komitmen.

    6. Masukkan Jumlah slot yang ingin dibeli.

    7. Klik Next.

  5. Tinjau perkiraan Biaya pembelian Anda.

  6. Di bagian Konfirmasi dan kirim:

    1. Ketik CONFIRM untuk mengonfirmasi pembelian.
    2. Klik Beli untuk membeli slot.
  7. Untuk melihat komitmen, klik Lihat komitmen slot. Setelah kapasitas disediakan, status komitmen kapasitas yang diminta akan menjadi hijau.

Saat pertama kali Anda membeli kapasitas, pemesanan default akan dibuat.

SQL

Untuk membuat komitmen kapasitas, gunakan pernyataan DDL CREATE CAPACITY.

  1. Di Konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

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

    Ganti kode berikut:

    • ADMIN_PROJECT_ID: project ID dari project administrasi yang akan mengelola kepemilikan atas komitmen ini
    • LOCATION: lokasi komitmen
    • COMMITMENT_ID: ID komitmen

      ID ini harus unik terhadap project dan lokasi yang ada. ID harus diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.

    • NUMBER_OF_SLOTS: jumlah slot yang akan dibeli
    • EDITION: edisi yang berkaitan dengan komitmen kapasitas. Anda hanya dapat membuat komitmen kapasitas dengan edisi Enterprise atau Enterprise Plus. Untuk mempelajari edisi lebih lanjut, lihat Pengantar edisi BigQuery.
    • PLAN_TYPE: Jenis paket, seperti ANNUAL atau THREE_YEAR.

  3. Klik Run.

Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.

bq

Gunakan perintah bq mk dengan flag --capacity_commitment untuk membeli slot.

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

Ganti kode berikut:

  • ADMIN_PROJECT_ID: project ID dari project administrasi yang akan mengelola kepemilikan komitmen ini
  • LOCATION: lokasi komitmen
  • EDITION: edisi yang berkaitan dengan komitmen kapasitas. Anda hanya dapat membuat komitmen kapasitas dengan edisi Enterprise atau Enterprise Plus. Untuk mempelajari edisi lebih lanjut, lihat Pengantar edisi BigQuery.
  • PLAN_TYPE: jenis paket, seperti ANNUAL atau THREE_YEAR.
  • RENEWAL_PLAN_TYPE: jenis paket perpanjangan, seperti NONE, ANNUAL, atau THREE_YEAR.
  • NUMBER_OF_SLOTS: jumlah slot yang akan dibeli.

Melihat komitmen kapasitas

Izin yang diperlukan

Untuk melihat komitmen, Anda memerlukan izin Identity and Access Management (IAM) berikut:

Setiap peran IAM berikut yang telah ditentukan sebelumnya menyertakan izin ini:

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

Untuk mengetahui informasi selengkapnya tentang peran IAM di BigQuery, lihat Peran dan izin yang telah ditentukan sebelumnya.

Melihat komitmen kapasitas berdasarkan project

Untuk melihat komitmen kapasitas Anda berdasarkan project:

Konsol

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel navigasi, buka bagian Pengelolaan Kapasitas.

  3. Klik tab Komitmen slot. Komitmen kapasitas Anda tercantum pada tabel di bagian Komitmen.

SQL

Untuk melihat komitmen suatu project administrasi, buat kueri tabel virtual INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT.

  1. Di Konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut:

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

    Ganti kode berikut:

  3. Klik Run.

Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.

bq

Gunakan perintah bq ls dengan flag --capacity_commitment untuk menampilkan komitmen project administrasi.

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

Ganti kode berikut:

Memperbarui komitmen kapasitas

Anda dapat melakukan perubahan berikut pada komitmen kapasitas:

  • Memperbarui paket perpanjangan komitmen
  • Melakukan konversi komitmen ke paket komitmen dengan durasi lebih lama.
  • Memisahkan satu komitmen menjadi dua komitmen.
  • Menggabungkan dua komitmen menjadi satu komitmen.

Izin yang diperlukan

Untuk memperbarui komitmen kapasitas, Anda memerlukan izin Identity and Access Management (IAM) berikut:

  • bigquery.capacityCommitments.update pada project administrasi yang mengelola kepemilikan komitmen.

Setiap peran IAM berikut yang telah ditentukan sebelumnya menyertakan izin ini:

  • BigQuery Admin
  • BigQuery Resource Admin

Untuk mengetahui informasi selengkapnya tentang peran IAM di BigQuery, lihat Peran dan izin yang telah ditentukan sebelumnya.

Memperpanjang komitmen

Komitmen tahunan memiliki paket perpanjangan, yang perlu Anda tentukan saat membuat atau melakukan konversi ke komitmen tahunan. Anda dapat mengubah paket perpanjangan komitmen tahunan kapan saja sebelum tanggal akhir komitmen.

Konsol

Anda dapat mengubah paket perpanjangan komitmen tahunan melalui langkah berikut:

  1. Di Konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel navigasi, buka bagian Pengelolaan Kapasitas.

  3. Klik tab Komitmen slot.

  4. Temukan komitmen yang ingin diedit.

  5. Klik Tindakan, lalu pilih opsi Edit paket perpanjangan.

  6. Pilih paket perpanjangan baru.

bq

Untuk mengubah pilihan paket perpanjangan pada komitmen tahunan, gunakan perintah bq update dengan flag --capacity_commitment danflag --renewal_plan.

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

Ganti kode berikut:

Mengonversi komitmen ke komitmen dengan durasi lebih lama

Anda dapat memilih untuk mengonversi komitmen menjadi komitmen dengan durasi lebih lama kapan saja.

Segera setelah memperbarui komitmen, Anda akan dikenai tarif yang berkaitan dengan paket baru, dan tanggal akhirnya akan direset.

Untuk mengonversi komitmen, gunakan perintah bq update dengan flag --plan.

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

Ganti kode berikut:

Memisahkan komitmen

Anda dapat memisahkan satu komitmen menjadi dua komitmen. Tindakan ini dapat dilakukan jika Anda ingin memperpanjang bagian dari satu komitmen. Misalnya, jika memiliki komitmen tahunan sebanyak 1.000 slot, Anda dapat membagi 300 slot menjadi komitmen baru dan menyisakan 700 slot di komitmen awal. Kemudian, Anda dapat memperpanjang 700 slot dengan tarif tahunan, dan mengonversi 300 slot menjadi komitmen tiga tahunan.

Setelah melakukan pemisahan, komitmen baru akan memiliki paket dan tanggal akhir yang sama dengan komitmen awal.

Konsol

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel navigasi, buka bagian Pengelolaan Kapasitas.

  3. Klik tab Komitmen slot.

  4. Pilih komitmen yang ingin dipisahkan.

  5. Klik Pisahkan.

  6. Di halaman Memisahkan komitmen, gunakan penggeser Konfigurasi pemisahan untuk memilih jumlah slot yang masuk ke setiap pemisahan, dengan kelipatan 100 slot.

  7. Klik Pisahkan untuk memisahkan komitmen. Komitmen baru akan tercantum di tab Komitmen slot.

bq

Untuk memisahkan komitmen, gunakan perintah bq update.

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

Ganti kode berikut:

  • ADMIN_PROJECT_ID: project ID
  • LOCATION: lokasi komitmen
  • SLOTS_TO_SPLIT: jumlah slot yang akan dipisahkan dari komitmen awal terkait ke komitmen baru
  • COMMITMENT_ID: ID komitmen

    Untuk mendapatkan ID, lihat Melihat komitmen yang dibeli.

Menggabungkan dua komitmen

Anda dapat menggabungkan beberapa komitmen menjadi satu komitmen. Semua komitmen yang digabungkan harus dalam jenis yang sama (ANNUAL atau THREE_YEAR). Tanggal akhir komitmen gabungan adalah tanggal akhir maksimum dari komitmen awal. Jika salah satu komitmen memiliki tanggal akhir lebih awal, komitmen tersebut akan diperpanjang hingga tanggal tersebut dan Anda akan dikenai jumlah prorata untuk slot tersebut.

Konsol

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel navigasi, buka bagian Pengelolaan Kapasitas.

  3. Klik tab Komitmen slot.

  4. Pilih komitmen yang ingin digabungkan.

  5. Klik Gabungkan.

  6. DI halaman Menggabungkan komitmen, tinjau detail penggabungan, lalu klik Gabungkan. Komitmen gabungan baru akan tercantum di tab Komitmen slot.

bq

Untuk menggabungkan dua komitmen menjadi satu, gunakan perintah bq update:

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

Ganti kode berikut:

  • ADMIN_PROJECT_ID: project ID
  • LOCATION: lokasi komitmen
  • COMMITMENT1: komitmen pertama yang akan digabungkan
  • COMMITMENT2: komitmen kedua yang akan digabungkan

Akhir masa berlaku komitmen

Masa berlaku komitmen akan berakhir pada akhir durasi. Anda tidak dapat menghapus komitmen saat masih aktif. Jika paket perpanjangan ditetapkan ke NONE, komitmen akan otomatis dihapus. Jika tidak, langganan akan diperpanjang dengan komitmen tahunan atau tiga tahun, bergantung pada paket perpanjangan. Untuk mengubah paket perpanjangan ke NONE, ikuti langkah-langkah di Memperpanjang komitmen.

Setelah memperpanjang komitmen, nilai Waktu mulai tidak akan berubah. Ini mengacu pada waktu mulai komitmen awal. Nilai Waktu berakhir adalah waktu berakhirnya komitmen yang diperpanjang. Misalnya, jika Anda memiliki satu komitmen tahunan yang dibuat pada 13 Desember 2022, dan diperpanjang pada 13 Desember 2023. Jika Anda melihat detail komitmen pada 14 Desember 2023, nilai Waktu mulai akan menjadi 13 Desember 2022 dan nilai Waktu berakhir akan menjadi 12 Desember 2024.

Slot dasar pengukuran selalu ditagih. Jika masa berlaku komitmen kapasitas berakhir, Anda mungkin perlu menyesuaikan jumlah slot dasar pengukuran dalam reservasi secara manual untuk menghindari tagihan yang tidak diinginkan. Misalnya, anggaplah Anda memiliki komitmen 1 tahun dengan 100 slot dan pemesanan dengan 100 slot dasar pengukuran. Komitmen tersebut telah berakhir dan tidak memiliki rencana perpanjangan. Setelah komitmen berakhir, Anda membayar 100 slot dasar pengukuran dengan tarif bayar sesuai penggunaan.

Mengontrol pembuatan komitmen kapasitas

Anda dapat menggunakan kebijakan penolakan IAM untuk kontrol tambahan atas siapa yang dapat membuat komitmen kapasitas.

Kebijakan tolak dapat dibuat untuk sekumpulan pengguna atau semua pengguna, dan dapat dikonfigurasi dengan pengecualian dan kondisi.

Misalnya, kebijakan berikut menolak izin semua pengguna untuk membuat komitmen kapasitas, kecuali akun utama "lucian@example.com":

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

Kebijakan ini kemudian dapat dilampirkan ke organisasi untuk mengontrol siapa yang dapat membuat komitmen.

Perhatikan bahwa kebijakan ini lebih diutamakan daripada peran IAM, sehingga meskipun pengguna dengan peran bigquery.admin tidak akan dapat membuat komitmen kecuali jika kebijakan dihapus atau diubah.

Untuk informasi selengkapnya, lihat Menolak akses ke resource.

Memecahkan masalah komitmen kapasitas

Bagian ini menjelaskan langkah pemecahan masalah yang dapat dilakukan, jika mengalami masalah saat menggunakan Reservasi BigQuery.

Slot yang dibeli sedang menunggu

Slot dapat berubah tergantung kapasitas yang tersedia. Saat membeli komitmen slot dan BigQuery mengalokasikannya, kolom Status akan menampilkan tanda centang. Jika BigQuery tidak dapat langsung mengalokasikan slot yang diminta, kolom Status akan tetap tertunda. Anda mungkin harus menunggu beberapa jam hingga slot tersedia. Jika memerlukan akses ke slot lebih cepat, coba langkah berikut:

  1. Hapus komitmen yang tertunda.
  2. Beli komitmen baru untuk jumlah slot yang lebih kecil. Tergantung kapasitas yang tersedia, komitmen yang lebih kecil dapat langsung aktif.
  3. Beli sisa slot sebagai komitmen terpisah. Slot ini mungkin akan ditampilkan sebagai tertunda di kolom Status, tetapi umumnya akan aktif dalam beberapa jam.
  4. Opsional: Jika kedua komitmen tersedia, Anda dapat menggabungkannya menjadi satu komitmen, selama Anda membeli paket yang sama untuk keduanya.

Jika komitmen slot gagal atau memerlukan waktu lama untuk selesai, pertimbangkan untuk menggunakan harga on demand untuk sementara. Dengan solusi ini, Anda mungkin perlu menjalankan kueri penting pada project lain yang tidak ditetapkan ke pemesanan apa pun, atau Anda mungkin perlu menghapus penetapan project tersebut.