Azure Cosmos DB'de İstek birimleri

Uygulama hedefı: MongoDB için SQL API Cassandra API gremlin API tablo API'si 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şlemleriyle karmaşık sorgular arasında yer almaktadır. Her veritabanı işlemi, işlem karmaşıklığına bağlı olarak 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ı soyutlamanın bir performans para birimidir.

1 KB'lık öğe için nokta okuma (tek bir öğeyi kimliğine ve bölüm anahtarı değerine göre getirme) maliyeti 1 İstek Birimidir (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şlemi yazma, nokta okuma veya sorgu olsa da maliyetler her zaman RU olarak ölçülür.

Aşağıdaki resimde üst düzey RU yaklaşımı gösterilir:

Veritabanı işlemleri İstek Birimlerini tüketir

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ın aktarım hızı gereksinimlerini etkileyen faktörleri anlayacaktır. Uygulama maliyetini verimli bir şekilde çalıştırabilirsiniz.

Kullanmakta Cosmos Azure hesabı türü, tüketilen RU'ların nasıl ücret alın yeli olduğunu belirler. Hesap oluşturabilirsiniz 3 mod vardır:

  1. Sağlanan aktarım hızı modu: Bu modda, saniye başına 100 RU'lık artışlarla uygulamanıza göre RU sayısını sağlarsınız. Uygulamanıza sağlanan aktarım hızını ölçeklendirmek için, herhangi bir zamanda 100 RU'lık artışlar veya düşüşler halinde RU sayısını artırabilir veya azaltabilirsiniz. Değişikliklerinizi program aracılığıyla veya Azure portalını kullanarak yapabilirsiniz. Sağmış olduğunu saniye başına RU miktarı için saatlik olarak faturalandırabilirsiniz. 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:

  2. Sunucusuz mod: Bu modda, Azure Cosmos hesabınızla kaynak oluştururken aktarım hızı sağlamanız gerekmez. Faturalama döneminizin sonunda veritabanı işlemleriniz tarafından tüketilen İstek Birimi miktarı için fatura alırsınız. Daha fazla bilgi edinmek için Sunucusuz aktarım hızı makalesine bakın.

  3. Otomatik ölçeklendirme modu: Bu modda, iş yükünün kullanılabilirliğini, gecikme süresini, aktarım hızını veya performansını etkilemeden veritabanınız veya kapsayıcınız için kullanım durumuna göre aktarım hızını (RU/sn) otomatik olarak ve anında ölçeklendirebilirsiniz. Bu mod, değişken veya öngörülemeyen trafik düzenleri olan ve yüksek performans ve ölçek üzerinde SLA'lar gerektiren görev açısından kritik iş yükleri için çok uygun. Daha fazla bilgi edinmek için otomatik ölçeklendirme aktarım hızı 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 bulundurarak:

  • Öğ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ırlı eskimeme tutarlılığı düzeyleri, diğer gevşek tutarlılık düzeylerine kıyasla okuma işlemleri yaparken yaklaşık iki kat daha fazla RU tüketir.

  • Okuma türü: Nokta okuma maliyeti sorgulara göre çok daha az RU'ya mal olur.

  • 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ı veriler üzerinde yapılan 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ığına göre 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ı (veya veritabanı) üzerinde 'R' RU'ları sağlarsanız Cosmos DB, 'R' RU'larının hesap hesabınızla ilişkili her bölgede kullanılabilir Cosmos sağlar. Ru'ları belirli bir bölgeye seçmeli olarak atayadığınız zaman. Bir kapsayıcıda (veya Cosmos) sağlanan RU'lar, Cosmos hesabınızla ilişkili tüm bölgelerde sağlandı.

Cosmos kapsayıcının 'R' RU'ları ile yapılandırıldığından ve Cosmos hesabıyla ilişkilendirilmiş 'N' bölgeleri olduğu varsayıldığında, kapsayıcıda genel olarak kullanılabilen toplam RU sayısı = R x N.

Tutarlılık modeli seçiminiz aktarım hızını da etkiler. Daha gevşek tutarlılık düzeyleri (oturum, tutarlı ön ek ve nihai tutarlılık gibi) için daha güçlü tutarlılık düzeylerine (sınırlı eskimişlik veya güçlü tutarlılık gibi) kıyasla yaklaşık 2 kat okuma aktarım hızı elde etmek için kullanabilirsiniz.

Sonraki adımlar