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.
- İsteğe bağlı etkileşimli sorgular için eşzamanlı hız sınırı: 50 eşzamanlı sorgu
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.
- 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)
- 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
?minimalparametresini 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ü,
bqkomut satırı aracı ya da
datasets.insert,
datasets.patchveya
datasets.updateAPI 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, iş çı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
- 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.
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.
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 MODELifadesini kullanan sorgu sayısı: 1000 sorgu
- Proje başına günlük 1.000
CREATE MODELsorgusuyla sınırlandırılırsınız.
- Proje başına günlük 1.000
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ı
invalidhatalarına yol açar.
- HTTP istek boyutu sınırı: 10 MB. Bu değerin aşılması
invalidhataları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ı
quotaExceededhataları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ı
quotaExceededhataları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.listsorgusu sayısı: 500/saniye
tabledata.listçağırırken proje başına saniyede 500'e kadar istek gönderebilirsiniz.
- Proje başına maksimum
- 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
- 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.
- Proje başına
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.insertyöntemini çağırırken proje başına saniyede maksimum 10 istek oluşturabilirsiniz. Bu sınır,
CREATE TABLEDDL 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.getyö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.