Inconvenientes de la coherencia, disponibilidad y rendimientoConsistency, availability, and performance tradeoffs

Las bases de datos distribuidas que dependen de la replicación para la alta disponibilidad, la baja latencia o ambas deben realizar compensaciones.Distributed databases that rely on replication for high availability, low latency, or both must make tradeoffs. Tales compensaciones se realizan entre la coherencia y la disponibilidad de lectura, la latencia y el rendimiento.The tradeoffs are between read consistency vs. availability, latency, and throughput.

Azure Cosmos DB se aproxima a la coherencia de datos como un espectro de opciones.Azure Cosmos DB approaches data consistency as a spectrum of choices. Este enfoque abarca opciones que van más allá de los dos extremos de coherencia (alta y ocasional).This approach includes more options than the two extremes of strong and eventual consistency. Puede elegir entre cinco modelos bien definidos en el espectro de la coherencia.You can choose from five well-defined models on the consistency spectrum. De más fuerte a más débil, los modelos son:From strongest to weakest, the models are:

  • FuerteStrong
  • Obsolescencia limitadaBounded staleness
  • De sesiónSession
  • De prefijo coherenteConsistent prefix
  • PosibleEventual

Cada modelo proporciona compensaciones entre la disponibilidad y el rendimiento y cuenta con el respaldo de Acuerdos de Nivel de Servicio completos.Each model provides availability and performance tradeoffs and is backed by comprehensive SLAs.

Latencia y niveles de coherenciaConsistency levels and latency

Se garantiza que la latencia de lectura de todos los niveles de coherencia siempre es inferior a 10 milisegundos en el percentil 99.The read latency for all consistency levels is always guaranteed to be less than 10 milliseconds at the 99th percentile. Esta latencia de escritura está respaldada por el Acuerdo de Nivel de Servicio.This read latency is backed by the SLA. La latencia media de lectura (en el percentil 50) es normalmente de dos milisegundos o menos.The average read latency, at the 50th percentile, is typically 2 milliseconds or less. Las cuentas de Azure Cosmos que abarcan varias regiones y están configuradas con una coherencia alta son una excepción a esta garantía.Azure Cosmos accounts that span several regions and are configured with strong consistency are an exception to this guarantee.

Se garantiza que la latencia de escritura de todos los niveles de coherencia siempre sea inferior a 10 milisegundos en el percentil 99.The write latency for all consistency levels is always guaranteed to be less than 10 milliseconds at the 99th percentile. Esta latencia de escritura está respaldada por el Acuerdo de Nivel de Servicio.This write latency is backed by the SLA. La latencia media de escritura (en el percentil 50) es normalmente de cinco milisegundos o menos.The average write latency, at the 50th percentile, is usually 5 milliseconds or less.

Para las cuentas de Azure Cosmos configuradas con coherencia sólida con más de una región, se garantiza que la latencia de escritura sea inferior al doble del tiempo de ida y vuelta (RTT) entre cualquiera de las dos regiones más alejadas, más de 10 milisegundos en el percentil 99.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.

La latencia de RTT exacta depende de la distancia a la velocidad de la luz y la topología de red de Azure.The exact RTT latency is a function of speed-of-light distance and the Azure networking topology. Redes de Azure no proporciona ningún Acuerdo de Nivel de Servicio de latencia para el RTT entre dos regiones de Azure.Azure networking doesn't provide any latency SLAs for the RTT between any two Azure regions. Para la cuenta de Azure Cosmos, las latencias de replicación se muestran en Azure Portal.For your Azure Cosmos account, replication latencies are displayed in the Azure portal. Puede usar Azure Portal (vaya a la hoja Métrica) para supervisar las latencias de replicación entre diversas regiones asociadas con su cuenta de 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.

Rendimiento y niveles de coherenciaConsistency levels and throughput

  • Para el mismo número de unidades de solicitud, los niveles de coherencia de sesión, de prefijo coherente y posible proporcionan aproximadamente el doble de rendimiento de lectura en comparación con la coherencia fuerte o de obsolescencia limitada.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.

  • Para un tipo determinado de operación de escritura (por ejemplo, Insert, Replace, Upsert o Delete), el rendimiento de escritura de las unidades de solicitud es idéntico para todos los niveles de coherencia.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.

