Tutarlılık, kullanılabilirlik ve performans dengeleriConsistency, availability, and performance tradeoffs

Yüksek kullanılabilirlik, düşük gecikme süresi veya her ikisi için çoğaltmaya dayanan dağıtılmış veritabanları, bir denge sağlamalıdır.Distributed databases that rely on replication for high availability, low latency, or both must make tradeoffs. Bu denge, okuma tutarlılığı ile kullanılabilirlik, gecikme süresi ve aktarım hızı arasındadır.The tradeoffs are between read consistency vs. availability, latency, and throughput.

Azure Cosmos DB, veri tutarlılığını bir seçenek yelpazesi olarak yaklaşır.Azure Cosmos DB approaches data consistency as a spectrum of choices. Bu yaklaşım, güçlü ve nihai tutarlılık için iki aşırı uç daha fazla seçenek içerir.This approach includes more options than the two extremes of strong and eventual consistency. Tutarlılık yelpazesi üzerinde beş iyi tanımlanmış model arasından seçim yapabilirsiniz.You can choose from five well-defined models on the consistency spectrum. En güçlü ve en zayıf, modeller şunlardır:From strongest to weakest, the models are:

  • TanımlayıcıStrong
  • Sınırlanmış eskime durumuBounded staleness
  • OturumuSession
  • Tutarlı ön ekConsistent prefix
  • NihaiEventual

Her model kullanılabilirlik ve performans avantajları sağlar ve kapsamlı SLA 'Lar tarafından desteklenir.Each model provides availability and performance tradeoffs and is backed by comprehensive SLAs.

Tutarlılık düzeyleri ve gecikmeConsistency levels and latency

Tüm tutarlılık düzeyleri için okuma gecikmesi her zaman 99 ' luk yüzdede 10 milisaniyeden az olacak şekilde garanti edilir.The read latency for all consistency levels is always guaranteed to be less than 10 milliseconds at the 99th percentile. Bu okuma gecikmesi SLA tarafından desteklenir.This read latency is backed by the SLA. 50. yüzdede ortalama okuma gecikmesi, genellikle 2 milisaniyedir veya küçüktür.The average read latency, at the 50th percentile, is typically 2 milliseconds or less. Çeşitli bölgelere yayılan ve güçlü tutarlılık ile yapılandırılmış Azure Cosmos hesapları, bu garanti için bir özel durumdur.Azure Cosmos accounts that span several regions and are configured with strong consistency are an exception to this guarantee.

Tüm tutarlılık düzeyleri için yazma gecikmesi her zaman 99 ' luk yüzdede 10 milisaniyeden az olacak şekilde garanti edilir.The write latency for all consistency levels is always guaranteed to be less than 10 milliseconds at the 99th percentile. Bu yazma gecikmesi SLA tarafından desteklenir.This write latency is backed by the SLA. 50. yüzdede ortalama yazma gecikmesi genellikle 5 milisaniyedir veya küçüktür.The average write latency, at the 50th percentile, is usually 5 milliseconds or less.

Birden fazla bölgeyle güçlü tutarlılık ile yapılandırılmış Azure Cosmos hesaplarında, yazma gecikmesi iki adet en uzak bölge arasında iki kat gidiş dönüş süresinden (RTT) ve 99. yüzdede 10 milisaniyeye eşit olur.For Azure Cosmos accounts configured with strong consistency with more than one region, the write latency is guaranteed to be less than two times round-trip time (RTT) between any of the two farthest regions, plus 10 milliseconds at the 99th percentile.

Tam RTT gecikmesi, hafif bir mesafe ve Azure ağ topolojisi 'nin bir işlevidir.The exact RTT latency is a function of speed-of-light distance and the Azure networking topology. Azure ağ, iki Azure bölgesi arasındaki RTT için herhangi bir gecikme SLA sağlamaz.Azure networking doesn't provide any latency SLAs for the RTT between any two Azure regions. Azure Cosmos hesabınız için çoğaltma gecikmeleri Azure portal görüntülenir.For your Azure Cosmos account, replication latencies are displayed in the Azure portal. Azure Cosmos hesabınızla ilişkili çeşitli bölgeler arasındaki çoğaltma gecikme sürelerini izlemek için Azure portal (ölçümler dikey penceresine gidebilirsiniz) kullanabilirsiniz.You can use the Azure portal (go to the Metrics blade) to monitor the replication latencies between various regions that are associated with your Azure Cosmos account.

