Azure Cosmos DB'de İstek birimleri
ŞUNUN IÇIN GEÇERLIDIR: SQL API Cassandra API Gremlin API Tablo API'si MongoDB için Azure Cosmos DB API'si
Azure Cosmos DB; SQL, MongoDB, Cassandra, Gremlin ve Table gibi birçok API'yi destekler. Her API'nin kendi veritabanı işlemleri kümesi vardır. Bu işlemler basit nokta okuma ve yazma işlemlerinden karmaşık sorgulara kadar değişir. Her veritabanı işlemi, işlemin karmaşıklığı temelinde sistem kaynaklarını kullanır.
Tüm veritabanı işlemlerinin maliyeti Azure Cosmos DB tarafından normalleştirilir ve İstek Birimi (veya kısa RU) ile ifade edilir. İstek birimi, Azure Cosmos DB tarafından desteklenen veritabanı işlemlerini gerçekleştirmek için gereken CPU, IOPS ve bellek gibi sistem kaynaklarını soyutlayan bir performans para birimidir.
1 KB'lık bir öğe için bir nokta okuma (kimliğine ve bölüm anahtarı değerine göre tek bir öğeyi getirme) gerçekleştirme maliyeti 1 İstek Birimi 'dir (veya 1 RU). Diğer tüm veritabanı işlemlerine RU'lar kullanılarak benzer şekilde maliyet atanır. Azure Cosmos kapsayıcınızla etkileşim kurmak için hangi API'yi kullanırsanız kullanın maliyetler her zaman RU cinsinden ölçülür. Veritabanı işleminin yazma, nokta okuma veya sorgu olmasına bakılmaksızın maliyetler her zaman RU cinsinden ölçülür.
Aşağıdaki resimde üst düzey RU yaklaşımı gösterilir:
Kapasiteyi yönetmek ve planlamak için, Azure Cosmos DB belirli bir veri kümesi üzerinde belirli bir veritabanı işleminde RU sayısının belirleyici olmasını sağlar. Herhangi bir veritabanı işleminde tüketilen RU sayısını izlemek için yanıt üst bilgisini inceleyebilirsiniz. RU ücretlerini ve uygulamanızın aktarım hızı gereksinimlerini etkileyen faktörleri anladığınızda, uygulamanızın maliyetini etkili bir şekilde çalıştırabilirsiniz.
Kullandığınız Azure Cosmos hesabının türü, tüketilen RU'ların nasıl ücretlendirileceğini belirler. Hesap oluşturabileceğiniz üç mod vardır:
Sağlanan aktarım hızı modu: Bu modda, uygulamanız için RU sayısını saniye başına 100 RU'lık artışlarla saniye başına sağlarsınız. Uygulamanız için sağlanan aktarım hızını ölçeklendirmek için RU sayısını istediğiniz zaman 100 RU'luk artışlar veya düşüşlerle artırabilir veya azaltabilirsiniz. Değişikliklerinizi program aracılığıyla veya Azure portalını kullanarak yapabilirsiniz. Sağladığınız saniye başına RU sayısı için saatlik olarak faturalandırılırsınız. Daha fazla bilgi edinmek için Sağlanan aktarım hızı makalesine bakın.
Aktarım hızını iki ayrı ayrıntı düzeyinde sağlayabilirsiniz:
- Kapsayıcılar: Daha fazla bilgi için bkz . Azure Cosmos kapsayıcısı üzerinde aktarım hızı sağlama.
- Veritabanları: Daha fazla bilgi için bkz . Azure Cosmos veritabanında aktarım hızı sağlama.
Sunucusuz mod: Bu modda, Azure Cosmos hesabınızda kaynak oluştururken herhangi bir aktarım hızı sağlamak zorunda değilsiniz. Faturalama döneminizin sonunda, veritabanı işlemleriniz tarafından kullanılan İstek Birimi sayısı için faturalandırılırsınız. Daha fazla bilgi edinmek için Sunucusuz aktarım hızı makalesine bakın.
Otomatik ölçeklendirme modu: Bu modda veritabanınızın veya kapsayıcınızın aktarım hızını (RU/sn) kullanımına göre, iş yükünün kullanılabilirliğini, gecikme süresini, aktarım hızını veya performansını etkilemeden otomatik ve anında ölçeklendirebilirsiniz. Bu mod, değişken veya öngörülemeyen trafik desenlerine sahip olan ve yüksek performans ve ölçekte SLA gerektiren görev açısından kritik iş yükleri için çok uygundur. Daha fazla bilgi edinmek için aktarım hızını otomatik ölçeklendirme makalesine bakın.
İstek Birimi ile ilgili dikkate alınacak noktalar
İş yükünüz tarafından tüketilen RU sayısını tahmin ederken aşağıdaki faktörleri göz önünde bulundurun:
Öğe boyutu: Öğenin boyutu arttıkça öğeyi okumak veya yazmak için tüketilen RU sayısı da artar.
Öğeyi dizine alma: Varsayılan olarak her öğe otomatik olarak dizine alınır. Kapsayıcıdaki öğelerinizden bazılarını dizine almamayı seçerseniz daha az RU tüketilir.
Öğe özelliği sayısı: Tüm özelliklerde varsayılan olarak dizine alma seçeneğinin açık olduğunu kabul edersek, öğenin özellik sayısı arttıkça öğeyi yazmak için tüketilen RU'ların sayısı da artar.
Dizinli özellikler: Her kapsayıcıda bir dizin kuralı, varsayılan olarak hangi özelliklerin dizinli olduğunu belirler. Yazma işlemlerinin RU tüketimini azaltmak için dizinli özelliklerin sayısını sınırlayın.
Veri tutarlılığı: Güçlü ve sınırlanmış eskime durumu tutarlılık düzeyleri, diğer gevşek tutarlılık düzeylerine kıyasla okuma işlemleri gerçekleştirirken yaklaşık iki kat daha fazla RU tüketir.
Okuma türü: Nokta okuma maliyeti sorgulardan çok daha az RU'dur.
Sorgu kalıpları: Sorgunun karmaşıklığı, bir işlem için tüketilen RU sayısını etkiler. Sorgu işlemlerinin maliyetini etkileyen faktörler şunlardır:
- Sorgu sonuçlarının sayısı
- Koşulların sayısı
- Koşulların yapısı
- Kullanıcı tanımlı işlevlerin sayısı
- Kaynak verilerin boyutu
- Sonuç kümesinin boyutu
- Projeksiyonlar
Aynı verilerdeki aynı sorgu, yinelenen yürütmelerde her zaman aynı sayıda RU'ya mal olur.
Betik kullanımı: Sorgularda olduğu gibi saklı yordamlar ve tetikleyiciler de gerçekleştirilen işlemlerin karmaşıklığı temelinde RU kullanır. Uygulamanızı geliştirirken, her işlemin ne kadar RU kapasitesi tükettiğini daha iyi anlamak için istek ücreti üst bilgisini inceleyin.
İstek birimleri ve birden çok bölge
Cosmos kapsayıcısında (veya veritabanında) 'R' RU'ları sağlarsanız, Cosmos DB Cosmos hesabınızla ilişkili her bölgede 'R' RU'larının kullanılabilir olmasını sağlar. RU'ları belirli bir bölgeye seçmeli olarak atayamazsınız. Cosmos kapsayıcısında (veya veritabanında) sağlanan RU'lar Cosmos hesabınızla ilişkili tüm bölgelerde sağlanır.
Cosmos kapsayıcısının 'R' RU'larıyla yapılandırıldığını ve Cosmos hesabıyla ilişkili 'N' bölgeleri olduğunu varsayarsak, kapsayıcıda genel olarak kullanılabilir toplam RU sayısı = R x N olur.
Tutarlılık modeli seçiminiz aktarım hızını da etkiler. Daha güçlü tutarlılık düzeylerine (sınırlanmış eskime veya güçlü tutarlılık) kıyasla daha rahat tutarlılık düzeyleri (oturum, tutarlı ön ek ve nihai tutarlılık) için yaklaşık 2 kat okuma aktarım hızı elde edebilirsiniz.
Sonraki adımlar
- Azure Cosmos kapsayıcılarında ve veritabanlarında aktarım hızı sağlama hakkında daha fazla bilgi edinin.
- Azure Cosmos DB'de sunucusuz hakkında daha fazla bilgi edinin.
- Mantıksal bölümler hakkında daha fazla bilgi edinin.
- Azure Cosmos kapsayıcısı üzerinde aktarım hızı sağlamayı öğrenin.
- Azure Cosmos veritabanında aktarım hızı sağlamayı öğrenin.
- Bir işlem için istek birimi ücretini bulmayı öğrenin.
- Azure Cosmos DB'de sağlanan aktarım hızı maliyetini iyileştirmeyi öğrenin.
- Azure Cosmos DB'de okuma ve yazma maliyetlerini iyileştirmeyi öğrenin.
- Azure Cosmos DB'de sorgu maliyetini iyileştirmeyi öğrenin.
- Aktarım hızını izlemek için ölçümleri kullanmayı öğrenin.
- Azure Cosmos DB'ye geçiş için kapasite planlaması yapmaya mı çalışıyorsunuz?
- Tek bildiğiniz mevcut veritabanı kümenizdeki sanal çekirdek ve sunucu sayısıysa, sanal çekirdek veya vCPU kullanarak istek birimlerini tahmin etme hakkında bilgi edinin
- Geçerli veritabanı iş yükünüz için tipik istek hızlarını biliyorsanız Azure Cosmos DB kapasite planlayıcısı kullanarak istek birimlerini tahmin etme hakkındaki bilgileri okuyun