Azure Cosmos DB istek birimleriRequest Units in Azure Cosmos DB

Azure Cosmos DB, sağladığınız aktarım hızı ve saatlik olarak kullandığınız depolama alanı için ödeme yaparsınız.With Azure Cosmos DB, you pay for the throughput you provision and the storage you consume on an hourly basis. Azure Cosmos veritabanınız için her zaman yeterli sistem kaynaklarının kullanılabilir olduğundan emin olmak için üretilen iş sağlanmalıdır.Throughput must be provisioned to ensure that sufficient system resources are available for your Azure Cosmos database at all times. Azure Cosmos DB SLA'larını karşılamak veya aşmak için yeterli kaynak gereklidir.You need enough resources to meet or exceed the Azure Cosmos DB SLAs.

Azure Cosmos DB SQL, MongoDB, Cassandra, Gremlin ve Table gibi birçok API 'yi destekler.Azure Cosmos DB supports many APIs, such as SQL, MongoDB, Cassandra, Gremlin, and Table. Her API 'nin kendi veritabanı işlemleri kümesi vardır.Each API has its own set of database operations. Bu işlemler, karmaşık sorgulardan okuma ve yazma işlemleri için basit noktadan aralığıdır.These operations range from simple point reads and writes to complex queries. Her veritabanı işlemi, işlemin karmaşıklığına göre sistem kaynaklarını tüketir.Each database operation consumes system resources based on the complexity of the operation.

Tüm veritabanı işlemlerinin maliyeti Azure Cosmos DB normalleştirilerek, Istek birimleri (veya ru) tarafından ifade edilir.The cost of all database operations is normalized by Azure Cosmos DB and is expressed by Request Units (or RUs, for short). Saniye başına, aktarım hızı için para birimi olarak düşünebilirsiniz.You can think of RUs per second as the currency for throughput. Saniyedeki ru, Fiyat tabanlı bir para birimidir.RUs per second is a rate-based currency. Azure Cosmos DB tarafından desteklenen veritabanı işlemlerini gerçekleştirmek için gereken CPU, ıOPS ve bellek gibi sistem kaynaklarını soyutlar.It abstracts the system resources such as CPU, IOPS, and memory that are required to perform the database operations supported by Azure Cosmos DB.

1 KB 'lık öğeyi okuma maliyeti 1 Istek birimi (veya 1 RU).The cost to read a 1 KB item is 1 Request Unit (or 1 RU). Diğer tüm veritabanı işlemlerine aynı şekilde ru kullanılarak maliyet atanır.All other database operations are similarly assigned a cost using RUs. Azure Cosmos kapsayıcınızda etkileşim kurmak için kullandığınız API 'yi her zaman, maliyetler her zaman RUs ile ölçülür.No matter which API you use to interact with your Azure Cosmos container, costs are always measured by RUs. Veritabanı işleminin yazma, okuma veya sorgulama olup olmadığı, maliyetlerin her zaman RUs cinsinden ölçüldüğü.Whether the database operation is a write, read, or query, costs are always measured in RUs.

Aşağıdaki görüntüde, RUs 'nin üst düzey fikrini gösterilmektedir:The following image shows the high-level idea of RUs:

Veritabanı işlemleri Istek birimlerini tüketir

Azure Cosmos DB, kapasiteyi yönetmek ve planlamak için, belirli bir veri kümesi üzerinde belirli bir veritabanı işleminin RUs sayısının belirleyici olmasını sağlar.To manage and plan capacity, Azure Cosmos DB ensures that the number of RUs for a given database operation over a given dataset is deterministic. Herhangi bir veritabanı işlemi tarafından tüketilen ru sayısını izlemek için yanıt üst bilgisini inceleyebilirsiniz.You can examine the response header to track the number of RUs that are consumed by any database operation. RU ücretlerini ve uygulamanızın aktarım hızı gereksinimlerini etkileyen faktörleri anladığınızda, uygulama maliyetinizi etkin bir şekilde çalıştırabilirsiniz.When you understand the factors that affect RU charges and your application's throughput requirements, you can run your application cost effectively.