Durabilidad de los datos y niveles de coherenciaConsistency levels and data durability

En un entorno de base de datos distribuida de forma global, existe una relación directa entre el nivel de coherencia y la durabilidad de los datos se produce una interrupción en toda la región.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. A medida que desarrolle el plan de continuidad empresarial, tendrá que saber el tiempo máximo aceptable para que la aplicación se recupere por completo tras un evento de interrupción.As you develop your business continuity plan, you need to understand the maximum acceptable time before the application fully recovers after a disruptive event. El tiempo necesario para que una aplicación se recupere totalmente se conoce como objetivo de tiempo de recuperación (RTO).The time required for an application to fully recover is known as recovery time objective (RTO). También debe conocer el período máximo de actualizaciones de datos recientes que la aplicación puede tolerar perder al recuperarse después de un evento de interrupción.You also need to understand the maximum period of recent data updates the application can tolerate losing when recovering after a disruptive event. El período de tiempo de las actualizaciones que se puede permitir perder se conoce como objetivo de punto de recuperación (RPO).The time period of updates that you might afford to lose is known as recovery point objective (RPO).

En la tabla siguiente se define la relación entre el modelo de coherencia y la durabilidad de los datos si se produce una interrupción en toda la región.The table below defines the relationship between consistency model and data durability in the presence of region wide outage. Es importante tener en cuenta que, en un sistema distribuido, aunque la coherencia sea sólida, el teorema de CAP determina que no es posible tener una base de datos distribuida con un RPO y un RTO de cero.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. Encontrará más información en Niveles de coherencia en Azure Cosmos DB.To learn more about why, see Consistency levels in Azure Cosmos DB.

RegionesRegion(s) Modo de replicaciónReplication mode Nivel de coherenciaConsistency level RPORPO RTORTO
11 Arquitectura única o multimaestroSingle or Multi-Master Cualquier nivel de coherenciaAny Consistency Level < 240 minutos< 240 Minutes <1 semana<1 Week
>1>1 Maestro únicoSingle Master Sesión, prefijo coherente, eventualSession, Consistent Prefix, Eventual < 15 minutos< 15 minutes < 15 minutos< 15 minutes
>1>1 Maestro únicoSingle Master De obsolescencia entrelazadaBounded Staleness K & TK & T < 15 minutos< 15 minutes
>1>1 Maestro únicoSingle Master AltaStrong 00 < 15 minutos< 15 minutes
>1>1 Arquitectura multimaestroMulti-Master Sesión, prefijo coherente, eventualSession, Consistent Prefix, Eventual < 15 minutos< 15 minutes 00
>1>1 Arquitectura multimaestroMulti-Master De obsolescencia entrelazadaBounded Staleness K & TK & T 00

K = número de versiones "K" (es decir, actualizaciones) de un elemento.K = The number of "K" versions (i.e., updates) of an item.

T = intervalo de tiempo "T" desde la última actualización.T = The time interval "T" since the last update.

Coherencia fuerte y arquitectura multimaestroStrong consistency and multi-master

Las cuentas de Cosmos configuradas para la arquitectura multimaestro no se pueden configurar para coherencia fuerte, ya que no es posible que un sistema distribuido proporcione un RPO de cero y un RTO de cero.Cosmos accounts configured for multi-master cannot be configured for strong consistency as it is not possible for a distributed system to provide an RPO of zero and an RTO of zero. Además, no hay ventaja en la latencia de escritura por usar la coherencia fuerte con la arquitectura multimaestro, ya que cualquier escritura en cualquier región debe replicarse y confirmarse en todas las regiones configuradas dentro de la cuenta.Additionally, there are no write latency benefits for using strong consistency with multi-master as any write into any region must be replicated and committed to all configured regions within the account. Esto produce la misma latencia de escritura que una sola cuenta maestra.This results in the same write latency as a single master account.

Pasos siguientesNext steps

Obtenga más información sobre las compensaciones entre distribución global y coherencia general en sistemas distribuidos.Learn more about global distribution and general consistency tradeoffs in distributed systems. Consulte los artículos siguientes:See the following articles: