Kotalar ve sınırlar

BigQuery, maksimum gelen istek hızını sınırlandırır ve proje bazında uygun kotalar uygular. Belirli politikalar; kaynak kullanılabilirliğine, kullanıcı profiline, hizmet kullanım geçmişine ve diğer faktörlere bağlı olarak değişir ve önceden bildirimde bulunulmaksızın değiştirilebilir.

Aşağıdaki listelerde sistemin geçerli hız ve kota sınırları özetlenmiştir.

Sorgu işleri

Hem etkileşimli sorgular çalıştırma yoluyla otomatik olarak oluşturulan sorgu işlerinde, hem de jobs.query ve sorgu türündeki jobs.insert yöntem çağrısı kullanılarak programatik şekilde gönderilen işlerde aşağıdaki sınırlar uygulanır.

Sorgu önbelleğinden sonuç döndürülen sorgular ve prova sorguları bu sınıra dahil edilmez. --dry_run işaretini kullanarak veya bir sorgu işinde dryRun özelliğini ayarlayarak prova sorgusu belirtebilirsiniz.

Bu sınır, proje düzeyinde uygulanır. Sınırı artırmak için destek ekibiyle veya satış ekibiyle iletişime geçin.

  • Cloud Bigtable harici veri kaynaklarında isteğe bağlı etkileşimli sorgular için eşzamanlı hız sınırı: 4 eşzamanlı sorgu

Bir Cloud Bigtable harici veri kaynağı için 4 eşzamanlı sorguyla sınırlandırılırsınız.

  • Kullanıcı tanımlı işlevler (UDF) içeren eski SQL sorguları için eşzamanlı hız sınırı: 6 eşzamanlı sorgu

Kullanıcı tanımlı işlevler (UDF) içeren eski SQL sorguları için eşzamanlı hız sınırı, hem etkileşimli hem de toplu sorguları içerir. UDF içeren etkileşimli sorgular, etkileşimli sorgular için eşzamanlı hız sınırına da dahil edilir. Bu sınır, standart SQL sorguları için geçerli değildir.

  • Günlük sorgu boyutu sınırı: Varsayılan olarak sınırsız

Özel kotalar ayarlayarak kullanıcıların sorgulayabileceği veri miktarı için sınırlar belirleyebilirsiniz.

  • Günlük hedef tablo güncelleme sınırı: Tablo başına günde 1.000 güncelleme

Bir sorgu işindeki hedef tablolar, tablo başına günlük 1000 güncellemeyle sınırlandırılır. Hedef tablo güncellemeleri; bir sorgu tarafından konsol, klasik BigQuery web kullanıcı arayüzü ya da bq komut satırı aracı kullanılarak veya jobs.query ve sorgu türündeki jobs.insert API yöntemi çağrılarak gerçekleştirilen ekleme ve üzerine yazma işlemlerini içerir.

  • Sorgu yürütme zaman sınırı: 6 saat

  • Sorgu başına başvurulan maksimum tablo sayısı: 1.000

  • Çözülmemiş eski SQL sorgusu için maksimum uzunluk: 256 KB

  • Çözülmemiş standart SQL sorgusu için maksimum uzunluk: 1 MB

  • Çözülmüş eski SQL sorgusu için maksimum uzunluk: 12 MB

Çözülmüş sorgu uzunluğu sınırı, sorgu tarafından başvurulan tüm görünümlerin ve joker karakter tablolarının uzunluğunu içerir.

  • Maksimum yanıt boyutu: Sıkıştırılmış 128 MB1

1Boyutlar, veriler için sıkıştırma oranına bağlı olarak değişir. Gerçek yanıt boyutu, 128 MB'tan biraz daha büyük olabilir.

Bir hedef tabloya büyük sorgu sonuçları yazılırken maksimum yanıt boyutu sınırsızdır.

  • Maksimum satır boyutu: 100 MB2

