Aracılığıyla paylaş


Azure Cosmos DB tümleşik önbelleği hakkında sık sorulan sorular

UYGULANANLAR: NoSQL

Azure Cosmos DB tümleşik önbelleği, Azure Cosmos DB'de yerleşik olarak bulunan bir bellek içi önbellektir. Bu makalede Azure Cosmos DB tümleşik önbelleği hakkında sık sorulan sorular yanıtlanmaktadır.

Sık sorulan sorular

Tümleşik önbellek neden ayrılmış bir ağ geçidi gerektiriyor?

Ağ geçidi modunu kullanarak Azure Cosmos DB'ye bağlandıysanız standart ağ geçidini kullanmışsınızdır. Azure Cosmos DB arka ucu (sağlanan aktarım hızınız ve depolama alanınız) kapsayıcı başına ayrılmış kapasiteye sahip olsa da standart ağ geçidi birçok müşteri arasında paylaşılır. Her bir müşteri tarafından tüketilen işlem kaynakları çok az olduğundan, birçok müşterinin standart bir ağ geçidini paylaşması pratiktir. Tümleşik önbellek Azure Cosmos DB hesabınıza özgü olduğundan ve önemli cpu ve bellek gerektirdiğinden, ayrılmış ağ geçidi düğümleri gerektirir.

Ayrılmış ağ geçidi nedir?

Ayrılmış ağ geçidi, Azure Cosmos DB hesabındaki verilerin ön ucu olan sunucu tarafı işlemdir. Ağ geçidi modunu kullanarak ayrılmış ağ geçidi uç noktanıza bağlandığınızda, uygulamanız ayrılmış ağ geçidine bir istek gönderir ve ardından isteği farklı arka uç bölümlerine yönlendirir. Ayrılmış ağ geçidiyle doğrudan modun kullanılması desteklenir, ancak bu istekler tümleşik önbelleği kullanmaz.

Ayrılmış ağ geçidini kullanmak, standart ağ geçidini kullanmaya göre başka performans avantajları sunuyor mu?

Genel olarak, ayrılmış ağ geçidi tarafından yönlendirilen istekler standart ağ geçidi tarafından yönlendirilen isteklerden biraz daha düşük ve daha tutarlı bir gecikme süresine sahip olur. Tümleşik önbelleği kullanmayan istekler bile standart ağ geçidinden biraz daha düşük gecikme süresine sahip olur.

Tümleşik önbellekten ne tür bir gecikme beklemeliyim?

Tümleşik önbellek tarafından sunulan bir istek hızlıdır çünkü önbelleğe alınan veriler arka uç yerine ayrılmış ağ geçidinde bellek içinde depolanır.

Önbelleğe alınmış nokta okumaları için 2-4 ms ortanca gecikme süresi beklemelisiniz. Önbelleğe alınan sorgularda gecikme süresi sorguya bağlıdır. Sorgu önbelleği, belirli bir sorgu için sorgu altyapısının yanıtını önbelleğe alarak çalışır. Bu yanıt daha sonra işlenmek üzere SDK'ya istemci tarafı geri gönderilir. Basit sorgular için SDK'da en az iş gereklidir ve 2-4 ms ortanca gecikme süreleri tipiktir. SDK'da daha fazla işleme içeren GROUP BY veya DISTINCT gerektiren daha karmaşık sorgular, bu nedenle sorgu önbelleğinde bile gecikme süresi daha yüksek olabilir.

Daha önce doğrudan modla Azure Cosmos DB'ye bağlanıyor ve ayrılmış ağ geçidine bağlanıyorsanız bazı isteklerde küçük bir gecikme süresi artışı gözlemleyebilirsiniz. Ağ geçidi modunu kullanmak için ağ geçidine bir istek gönderilmesi (bu durumda ayrılmış ağ geçidi) ve ardından arka uç için uygun şekilde yönlendirilmesi gerekir. Adından da anlaşılacağı gibi doğrudan mod, istemcinin arka uçla doğrudan iletişim kurmasını sağlar ve ek atlama kaldırır. Ayrılmış ağ geçidini kullanan istekler için gecikme süresi SLA'sı yoktur.

Uygulamanız daha önce doğrudan modu kullandıysa, tümleşik önbelleğin gecikme süresi avantajları yalnızca aşağıdaki senaryolarda önemli olacaktır:

  • Büyük öğeler için nokta okuma gecikmesi (> 16 KB)
  • Yüksek RU veya karmaşık sorgular

Uygulamanız daha önce standart ağ geçidiyle ağ geçidi modunu kullandıysa, tümleşik önbellek neredeyse tüm senaryolarda gecikme süresinde azalmalar sunar.

Azure Cosmos DB kullanılabilirlik SLA'sı ayrılmış ağ geçidine ve tümleşik önbelleğe genişletir mi?

Yüksek kullanılabilirlik gerektiren senaryolar ve Azure Cosmos DB kullanılabilirlik SLA'sının kapsamına alınması için en az 3 ayrılmış ağ geçidi düğümü sağlamalısınız. Örneğin, üretimde bir ayrılmış ağ geçidi düğümü gerekiyorsa olası kapalı kalma süresini, kesintileri ve yükseltmeleri hesaba katmak için iki ek ayrılmış ağ geçidi düğümü sağlamalısınız. Yalnızca bir ayrılmış ağ geçidi düğümü sağlanırsa, bu senaryolarda kullanılabilirliği geçici olarak kaybedersiniz. Ayrıca, ayrılmış ağ geçidinizin iş yükünüz için yeterli düğüme sahip olduğundan emin olun.

Tümleşik önbellek şu anda yalnızca NoSQL için API için kullanılabilir. Diğer API'ler için de yayımlamayı planlıyor musunuz?

Tümleşik önbelleğin NoSQL için API'nin ötesine genişletilmesi uzun vadeli yol haritasında planlanır ancak tümleşik önbelleğin ilk kapsamının dışındadır.

Tümleşik önbellek hangi tutarlılığı destekler?

Tümleşik önbellek hem oturum hem de nihai tutarlılığı destekler. Önbelleğe alınan verilere üst sınır yerleştiren isteğe bağlı MaxIntegratedCacheStaleness'i de yapılandırabilirsiniz.

Sonraki adımlar

  • Tümleşik önbellek
  • Tümleşik önbelleği yapılandırma
  • Ayrılmış ağ geçidi
  • Azure Cosmos DB'ye geçiş için kapasite planlaması yapmaya mı çalışıyorsunuz? Kapasite planlaması için mevcut veritabanı kümeniz hakkındaki bilgileri kullanabilirsiniz.
    • Tek bildiğiniz mevcut veritabanı kümenizdeki sanal çekirdek ve sunucu sayısıysa, sanal çekirdekleri veya vCPU'ları kullanarak istek birimlerini tahmin etme hakkında bilgi edinin
    • Geçerli veritabanı iş yükünüz için tipik istek oranlarını biliyorsanız Azure Cosmos DB kapasite planlayıcısı kullanarak istek birimlerini tahmin etme hakkında bilgi edinin