Do you need the ability of global distribution of your data and wonder which database is the best for this? Today, I’d like to give you a comparison between Azure SQL Database and Cosmos Database for global distribution.
Cosmos DB is a globally distributed, multi-model database solution with high SLAs around distribution. It’s designed for your applications and supports document and graph databases. Azure SQL DB has the concept of consistent reads and the ability to store your data. But my goal here is to talk about their differences with global replication and global distribution of your data.
Cosmos DB
Azure SQL Database
A couple things to be aware of, with Azure SQL DB you only have 4 read-only secondaries off an individual or SQL DB. In contrast, Cosmos DB can replicate wherever Cosmos DB is in the data center; you just go in and click a button. Also, in Cosmos you can do manual failover operations, or you can code them out, so it can be written to wherever it is in the world, closer to the active people using your application.
Manual failover is not something you would do with Azure SQL DB. All those writes must come to a primary replica and we’d have to feed out the replicas through read. The biggest pain point you may notice is managing the connectivity to your Azure SQL database in a globally replicated scenario.
There are some techniques, as well as tools within Azure to make it easier to use, such as Traffic Manager. You have the option to use an IP address in Traffic Manager and route things through there, but you must set all that up.
With Cosmos DB, that work is done for you because it’s designed from the ground up to be globally replicated. This does not mean you shouldn’t use active global replication with Azure SQL DB. You just need to understand the differences and use cases to make sure you use the database that best fits your needs to distribute your data globally.
If you’d like to talk more about Azure SQL Database or Cosmos DB or any Azure related topic, we are your best resource. Click the link below or contact us—we’re here to help.