2Sınır, ham verilerin dahili gösterimine dayandığından maksimum satır boyutu yaklaşık bir değerdir. Maksimum satır boyutu sınırı, sorgu işi yürütmenin belirli aşamalarında uygulanır.

  • Bir tablo, sorgu sonucu veya görünüm açıklamasında maksimum sütun sayısı: 10.000

  • İsteğe bağlı fiyatlandırma için proje başına maksimum eşzamanlı slot sayısı: 2.000

İsteğe bağlı sorgular için varsayılan slot sayısı, bir proje içindeki tüm sorgular genelinde paylaşılır. Kural olarak, bir seferde 100 GB'tan az sorgu işliyorsanız 2.000 slotun tamamını kullanmanız olası değildir.

Kaç slot kullandığınızı kontrol etmek için Stackdriver ile BigQuery'yi izleme bölümüne bakın. 2000'den fazla slota ihtiyacınız varsa sabit ücret fiyatlandırmasının ihtiyaçlarınızı karşılayıp karşılamadığı konusunda görüşmek için satış temsilcinizle iletişime geçin.

  • Bir Cloud Bigtable harici veri kaynağı için maksimum eşzamanlı sorgu sayısı: 4

SQL sorgularındaki kullanıcı tanımlı işlevlerde geçerli olan sınırlara dair bilgi edinmek için UDF sınırları bölümüne bakın.

Yükleme işleri

Komut satırı aracı, konsol veya klasik BigQuery web kullanıcı arayüzü aracılığıyla veri yükleyerek otomatik olarak oluşturulan işlere aşağıdaki sınırlar uygulanır. Sınırlar, yük türündeki jobs.insert API yöntemi kullanılarak programatik şekilde gönderilen yükleme işleri için de geçerlidir.

BigQuery'ye veri yüklediğinizde aşağıdaki sınırlar uygulanır.

  • Tablo başına günlük yükleme işi sayısı: 1.000 (hatalar dahil)
  • Proje başına günlük yükleme işi sayısı: 100.000 (hatalar dahil)
  • Tablo başına günlük 1.000 yükleme işi sınırı yükseltilemez.
  • Satır ve hücre boyutu sınırları:
    Veri biçimi Maksimum sınır
    CSV 100 MB (satır ve hücre boyutu)
    JSON 100 MB (satır boyutu)
  • Tablo başına maksimum sütun sayısı: 10.000
  • Maksimum Dosya Boyutları:
    Dosya Türü Sıkıştırılmış Sıkıştırılmamış
    CSV 4 GB 5 TB
    JSON 4 GB 5 TB
    Avro Sıkıştırılmış Avro dosyaları desteklenmese de sıkıştırılmış veri blokları desteklenir. BigQuery, DEFLATE ve Snappy codec'lerini destekler. 5 TB (dosya başlığı için 1 MB)
  • Yükleme işi başına maksimum boyut: CSV, JSON, Avro, Parquet ve ORC için tüm giriş dosyaları genelinde 15 TB
  • İş yapılandırmasında maksimum kaynak URI sayısı: 10.000 URI
  • Yükleme işi başına maksimum dosya sayısı: Tüm joker karakterli URI'lerle eşleşen tüm dosyalar dahil toplam 10 milyon dosya
  • Yükleme işi yürütme süresi sınırı: 6 saat
  • ABD merkezli veri kümeleri hariç, bir Cloud Storage paketinden, veri kümesinin konumuyla aynı bölgede (bu paket, çok bölgeli bir paket veya veri kümesiyle aynı bölgede bulunan bölgesel bir paket olabilir) veri yüklemeniz gerekir. ABD merkezli bir veri kümesine her bölgeden veri yükleyebilirsiniz.

Daha fazla bilgi için BigQuery'ye veri yüklemeye giriş bölümüne bakın.

Kopyalama işleri

BigQuery'de tablo kopyalama işlemi için aşağıdaki sınırlar uygulanır. Komut satırı aracı, konsol veya klasik BigQuery kullanıcı web arayüzü aracılığıyla veri kopyalayarak otomatik olarak oluşturulan işlerde bu sınırlar uygulanır. Sınırlar, kopyalama türündeki jobs.insert API yöntemi kullanılarak programatik şekilde gönderilen kopyalama işleri için de geçerlidir.

  • Hedef tablo başına günlük kopyalama işi sayısı: 1.000 (hatalar dahil)
  • Proje başına günlük kopyalama işi sayısı: 100.000 (hatalar dahil)

Dışa aktarma işleri

BigQuery'den dışa veri aktaran işler için aşağıdaki sınırlar uygulanır. Komut satırı aracı, konsol veya klasik BigQuery kullanıcı web arayüzü aracılığıyla verileri dışa aktararak otomatik olarak oluşturulan işlerde aşağıdaki sınırlar uygulanır. Sınırlar, yükleme türündeki jobs.insert API yöntemi kullanılarak programatik şekilde gönderilen dışa aktarma işleri için de geçerlidir.

  • Günlük dışa aktarma: Proje başına 100.000 dışa aktarma ve günlük maksimum 10 TB (10 TB veri limiti, tüm dışa aktarmalar genelinde kümülatiftir)
  • Joker karakterli URI'ler: Dışa aktarma başına 500 joker karakterli URI

Veri kümesi sınırları

Veri kümeleri için aşağıdaki sınırlar uygulanır:

  • Proje başına veri kümesi sayısı: Sınırsız
    Proje başına veri kümesi sayısı herhangi bir kotaya tabi değildir. Ancak bir projede binlerce veri kümesine yaklaştığınızda klasik kullanıcı arayüzü performansı düşmeye başlar ve veri kümelerinin listelenmesi yavaşlar.
  • Tablo başına veri kümesi sayısı: Sınırsız
    Bir veri kümesinde 50.000 veya daha fazla veri kümesi olduğunda bunların sıralanması yavaşlar. API çağrısı veya klasik BigQuery arayüzünü kullandığınızda sıralama performansı düşer. Şu an GCP konsolundaki BigQuery web arayüzü veri kümesi başına yalnızca 50.000 tablo görüntülemenize izin vermektedir. Klasik BigQuery web arayüzü performansını iyileştirmek için ?minimal parametresini kullanarak proje başına görüntülenen tablo sayısını 30.000 ile sınırlandırabilirsiniz. Parametreyi klasik BigQuery web arayüzü URL'sine şu biçimde ekleyin: https://bigquery.cloud.google.com/queries/[PROJECT_NAME]?minimal.
  • Bir veri kümesinin erişim kontrol listesindeki maksimum yetkilendirilmiş görünüm sayısı: 2.500
    Kaynak verilerinize erişimi kısıtlamak için yetkilendirilmiş görünüm oluşturabilirsiniz. Yetkilendirilmiş bir görünüm, kullanıcıların görünümü sorguladıklarında görmelerini istemediğiniz sütunları hariç tutan bir SQL sorgusu kullanılarak oluşturulur. Bir veri kümesinin erişim kontrol listesine 2.500'e kadar yetkilendirilmiş görünüm ekleyebilirsiniz.
  • Veri kümesi meta veri güncelleme işlemlerinin maksimum hızı: Veri kümesi başına her 10 saniyede 5 işlem
    Veri kümesi meta veri güncelleme sınırı; konsol, klasik BigQuery web kullanıcı arayüzü, bq komut satırı aracı ya da datasets.insert, datasets.patch veya datasets.update API yöntemlerinden birini çağırarak yürütülen tüm meta veri güncelleme işlemleri için geçerlidir.
  • Bir veri kümesi açıklamasının maksimum uzunluğu: 16.384 karakter
    Bir veri kümesine açıklama eklediğinizde metin en fazla 16.384 karakter uzunluğunda olabilir.

Tablo sınırları

BigQuery tabloları için aşağıdaki sınırlar uygulanır.

Tüm tablolar

  • Bir sütun açıklamasının maksimum uzunluğu: 16.384 karakter

Bir sütuna açıklama eklediğinizde metin en fazla 16.384 karakter uzunluğunda olabilir.