Tutarlılık düzeyleri ve verimlilikConsistency levels and throughput

  • Aynı sayıda istek birimi için, oturum, tutarlı ön ek ve nihai tutarlılık düzeyleri, güçlü ve sınırlandırılmış bir şekilde karşılaştırıldığında, okuma aktarım hızını iki kat sağlar.For the same number of request units, the session, consistent prefix, and eventual consistency levels provide about two times the read throughput when compared with strong and bounded staleness.

  • INSERT, Replace, upsert ve DELETE gibi belirli bir yazma işlemi türü için, istek birimleri için yazma üretilen işi tüm tutarlılık düzeyleri için aynıdır.For a given type of write operation, such as insert, replace, upsert, and delete, the write throughput for request units is identical for all consistency levels.

Tutarlılık düzeyleri ve veri dayanıklılığıConsistency levels and data durability

Küresel olarak dağıtılmış bir veritabanı ortamında, bölge genelinde bir kesinti olması durumunda tutarlılık düzeyi ve veri dayanıklılığı arasında doğrudan bir ilişki vardır.Within a globally distributed database environment there is a direct relationship between the consistency level and data durability in the presence of a region-wide outage. İş sürekliliği planınızı geliştirirken, kesintiye uğratan bir olaydan sonra uygulamanın tam olarak kurtarmadan önce kabul edilebilir en uzun süreyi anlamanız gerekir.As you develop your business continuity plan, you need to understand the maximum acceptable time before the application fully recovers after a disruptive event. Uygulamanın tam olarak kurtarılması için gereken süre, kurtarma zamanı hedefi (RTO) olarak bilinir.The time required for an application to fully recover is known as recovery time objective (RTO). Ayrıca, uygulamanın, kesintiye uğratan bir olaydan sonra kurtarılırken kabul edebildiği en son veri güncelleştirme süresini de anlamanız gerekir.You also need to understand the maximum period of recent data updates the application can tolerate losing when recovering after a disruptive event. Kaybetmemek için uygun olan güncelleştirmelerin zaman dilimi Kurtarma noktası hedefi (RPO) olarak bilinir.The time period of updates that you might afford to lose is known as recovery point objective (RPO).

Aşağıdaki tabloda, bölge genelinde kesinti olması durumunda tutarlılık modeli ve veri dayanıklılığı arasındaki ilişki tanımlanmaktadır.The table below defines the relationship between consistency model and data durability in the presence of region wide outage. Dağıtılmış bir sistemde, güçlü tutarlılıkla bile, bir RPO ile dağıtılmış bir veritabanına sahip olma imkanını ve KTO 'nın, sınır sayısına bağlı olarak sıfır olmasını sağlamak önemlidir.It is important to note that in a distributed system, even with strong consistency, it is impossible to have a distributed database with an RPO and RTO of zero due to the CAP Theorem. Neden hakkında daha fazla bilgi edinmek için Azure Cosmos DB ' deki tutarlılık düzeyleri' ne bakın.To learn more about why, see Consistency levels in Azure Cosmos DB.

Bölge (ler)Region(s) Çoğaltma moduReplication mode Tutarlılık düzeyiConsistency level RPORPO RTORTO
1.1 Tek veya birden çok yöneticiSingle or Multi-Master Herhangi bir tutarlılık düzeyiAny Consistency Level < 240 dakika< 240 Minutes < 1 hafta<1 Week
>1>1 Tek yöneticiSingle Master Oturum, tutarlı ön ek, nihaiSession, Consistent Prefix, Eventual < 15 dakika< 15 minutes < 15 dakika< 15 minutes
>1>1 Tek yöneticiSingle Master Sınırlanmış Eskime DurumuBounded Staleness KT & K & T < 15 dakika< 15 minutes
>1>1 Tek yöneticiSingle Master GüçlüStrong 00 < 15 dakika< 15 minutes
>1>1 Çoklu yöneticiMulti-Master Oturum, tutarlı ön ek, nihaiSession, Consistent Prefix, Eventual < 15 dakika< 15 minutes 00
>1>1 Çoklu yöneticiMulti-Master Sınırlanmış Eskime DurumuBounded Staleness KT & K & T 00

K = bir öğenin "K" sürümlerinin (yani Updates) sayısı.K = The number of "K" versions (i.e., updates) of an item.

T = son güncelleştirmeden bu yana "t" zaman aralığı.T = The time interval "T" since the last update.

Sonraki adımlarNext steps

Dağıtılmış sistemlerdeki genel dağıtım ve genel tutarlılık avantajları hakkında daha fazla bilgi edinin.Learn more about global distribution and general consistency tradeoffs in distributed systems. Aşağıdaki makalelere bakın:See the following articles: