Orders DynamoDB tablosu, bölüm anahtarı olarak OrderID'yi (sıralama anahtarı yok) kullanır ve 100.000'den fazla öğe içerir. OrderSource özniteliği 'MobileApp' değerine eşit olan tüm siparişleri verimli bir şekilde almanız gerekiyor. Kullanıcı deneyimini iyileştirmek için en verimli tasarım nedir?
Bir cevap seçin
Cevabınızı kontrol etmek için bir seçeneğe dokunun.
Doğru cevap: OrderSource'u bölüm anahtarı olarak kullanan bir global secondary index (GSI) oluşturun, ardından anahtar olarak MobileApp ile GSI'ı Query edin..
Neden bu cevap
Doğru cevap, OrderSource'u bölüm anahtarı olarak kullanan bir Global Secondary Index (GSI) oluşturmak ve ardından bu GSI'ı 'MobileApp' anahtarıyla sorgulamaktır. Bir GSI, ana tablodan farklı bir bölüm ve/veya sıralama anahtarı tanımlamanıza olanak tanır, bu da ana tabloda verimli bir şekilde sorgulanamayan özniteliklere dayalı sorgular için idealdir. OrderSource'u bölüm anahtarı olarak kullanmak, tüm 'MobileApp' siparişlerini doğrudan ve verimli bir şekilde almanızı sağlar. Diğer seçenekler neden yanlış: Scan işlemi, tüm tabloyu taradığı için büyük tablolar için verimsizdir ve maliyetlidir. QueryFilter, Scan'den sonra sonuçları filtreler, bu da Scan'in verimsizliğini değiştirmez. Local Secondary Index (LSI) sadece ana tablonun bölüm anahtarını paylaşabilir. OrderID bölüm anahtarı olduğu için OrderSource'u LSI'ın bölüm anahtarı olarak kullanamazsınız. OrderSource'u sıralama anahtarı olarak kullanan bir GSI oluşturmak, OrderSource değerlerini bölüm anahtarıyla birlikte sorgulamak için bir bölüm anahtarına ihtiyaç duyar. Sadece OrderSource'a göre sorgulama yapmak için OrderSource'un bölüm anahtarı olması gerekir.
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