Standart tablolar

  • Günlük maksimum tablo işlemi sayısı: 1.000

İşlemin bir tabloya veri eklemesi, tablonun üzerine yazması veya tabloya veri yazmak için bir DML INSERT ifadesi kullanması durumlarından bağımsız olarak, tablo başına günlük 1.000 işlemle sınırlandırılırsınız.

Maksimum tablo işlemi sayısı; bir hedef tabloda ekleme veya üzerine yazma işlemi yapan ya da bir tabloya veri yazmak için DML INSERT ifadesi kullanan yükleme işleri, kopyalama işleri ve sorgu işlerinin toplamını içerir.

Örneğin, mytable tablosuna veri ekleyen 500 kopyalama işi ve mytable tablosuna veri ekleyen 500 sorgu işi yürütürseniz kotaya ulaşırsınız.

  • Tablo meta veri güncelleme işlemlerinin maksimum hızı: tablo başına her 10 saniyede 5 işlem

Tablo meta veri güncelleme sınırı; konsol, klasik BigQuery web kullanıcı arayüzü, bq komut satırı aracı veya tables.insert, tables.patch ya da tables.update API yöntemlerinden biri çağrılarak yürütülen tüm meta veri güncelleme işlemleri için geçerlidir. Bu sınır, çıkışı için de geçerlidir.

  • Bir tablo, sorgu sonucu veya görünüm açıklamasında maksimum sütun sayısı: 10.000

Bölümlendirilmiş tablolar

  • Bölümlendirilmiş tablo başına maksimum bölüm sayısı: 4.000

  • Tek bir iş tarafından değiştirilen maksimum bölüm sayısı: 2.000

Her iş (sorgu veya yükleme) maksimum 2.000 bölümü etkileyebilir. 2.000 bölümden fazlasını etkileyen bir sorgu veya yükleme işi, Google BigQuery tarafından reddedilir.

  • Tablo başına günlük maksimum bölüm değişikliği sayısı: 5.000

Bölümlendirilmiş bir tablo için günlük toplam 5.000 bölüm değişikliğiyle sınırlandırılırsınız. Bir bölümlendirme, bölümlendirmedeki verilere ekleme yapan veya verilerin üzerine yazan bir işlem kullanılarak değiştirilebilir. Bölümlendirmeleri değiştiren işlemler arasında şunlar bulunur: yükleme işi, sonuçları bir bölümlendirmeye yazan bir sorgu veya bölümlendirmedeki verileri değiştiren bir DML ifadesi (INSERT, DELETE, UPDATE ya da MERGE).

Tek bir iş, birden fazla bölümlendirmeyi etkileyebilir. Örneğin bir DML ifadesi, birden fazla bölümlendirmede yer alan verileri güncelleyebilir (kullanım-zaman tabloları ve bölümlendirilmiş tablolar için). Sorgu işleri ve yükleme işleri de birden fazla bölümlendirme üzerine yazabilir ancak bu yalnızca bölümlendirilmiş tablolar için geçerlidir. BigQuery, bir işin ne kadar kota tükettiğini belirlerken işin etkilediği bölümlendirme sayısını kullanır. Akış ekleme işlemleri bu kotayı etkilemez.

  • Bölümlendirme işlerinin maksimum hızı: her 10 saniyede 50 bölümlendirme işlemi

Sınırları görüntüleme

  • Maksimum iç içe görünüm seviyesi sayısı: 16

BigQuery, 16 seviyeye kadar iç içe görünümleri destekler. 16'dan fazla seviye varsa INVALID_INPUT hatası döndürülür.

  • Bir görünümü tanımlamak için kullanılan standart SQL sorgusunun maksimum uzunluğu: 256.000 karakter

Görünüm oluşturduğunuzda standart SQL sorgusunun metni en fazla 256.000 karakter olabilir.

  • Bir veri kümesinin erişim kontrol listesindeki maksimum yetkilendirilmiş görünüm sayısı: 2.500

