Kuota & batas

Halaman ini menjelaskan kuota dan batas produksi untuk Spanner. Kuota dan batas dapat digunakan secara bergantian di konsol Google Cloud .

Nilai kuota dan batas dapat berubah sewaktu-waktu.

Izin untuk memeriksa dan mengedit kuota

Untuk melihat kuota, Anda harus memiliki izin serviceusage.quotas.get Identity and Access Management (IAM).

Untuk mengubah kuota, Anda harus memiliki izin IAM serviceusage.quotas.update. Izin ini disertakan secara default untuk peran bawaan berikut: Pemilik, Editor, dan Administrator Kuota.

Izin ini disertakan secara default dalam peran IAM dasar Pemilik dan Editor, serta dalam peran Administrator Kuota bawaan.

Memeriksa kuota Anda

Untuk memeriksa kuota saat ini untuk resource dalam project Anda, gunakan konsolGoogle Cloud :

Buka Kuota

Menambah kuota Anda

Seiring meningkatnya penggunaan Spanner dari waktu ke waktu, kuota Anda juga dapat meningkat. Jika Anda memperkirakan penggunaan akan meningkat signifikan, sebaiknya Anda membuat permintaan beberapa hari sebelumnya untuk memastikan ukuran kuota Anda mencukupi.

Anda mungkin juga perlu meningkatkan penggantian kuota konsumen. Untuk mengetahui informasi selengkapnya, lihat Membuat penggantian kuota konsumen.

Anda dapat meningkatkan batas node konfigurasi instance Spanner saat ini menggunakan konsol Google Cloud .

  1. Buka halaman Kuota.

    Buka halaman Quotas

  2. Pilih Spanner API di daftar drop-down Layanan.

    Jika Anda tidak melihat Spanner API, Spanner API belum diaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan API.

  3. Pilih kuota yang ingin diubah.

  4. Klik Edit Kuota.

  5. Di panel Perubahan kuota yang muncul, masukkan batas kuota baru Anda.

    Screenshot jendela pembuatan instance

  6. Klik Selesai, lalu Kirim permintaan.

    Jika Anda tidak dapat meningkatkan batas node ke batas yang diinginkan secara manual, klik minta kuota yang lebih tinggi. Isi formulir untuk mengirimkan permintaan kepada tim Spanner. Anda akan menerima respons dalam waktu 48 jam setelah permintaan dikirimkan.

Menambah kuota untuk konfigurasi instance kustom

Anda dapat meningkatkan kuota node untuk konfigurasi instance kustom.

  1. Periksa batas node konfigurasi instance kustom dengan memeriksa batas node konfigurasi instance dasar.

    Gunakan perintah show instance configurations detail jika Anda tidak mengetahui atau mengingat konfigurasi dasar konfigurasi instance kustom Anda.

  2. Jika batas node yang diperlukan untuk konfigurasi instance kustom Anda kurang dari 85, ikuti petunjuk di bagian Meningkatkan kuota Anda sebelumnya. Gunakan konsol Google Cloud untuk meningkatkan batas node dari konfigurasi instance dasar yang terkait dengan konfigurasi instance kustom Anda.

    Jika batas node yang diperlukan untuk konfigurasi instance kustom Anda lebih dari 85, isi formulir Minta Penambahan Kuota untuk Node Spanner. Tentukan ID konfigurasi instance kustom Anda dalam formulir.

Batas node

Nilai Batas
Konfigurasi node per instance

Batas default bervariasi menurut project dan konfigurasi instance. Untuk mengubah batas kuota project atau meminta penambahan batas, lihat Meningkatkan kuota.

Batas instance

Nilai Batas
Panjang ID instance 2 hingga 64 karakter

Batas instance uji coba gratis

Instance uji coba gratis Spanner memiliki batas tambahan berikut. Untuk menaikkan atau menghapus batas ini, upgrade instance uji coba gratis Anda ke instance berbayar.

Nilai Batas
Kapasitas penyimpanan 10 GiB
Batas database Membuat hingga lima database
Fitur yang tidak didukung Pencadangan dan pemulihan
SLA Tanpa SLA
Durasi uji coba Periode uji coba gratis selama 90 hari

