Overview of Data Distribution with Azure Cosmos DB
Microsoft DP-200 exam is getting retired on June 30, 2021. A new replacement exam Data Engineering on Microsoft Azure (DP-203) is available.
Nowadays applications need to be highly responsive and always online. And further, for achieving low latency and high availability, instances of these applications require data centers deployment for their users. Thus, these applications deployment is for multiple data centers that are known as global data distribution. Globally distribution of applications requires a globally distributed database that can transparently replicate the data anywhere in the world. This enables the applications for operating on a copy of the data that’s close to its users.
However, Azure Cosmos DB refers to a global distribution database service that is designed for providing low latency, elastic scalability of throughput and semantics for data consistency. Moreover, you can configure your databases to be globally distributed and available in any of the Azure regions. For lowering the latency, place the data close to where your users are. Choosing the necessary regions depends on the global reach of your application and where your users are located. Cosmos DB transparently replicates the data to all the regions associated with your Cosmos account. Moreover, it provides a single system image of your global distribution Azure Cosmos database and containers that applications can read and write.
Lastly, using Azure Cosmos DB, you can add or remove the regions associated with your account at any time. Moreover, the application doesn’t require a pause or redeployment for adding or removing a region. That is to say, it continues to be highly available all the time because of the multi-homing capabilities that the service natively provides.
Key benefits of global distribution
Building global active-active apps using its novel multi-master replication protocol, every region supports both writes and reads.
However, with using the Azure Cosmos DB multi-homing APIs, your application is aware of the nearest region and can send requests to that region. However, as you add and remove regions to and from your Azure Cosmos account, then your application does not require a redeployment or pause. As it continues to be highly available at all times.
- Firstly, build highly responsive apps using which your application can perform near-real-time reads and writes against all the regions for your database. However, Azure Cosmos DB internally handles the data replication between regions with consistency level guarantees of the level you’ve selected.
- Secondly, building highly available apps for running a database in multiple regions worldwide increases the availability of a database. However, if one region is unavailable, then other regions automatically handle application requests.
- Thirdly, maintaining business continuity during regional outages. That is to say, Azure Cosmos DB supports automatic failover during a regional outage. During a regional outage, Azure Cosmos DB maintains its latency, availability, consistency, and throughput SLAs. However, for helping in making sure that your entire application is highly available, Cosmos DB offers a manual failover API to simulate a regional outage.
- Then, scaling read and write throughput globally. Using this you can enable every region to be writable and elastically scale reads and writes all around the world. Moreover, the throughput that your application configures on an Azure Cosmos database or a container guarantees to deliver across all regions associated with your Azure Cosmos account.
- Lastly, choosing from several well-defined consistency models. That is to say, the Azure Cosmos DB replication protocol offers five well-defined, practical, and intuitive consistency models.
Reference: Microsoft Documentation