Uygulamanız için ru sayısını saniyede 100 ru 'lik artışlarla saniye başına sağlayabilirsiniz.You provision the number of RUs for your application on a per-second basis in increments of 100 RUs per second. Uygulamanızın sağlanan aktarım hızını ölçeklendirmek için dilediğiniz zaman ru sayısını artırabilir veya azaltabilirsiniz.To scale the provisioned throughput for your application, you can increase or decrease the number of RUs at any time. 100 ru 'nin artışlarını veya ölçeğini azaltır.You can scale in increments or decrements of 100 RUs. Değişikliklerinizi programlama yoluyla veya Azure portal kullanarak yapabilirsiniz.You can make your changes either programmatically or by using the Azure portal. Saatlik olarak faturalandırılırsınız.You are billed on an hourly basis.

Aktarım hızını iki ayrı granuya temin edebilirsiniz:You can provision throughput at two distinct granularities:

İstek birimi değerlendirmeleriRequest Unit considerations

Sağlamak için saniye başına ru sayısını tahmin ederken aşağıdaki faktörleri göz önünde bulundurun:While you estimate the number of RUs per second to provision, consider the following factors:

  • Öğe boyutu: bir öğenin boyutu arttıkça, öğeyi okumak veya yazmak Için tüketilen Rus sayısı da artar.Item size: As the size of an item increases, the number of RUs consumed to read or write the item also increases.

  • Öğe dizin oluşturma: varsayılan olarak, her öğe otomatik olarak dizinlenir.Item indexing: By default, each item is automatically indexed. Bir kapsayıcıda bazı öğelerinizin dizinini oluşturma seçeneğini belirlerseniz, daha az RUs kullanılır.Fewer RUs are consumed if you choose not to index some of your items in a container.

  • Öğe özelliği sayısı: varsayılan dizin oluşturmanın tüm özelliklerde olduğu varsayıldığında, öğe yazmak Için tüketilen Rus sayısı, öğe özelliği sayısı arttıkça artar.Item property count: Assuming the default indexing is on all properties, the number of RUs consumed to write an item increases as the item property count increases.

  • Dizinli Özellikler: her kapsayıcıda bir dizin ilkesi, varsayılan olarak hangi özelliklerin dizine alınacağını belirler.Indexed properties: An index policy on each container determines which properties are indexed by default. Yazma işlemlerine yönelik RU tüketimini azaltmak için, dizinlenmiş özelliklerin sayısını sınırlayın.To reduce the RU consumption for write operations, limit the number of indexed properties.

  • Veri tutarlılığı: güçlü ve sınırlanmış stalet tutarlılık düzeyleri, diğer gevşek tutarlılık seviyelerine kıyasla okuma işlemleri gerçekleştirirken yaklaşık iki kat daha fazla tüketir.Data consistency: The strong and bounded staleness consistency levels consume approximately two times more RUs while performing read operations when compared to that of other relaxed consistency levels.

  • Sorgu desenleri: bir sorgunun karmaşıklığı, bir işlem için kaç ru tüketildiğini etkiler.Query patterns: The complexity of a query affects how many RUs are consumed for an operation. Sorgu işlemlerinin maliyetini etkileyen faktörler şunlardır:Factors that affect the cost of query operations include:

    • Sorgu sonuçlarının sayısıThe number of query results
    • Koşulların sayısıThe number of predicates
    • Koşulların doğasıThe nature of the predicates
    • Kullanıcı tanımlı işlevlerin sayısıThe number of user-defined functions
    • Kaynak verilerin boyutuThe size of the source data
    • Sonuç kümesinin boyutuThe size of the result set
    • YansıtmalarProjections

    Azure Cosmos DB aynı verilerdeki aynı sorgunun her zaman aynı şekilde yinelenen yürütmeler üzerinde aynı şekilde maliyetlenmesini garanti eder.Azure Cosmos DB guarantees that the same query on the same data always costs the same number of RUs on repeated executions.

  • Betik kullanımı: sorgularda olduğu gibi, saklı yordamlar ve Tetikleyiciler, gerçekleştirilen işlemlerin karmaşıklığına göre Rus kullanır.Script usage: As with queries, stored procedures and triggers consume RUs based on the complexity of the operations that are performed. Uygulamanızı geliştirirken, her işlemin tükettiği RU kapasitesini daha iyi anlamak için istek ücreti üst bilgisini inceleyin.As you develop your application, inspect the request charge header to better understand how much RU capacity each operation consumes.

Sonraki adımlarNext steps