Kompromisy w zakresie spójności, dostępności i wydajnościConsistency, availability, and performance tradeoffs

Rozproszone bazy danych korzystające z replikacji w celu zapewnienia wysokiej dostępności, małych opóźnień lub obu muszą mieć wpływ na kompromisy.Distributed databases that rely on replication for high availability, low latency, or both must make tradeoffs. Te kompromisy dotyczą spójności odczytu i dostępności, opóźnienia i przepływności.The tradeoffs are between read consistency vs. availability, latency, and throughput.

Azure Cosmos DB podejścia do spójności danych jako szeroki wybór.Azure Cosmos DB approaches data consistency as a spectrum of choices. Takie podejście obejmuje więcej opcji niż dwa skrajne silne i ostateczne spójność.This approach includes more options than the two extremes of strong and eventual consistency. W spektrum spójności można wybrać spośród pięciu dobrze zdefiniowanych modeli.You can choose from five well-defined models on the consistency spectrum. Od najsilniejszych do najsłabszych modele są:From strongest to weakest, the models are:

  • SilneStrong
  • Powiązana nieaktualnośćBounded staleness
  • SesjiSession
  • Spójny prefiksConsistent prefix
  • OstatecznaEventual

Każdy model zapewnia kompromisy dostępności i wydajności i jest wspierany przez kompleksową umowy SLA.Each model provides availability and performance tradeoffs and is backed by comprehensive SLAs.

Poziomy spójności i czas oczekiwaniaConsistency levels and latency

Opóźnienie odczytu dla wszystkich poziomów spójności zawsze gwarantuje mniej niż 10 milisekund w 99 percentylu.The read latency for all consistency levels is always guaranteed to be less than 10 milliseconds at the 99th percentile. To opóźnienie odczytu jest obsługiwane przez umowę SLA.This read latency is backed by the SLA. Średnie opóźnienie odczytu w pięćdziesiąt percentylu jest zwykle 2 milisekund lub mniej.The average read latency, at the 50th percentile, is typically 2 milliseconds or less. W przypadku kont usługi Azure Cosmos, które obejmują kilka regionów i skonfigurowano silną spójność, są wyjątkiem od tej gwarancji.Azure Cosmos accounts that span several regions and are configured with strong consistency are an exception to this guarantee.

Czas oczekiwania na zapis dla wszystkich poziomów spójności jest zawsze gwarantowany poniżej 10 milisekund w 99 percentylu.The write latency for all consistency levels is always guaranteed to be less than 10 milliseconds at the 99th percentile. To opóźnienie zapisu jest obsługiwane przez umowę SLA.This write latency is backed by the SLA. Średnie opóźnienie zapisu w pięćdziesiąt percentylu jest zwykle 5 milisekund lub mniej.The average write latency, at the 50th percentile, is usually 5 milliseconds or less.

W przypadku kont usługi Azure Cosmos skonfigurowanych pod kątem silnej spójności z więcej niż jednym regionem opóźnienie zapisu jest gwarantowane krócej niż dwa razy (RTT) między dowolnymi z dwóch skrajnych regionów oraz 10 milisekund w 99 percentylu.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.

Dokładne opóźnienie czasu RTT to funkcja szybkości i topologii sieci platformy Azure.The exact RTT latency is a function of speed-of-light distance and the Azure networking topology. Sieci platformy Azure nie zapewniają umowy SLA opóźnienia dla RTT między dwoma regionami świadczenia usługi Azure.Azure networking doesn't provide any latency SLAs for the RTT between any two Azure regions. W Azure Portal są wyświetlane opóźnienia replikacji w ramach konta usługi Azure Cosmos.For your Azure Cosmos account, replication latencies are displayed in the Azure portal. Możesz użyć Azure Portal (przejdź do bloku metryk), aby monitorować opóźnienia replikacji między różnymi regionami, które są skojarzone z kontem usługi Azure Cosmos.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.

Poziomy spójności i przepływnośćConsistency levels and throughput

  • Dla tej samej liczby jednostek żądania sesja, spójny prefiks i ostateczne poziomy spójności zapewniają dwa razy większą przepływność odczytu w porównaniu z silną i powiązana nieodświeżonością.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.

  • Dla danego typu operacji zapisu, takich jak INSERT, Replace, upsert i DELETE, przepływność zapisu dla jednostek żądania jest taka sama dla wszystkich poziomów spójności.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.

Poziomy spójności i trwałość danychConsistency levels and data durability

W globalnie rozproszonym środowisku bazy danych istnieje bezpośrednia relacja między poziomem spójności a trwałością danych w przypadku awarii całego regionu.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. Podczas opracowywania planu ciągłości biznesowej należy zrozumieć maksymalny akceptowalny czas, po upływie którego aplikacja zostanie w pełni odzyskana po zdarzeniu zakłócania.As you develop your business continuity plan, you need to understand the maximum acceptable time before the application fully recovers after a disruptive event. Czas wymagany do pełnego odzyskania aplikacji jest znany jako cel czasu odzyskiwania (RTO).The time required for an application to fully recover is known as recovery time objective (RTO). Należy również zrozumieć maksymalny okres ostatnich aktualizacji danych, które aplikacja może tolerować podczas odzyskiwania po wystąpieniu zdarzenia zakłócenia.You also need to understand the maximum period of recent data updates the application can tolerate losing when recovering after a disruptive event. Przedział czasu aktualizacji, które mogą zostać utracone, jest określany jako cel punktu odzyskiwania (RPO).The time period of updates that you might afford to lose is known as recovery point objective (RPO).

W poniższej tabeli zdefiniowano relacje między modelem spójności i trwałością danych w przypadku awarii całego regionu.The table below defines the relationship between consistency model and data durability in the presence of region wide outage. Należy pamiętać, że w systemie rozproszonym, nawet ze silną spójnością, nie można mieć rozproszonej bazy danych z RPO i RTO zero ze względu na zakończenie theorem.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. Aby dowiedzieć się więcej na temat przyczyn, zobacz poziomy spójności w Azure Cosmos DB.To learn more about why, see Consistency levels in Azure Cosmos DB.

RegionyRegion(s) Tryb replikacjiReplication mode Poziom spójnościConsistency level RPORPO RTORTO
11 Jeden lub wiele wzorcówSingle or Multi-Master Dowolny poziom spójnościAny Consistency Level < 240 minut< 240 Minutes < 1 tydzień<1 Week
>1>1 Pojedynczy wzorzecSingle Master Sesja, spójny prefiks, ostatecznaSession, Consistent Prefix, Eventual < 15 minut< 15 minutes < 15 minut< 15 minutes
>1>1 Pojedynczy wzorzecSingle Master Powiązana nieaktualnośćBounded Staleness KT & K & T < 15 minut< 15 minutes
>1>1 Pojedynczy wzorzecSingle Master SilneStrong 00 < 15 minut< 15 minutes
>1>1 Wiele wzorcówMulti-Master Sesja, spójny prefiks, ostatecznaSession, Consistent Prefix, Eventual < 15 minut< 15 minutes 00
>1>1 Wiele wzorcówMulti-Master Powiązana nieaktualnośćBounded Staleness KT & K & T 00

K = liczba wersji "K" (tj. aktualizacji) elementu.K = The number of "K" versions (i.e., updates) of an item.

T = przedział czasu "T" od momentu ostatniej aktualizacji.T = The time interval "T" since the last update.

Następne krokiNext steps

Dowiedz się więcej o globalnej dystrybucji i ogólnym kompromisie spójności w systemach rozproszonych.Learn more about global distribution and general consistency tradeoffs in distributed systems. Zobacz następujące artykuły:See the following articles: