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ğladığınız aktarım hızı ve depolama alanı) 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ı minimum düzeyde 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 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 sorgular için 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ına geri gönderilir. Basit sorgular için SDK'da minimum çalışma gerekir ve 2-4 ms ortanca gecikme süreleri tipiktir. SDK ile GROUP BY daha karmaşık sorgular veya DISTINCT SDK'da daha fazla işleme gerektiren 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?

NoSQL için tümleşik önbelleğ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