Implementing Azure Cosmos DB with Multi-Master Replication - Consistency Levels for RPO and RTO

Consistency Levels for Azure Cosmos DB with Multi-Master Replication

Question

You plan to deploy an Azure Cosmos DB database that supports multi-master replication.

You need to select a consistency level for the database to meet the following requirements:

-> Provide a recovery point objective (RPO) of less than 15 minutes.

-> Provide a recovery time objective (RTO) of zero minutes.

What are three possible consistency levels that you can select? Each correct answer presents a complete solution.

NOTE: Each correct selection is worth one point.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E.

CDE

https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels-choosing

Azure Cosmos DB is a globally distributed, multi-model database service that supports document, key-value, graph, and column-family data models. Azure Cosmos DB provides five different consistency levels, which determine the level of data consistency across replicas.

To meet the provided requirements of a recovery point objective (RPO) of less than 15 minutes and a recovery time objective (RTO) of zero minutes, there are three possible consistency levels you can select: Strong, Bounded Staleness, and Session.

  1. Strong consistency level ensures that a read operation always returns the most recent version of a data item, irrespective of the location or time of the read operation. Strong consistency ensures that all replicas are fully up to date before any read or write operation is considered complete. Strong consistency guarantees the highest level of consistency but can affect performance due to the extra network traffic required to maintain consistency. However, with strong consistency, it is possible to achieve an RTO of zero minutes.

  2. Bounded Staleness consistency level allows you to configure the maximum allowed lag time between replicas, which can help balance the trade-off between consistency and performance. With bounded staleness, you can specify a maximum number of versions of data that can be out of sync between replicas. Bounded staleness consistency level can provide an RPO of less than 15 minutes and an RTO of zero minutes.

  3. Session consistency level ensures that a client always sees the most up-to-date version of a data item within the same session context. A session context refers to a specific client connection to the database. Session consistency provides a consistent view of data for each client session but may not provide consistency across different sessions. With session consistency, it is possible to achieve an RPO of less than 15 minutes and an RTO of zero minutes.

Consistent Prefix and Eventual consistency levels are not suitable for meeting the provided requirements. Consistent Prefix consistency level allows you to read a prefix of the data that is consistent across all replicas. However, Consistent Prefix consistency level may not provide the most up-to-date version of data, which is not suitable for an RTO of zero minutes. Eventual consistency level allows you to read data from any replica, and eventually, all replicas will become consistent. However, eventual consistency level may not provide the most up-to-date version of data, which is not suitable for an RTO of zero minutes.