Kaynak verilerinize erişimi kısıtlamak için yetkilendirilmiş görünüm oluşturabilirsiniz. Yetkilendirilmiş görünümler, kullanıcıların görünümü sorguladıklarında görmelerini istemediğiniz sütunları hariç tutan bir SQL sorgusu kullanılarak oluşturulur. Bir veri kümesinin erişim kontrol listesine 2.500'e kadar yetkilendirilmiş görünüm ekleyebilirsiniz.

UDF sınırları

SQL sorgularında kullanıcı tanımlı işlevler için aşağıdaki sınırlar uygulanır.

  • JavaScript UDF'nizin tek bir satırı işlerken çıkardığı veri miktarı: Yaklaşık 5 MB veya daha az.
  • Kullanıcı tanımlı işlevler (UDF) içeren eski SQL sorguları için eşzamanlı hız sınırı: 6 eşzamanlı sorgu
  • Kullanıcı tanımlı işlevler (UDF) içeren eski SQL sorguları için eşzamanlı hız sınırı, hem etkileşimli hem de toplu sorguları içerir. UDF içeren etkileşimli sorgular, etkileşimli sorgular için eşzamanlı hız sınırına da dahil edilir. Bu sınır, standart SQL sorguları için geçerli değildir.

  • Bir sorgu işinde maksimum 50 JavaScript UDF kaynağı (satır içi kod blobu veya harici dosyalar) bulunabilir.
  • Her bir satır içi kod blobu maksimum 32 KB boyutuyla sınırlıdır.
  • Her bir harici kod kaynağı, maksimum 1 MB boyutuyla sınırlıdır.

Veri Manipülasyon Dili ifadeleri

Veri Manipülasyon Dili (DML) ifadeleri için aşağıdaki sınırlar uygulanır.

  • Tablo başına INSERT, UPDATE, DELETE ve MERGE ifadelerinin günlük maksimum toplam sayısı: 1.000

Bir MERGE ifadesi birden fazla INSERT, UPDATE veya DELETE ibaresi içerse de tek bir DML ifadesi olarak kabul edilir.

BigQuery ML sınırları

BigQuery ML ifadelerini ve işlevlerini kullanan standart SQL sorgu işleri için aşağıdaki sınırlar uygulanır.

  • CREATE MODEL ifadesini kullanan sorgu sayısı: 1000 sorgu
    • Proje başına günlük 1.000 CREATE MODEL sorgusuyla sınırlandırılırsınız.

Akış ekleme

BigQuery'ye veri akışı için aşağıdaki sınırlar uygulanır.

  • Maksimum satır boyutu: 1 MB. Bu değerin aşılması invalid hatalarına yol açar.
  • HTTP istek boyutu sınırı: 10 MB. Bu değerin aşılması invalid hatalarına yol açar.
  • Saniye başına maksimum satır sayısı: Proje başına saniyede 100.000 satır. Bu değerin aşılması quotaExceeded hatalarına yol açar. Tablo başına saniyede maksimum satır sayısı da 100.000'dir.
    Bu kotanın tamamını bir tabloda kullanabilir veya bu kotayı bir projedeki birkaç tabloya dağıtabilirsiniz.
  • İstek başına maksimum satır sayısı: İstek başına 10.000 satır. Maksimum 500 satır önerilir. Toplu işlem, performans ve işleme hızını bir noktaya kadar artırabilir ancak istek başına gecikmeler yaşanır. İstek başına çok az sayıda satır olması ve her bir isteğin ek yükü, veri kullanımını verimsiz hale getirebilir. İstek başına çok fazla satır olması halindeyse işleme hızı düşebilir.

    İstek başına 500 satır kullanımını öneririz ancak temsil edici verilerle (şema ve veri boyutlarıyla) deneyler yapmak, ideal toplu işlem boyutunu belirlemenize yardımcı olacaktır.
  • Saniye başına maksimum bayt: Tablo başına saniyede 100 MB. Bu değerin aşılması quotaExceeded hatalarına yol açar.