Batas partisi geografis

Nilai Batas
Jumlah maksimum partisi per instance 10
Jumlah maksimum baris penempatan per node dalam partisi Anda 100 juta

Batas kueri tersimpan

Nilai Batas
Jumlah maksimum kueri tersimpan per project (termasuk kueri tersimpan untuk produk Google Cloud lainnya) 10.000
Ukuran maksimum untuk setiap kueri 1 MiB

Batas konfigurasi instance

Nilai Batas
Konfigurasi instance kustom maksimum per project 100
Panjang ID konfigurasi instance kustom

8 hingga 64 karakter

ID konfigurasi instance kustom harus diawali dengan custom-

Batas database

Nilai Batas
Database per instance
  • Untuk instance 1 node (1.000 unit pemrosesan) dan yang lebih besar: 100 database
  • Untuk instance yang lebih kecil dari 1 node: 10 database per 100 unit pemrosesan
Peran per database 100
Panjang ID database 2 hingga 30 karakter
Ukuran penyimpanan1
  • Untuk instance 1 node (1.000 unit pemrosesan) dan yang lebih besar: 10 TiB per node
  • Untuk instance yang lebih kecil dari 1 node: 1024,0 GiB per 100 unit pemrosesan

Peningkatan kapasitas penyimpanan sebesar 10 TiB per node tersedia di sebagian besar konfigurasi instance Spanner regional, dual-region, dan multi-region. Untuk mengetahui informasi selengkapnya, lihat Peningkatan performa dan penyimpanan.

Jika Anda menggunakan penyimpanan bertingkat, Anda dapat menggunakan penyimpanan gabungan (SSD dan HDD) hingga 10 TiB per node.

Cadangan disimpan secara terpisah dan tidak diperhitungkan dalam batas ini. Untuk mengetahui informasi selengkapnya, lihat Metrik pemanfaatan penyimpanan.

Perhatikan bahwa Spanner menagih penyimpanan aktual yang digunakan dalam instance, dan bukan total penyimpanan yang tersedia.

Batas pencadangan dan pemulihan

Nilai Batas
Jumlah operasi pembuatan cadangan yang sedang berlangsung per database 1
Jumlah operasi pemulihan database yang sedang berlangsung per instance (di instance database yang dipulihkan, bukan cadangan) 10
Waktu retensi maksimum cadangan 1 tahun (termasuk hari tambahan pada tahun kabisat)

Batas skema

Objek skema

Nilai Batas
Jumlah total objek skema dalam semua database di instance yang sama Batas default bervariasi menurut konfigurasi instance9

Pernyataan DDL

Nilai Batas
Ukuran pernyataan DDL untuk satu perubahan skema 10 MiB
Ukuran pernyataan DDL untuk seluruh skema database, seperti yang ditampilkan oleh GetDatabaseDdl 10 MiB

Grafik

Nilai Batas
Grafik properti per database 16
Panjang nama grafik properti 1 hingga 128 karakter

Tabel

Nilai Batas
Tabel per database 5.000
Panjang nama tabel 1 hingga 128 karakter
Kolom per tabel 1.024
Panjang nama kolom 1 hingga 128 karakter
Ukuran data per sel 10 MiB
Ukuran sel STRING 2.621.440 karakter Unicode
Jumlah kolom di kunci tabel

16

Termasuk kolom kunci yang dibagikan ke tabel induk

Kedalaman tabel yang memiliki sisipan

7

Tabel tingkat atas dengan tabel turunan memiliki kedalaman 1.

Tabel tingkat atas dengan tabel turunannya lagi memiliki kedalaman 2, dan seterusnya.

Total ukuran tabel atau kunci indeks

8 KB

Termasuk ukuran semua kolom yang membentuk kunci

Total ukuran kolom non-kunci

1600 MiB

Mencakup ukuran semua kolom non-kunci untuk tabel

Indeks

Nilai Batas
Indeks per database 10.000
Indeks per tabel 128
Panjang nama indeks 1 hingga 128 karakter
Jumlah kolom di kunci indeks

16

Jumlah kolom terindeks (kecuali untuk kolom STORING) ditambah jumlah kolom kunci utama di tabel dasar

Dilihat

Nilai Batas
Penayangan per database 5.000
Panjang nama tampilan 1 hingga 128 karakter
Kedalaman penyusunan

10

Tampilan yang merujuk ke tampilan lain memiliki kedalaman bertingkat 1. Tampilan yang merujuk ke tampilan lain yang merujuk ke tampilan lain lagi memiliki kedalaman bertingkat 2, dan seterusnya.

Grup lokalitas

Nilai Batas
Jumlah maksimum grup lokalitas per database 16 (1 grup lokalitas default dan 15 grup lokalitas tambahan opsional)
Jumlah waktu minimum yang diperlukan dalam opsi ssd_to_hdd_spill_timespan 1 jam
Jumlah waktu maksimum yang diizinkan dalam opsi ssd_to_hdd_spill_timespan 365 hari

Batas kueri

Nilai Batas
Kolom dalam klausul GROUP BY 1.000
Nilai dalam operator IN 10.000
Panggilan fungsi 1.000
Gabungan 20
Panggilan fungsi bertingkat 75
Klausul GROUP BY bertingkat 35
Ekspresi subkueri bertingkat 25
Pernyatan subselect bertingkat 60
Gabungan yang dihasilkan oleh kueri grafik 100
Parameter 950
Panjang pernyataan kueri 1 juta karakter
STRUCT kolom 1.000
Turunan ekspresi subkueri 50
Gabungan dalam kueri 200
Kedalaman traversal jalur yang dikuantifikasi grafik 100

Batas untuk membuat, membaca, memperbarui, dan menghapus data

Nilai Batas
Ukuran commit (termasuk indeks dan aliran perubahan) 100 MiB
Baca serentak per sesi 100
Mutasi per commit (termasuk indeks)2 80.000
Pernyataan DML Terpartisi serentak per database 20.000

Batas administratif

Nilai Batas
Ukuran permintaan tindakan administratif3 1 MiB
Batas frekuensi untuk tindakan administratif4

5 per detik per project per pengguna

(rata-rata di atas 100 detik)

Batas permintaan

Nilai Batas
Ukuran permintaan selain untuk commit5 10 MiB

Batas aliran perubahan

Nilai Batas
Aliran perubahan per database 10
Mengubah streaming yang menonton kolom non-kunci tertentu6 3
Pembaca serentak per partisi data aliran perubahan7 5

Batas Data Boost

Nilai Batas
Permintaan Data Boost serentak per project di us-central1 1000 8
Permintaan Data Boost serentak per project per region di region lain 400 8

Batas API pra-pemisahan

Nilai Batas
Poin pemisahan yang ditambahkan per permintaan API 100
Ukuran permintaan API titik pemisahan 1 MiB
Titik pemisahan ditambahkan per node untuk semua database dalam instance 50
Titik yang dibagi ditambahkan atau diperbarui per menit per node 10
Titik pemisahan ditambahkan atau diperbarui per hari per node 200

Catatan

1. Untuk menyediakan ketersediaan tinggi dan latensi rendah dalam mengakses database, Spanner menentukan batas penyimpanan berdasarkan kapasitas komputasi instance:

  • Untuk instance yang lebih kecil dari 1 node (1.000 unit pemrosesan), Spanner mengalokasikan 1.024,0 GiB data untuk setiap 100 unit pemrosesan dalam database.
  • Untuk instance 1 node dan yang lebih besar, Spanner mengalokasikan 10 TiB data untuk setiap node.

Misalnya, untuk membuat instance database 1.500 GiB, Anda harus menetapkan kapasitas komputasinya ke 200 unit pemrosesan. Kapasitas komputasi ini akan mempertahankan instance di bawah batas hingga database bertambah menjadi lebih dari 2048,0 GiB. Setelah database mencapai ukuran ini, Anda perlu menambahkan 100 unit pemrosesan lagi agar database dapat bertambah. Jika tidak, penulisan ke database dapat ditolak. Untuk mengetahui informasi selengkapnya, lihat Rekomendasi untuk pemanfaatan penyimpanan database.

Agar pengalaman pertumbuhan tidak terkendala, tambahkan kapasitas komputasi sebelum batas database Anda tercapai.

2. Operasi penyisipan dan pembaruan dihitung dengan kelipatan jumlah kolom yang terdampak operasi tersebut, dan kolom kunci utama selalu terpengaruh. Misalnya, memasukkan data baru dapat dihitung sebagai lima mutasi, jika nilai dimasukkan ke dalam lima kolom. Memperbarui tiga kolom dalam satu record juga dapat dihitung sebagai lima mutasi jika record memiliki dua kolom kunci utama. Operasi penghapusan dan penghapusan rentang dihitung sebagai satu mutasi, berapa pun jumlah kolom yang terdampak. Menghapus baris dari tabel induk yang memiliki anotasi ON DELETE CASCADE juga dihitung sebagai satu mutasi, berapa pun jumlah baris turunan yang disisipkan. Pengecualian untuk hal ini adalah jika ada indeks sekunder yang ditentukan pada baris yang dihapus, maka perubahan pada indeks sekunder akan dihitung satu per satu. Misalnya, jika tabel memiliki 2 indeks sekunder, menghapus rentang baris dalam tabel akan dihitung sebagai 1 mutasi untuk tabel, ditambah 2 mutasi untuk setiap baris yang dihapus karena baris dalam indeks sekunder mungkin tersebar di seluruh ruang kunci, sehingga Spanner tidak dapat memanggil satu operasi penghapusan rentang pada indeks sekunder. Indeks sekunder mencakup kunci asing indeks pendukung.

Untuk menemukan jumlah mutasi untuk transaksi, lihat Mengambil statistik commit untuk transaksi.

Aliran perubahan tidak menambahkan mutasi apa pun yang diperhitungkan dalam batas ini.

3. Batas untuk permintaan tindakan administratif tidak termasuk commit, permintaan yang tercantum di catatan 5, dan perubahan skema.

4. Batas frekuensi ini mencakup semua panggilan ke admin API, yang mencakup panggilan untuk melakukan polling operasi yang berjalan lama pada instance, database, atau cadangan.

5. Batas ini mencakup permintaan untuk membuat database, memperbarui database, membaca, melakukan streaming baca, mengeksekusi kueri SQL, dan mengeksekusi kueri SQL streaming.

6. Aliran perubahan yang memantau seluruh tabel atau database secara implisit memantau setiap kolom dalam tabel atau database tersebut, dan oleh karena itu dihitung dalam batas ini.

7. Batas ini berlaku untuk pembaca serentak dari partisi aliran perubahan yang sama, baik pembaca adalah pipeline Dataflow maupun kueri API langsung.

8. Batas default bervariasi menurut project dan wilayah. Untuk mengetahui informasi selengkapnya, lihat Memantau dan mengelola penggunaan kuota Data Boost.

9. Objek skema yang diperhitungkan mencakup semua jenis objek yang dijelaskan dalam DDL seperti tabel, kolom, indeks, urutan, dll. Batas objek skema diterapkan di tingkat instance dan bergantung pada unit pemrosesan yang tersedia untuk instance Anda.

  • Untuk instance satu node atau yang lebih besar, batas defaultnya adalah satu juta objek.
  • Untuk instance yang lebih kecil dari satu node (1.000 unit pemrosesan), batasnya berkurang secara proporsional dengan ukuran instance. Misalnya, batasnya adalah 100.000 objek skema untuk instance dengan 100 unit pemrosesan.

Untuk memeriksa jumlah objek skema untuk database Anda dan batas objek untuk instance Anda, cari metrik spanner.googleapis.com/instance/schema_objects dan spanner.googleapis.com/instance/schema_object_count di Metrics Explorer. Untuk mengetahui informasi selengkapnya tentang pemantauan, lihat Memantau instance dengan Cloud Monitoring.

Jika Anda mencapai batas, Spanner akan mencegah Anda melakukan operasi yang membuat Anda melampaui batas, seperti:

  • Mengubah skema database (misalnya, menambahkan indeks).
  • Membuat database baru di instance.
  • Memulihkan database dari cadangan ke instance yang sama. Dalam hal ini, Anda dapat memulihkan cadangan di instance lain dengan konfigurasi yang sama atau membuat instance baru dengan konfigurasi yang sama dan memulihkan cadangan di instance baru.