10 PB boyutunda bir BigQuery orders tablosu country_name ve username (her ikisi de string) ile filtreleniyor; filtreler uygulandığında dashboard sorguları yavaş çalışıyor. Daha hızlı erişim için tabloyu nasıl yeniden tasarlamalısınız?
Bir cevap seçin
Cevabınızı kontrol etmek için bir seçeneğe dokunun.
Doğru cevap: Tabloyu country_name ve username'e göre kümeleyin (cluster)..
Neden bu cevap
Doğru cevap, tabloyu countryname ve username'e göre kümelemektir. BigQuery'de kümeleme (clustering), belirtilen sütunlardaki verileri fiziksel olarak bir araya getirerek filtreleme ve sıralama işlemlerini hızlandırır. Bu senaryoda, sorgular her iki sütunu da filtrelediği için, bu sütunlara göre kümeleme, BigQuery'nin taranan veri miktarını azaltmasına ve sorgu performansını önemli ölçüde artırmasına olanak tanır. Diğer seçenekler neden uygun değil: Tabloyu countryname'e göre kümeleyip username'e göre bölümlemek: Bölümleme (partitioning) genellikle daha büyük veri aralıkları için kullanılır ve username gibi yüksek kardinaliteli bir sütunda bölümleme, çok sayıda küçük bölüm oluşturarak sorgu performansını düşürebilir ve yönetim yükünü artırabilir. Tabloyu countryname ve username'e göre bölümlemek: Aynı nedenlerle, yüksek kardinaliteli sütunlarda bölümleme genellikle önerilmez. Ayrıca, BigQuery'de bir tabloda en fazla dört bölümleme anahtarı olabilir ve bu anahtarlar genellikle tarih veya tamsayı tabanlıdır. Tabloyu ingestion time (PARTITIONTIME) ile bölümlemek: Bu, zaman serisi verileri için faydalıdır ancak mevcut problem, belirli ülke ve kullanıcı adlarına göre filtreleme performansını artırmakla ilgilidir, veri alım zamanına göre değil.
Sonsuz cevap arayışı olmadan sınavınızı geçin
Bu sınav için her doğrulanmış soruyu ve açıklamayı tek bir yerde edinin ve saatlerce süren hazırlıktan tasarruf edin. 1.000'den fazla sertifika · 20'den fazla dil · ücretsiz başlayın.
Sınavınızı daha hızlı geçin → Kart gerekmez