Projeniz için daha fazla veri akışına ihtiyaç duyuyorsanız Google Cloud Platform Console sayfasından istek gönderebilirsiniz. Akış verilerinde 50.000 satırlık artışlarla özel kota ayarlayabilirsiniz. İsteğinize genellikle 2-3 iş günü içinde yanıt alırsınız.

API istekleri

Tüm API istekleri

Tüm BigQuery API istekleri için aşağıdaki sınırlar uygulanır:

  • Kullanıcı başına saniyede API isteği sayısı: 100
    Saniyede 100'den fazla istek gönderirseniz zorlanma görülebilir. Bu sınır, akış ekleme için geçerli değildir.
  • Kullanıcı başına eşzamanlı API isteği sayısı: 300
    Kullanıcı başına 300'den fazla eşzamanlı istek gönderirseniz zorlanma görülebilir. Bu sınır, akış ekleme için geçerli değildir.

tabledata.list istekleri

tabledata.list yöntemi, belirli bir satır kümesinden tablo verileri alır. tabledata.list istekleri için aşağıdaki sınırlar uygulanır:

  • Proje başına maksimum tabledata.list sorgusu sayısı: 500/saniye
    tabledata.list çağırırken proje başına saniyede 500'e kadar istek gönderebilirsiniz.
  • Proje başına tabledata.list çağrılarının döndürdüğü maksimum bayt/saniye: 60 MB/saniye
    tabledata.list çağırırken proje başına saniyede maksimum 60 MB tablo satır verisi döndürebilirsiniz. Bu sınır, okunan tabloyu içeren proje için geçerlidir.
  • Proje başına tabledata.list çağrılarının döndürdüğü maksimum satır/saniye: 150.000/saniye
    tabledata.list çağırırken proje başına saniyede maksimum 150.000 tablo satırı döndürebilirsiniz. Bu sınır, okunan tabloyu içeren proje için geçerlidir.

tables.insert istekleri

tables.insert yöntemi, bir veri kümesinde yeni ve boş bir tablo oluşturur. tables.insert istekleri için aşağıdaki sınırlar uygulanır:

  • Proje başına saniyede maksimum istek sayısı: 10 tables.insert yöntemini çağırırken proje başına saniyede maksimum 10 istek oluşturabilirsiniz. Bu sınır, CREATE TABLE DDL ifadesi gibi tablo oluşturan ifadeler ve hedef tablolara sonuç yazan sorgular için geçerlidir.

projects.list istekleri

projects.list yöntemi, erişim izni aldığınız tüm projeleri listeler. projects.list istekleri için aşağıdaki sınırlar uygulanır:

  • Proje başına saniyede maksimum istek sayısı: 2 projects.list çağırırken proje başına saniyede maksimum 2 istek oluşturabilirsiniz.

jobs.get istekleri

jobs.get yöntemi, belirli bir iş hakkındaki bilgileri döndürür. jobs.get istekleri için aşağıdaki sınırlar uygulanır:

  • Proje başına saniyede maksimum istek sayısı: 1000 jobs.get yöntemini çağırırken proje başına saniyede maksimum 1000 istek oluşturabilirsiniz.

Kotalar ne zaman yenilenir?

Günlük kotalar, hız sınırlama davranışlarına yön verme niyetine göre gün boyunca belirli aralıklarla yenilenir. Sürekli yenileme ayrıca kota bittiğinde uzun süreli kesintileri önlemek için de yapılır. Günde bir kere genel olarak yenilemenin yerine, genellikle dakikalar içinde daha fazla kota kullanıma sunulur.

Hata kodları

Kota ve sınır hataları, 403 veya 400 HTTP yanıt kodu döndürür. Hata kodları ve sorun giderme adımlarının tam listesi için hata giderme bölümüne bakın.

Bu sayfayı yararlı buldunuz mu? Lütfen görüşünüzü bildirin:

Şunun hakkında geri bildirim gönderin...

Yardım mı gerekiyor? Destek sayfamızı ziyaret edin.