If you are looking to host your data in the Cloud when hosting a Web application with Windows Azure, there are really two options when it comes to storing and managing that data: SQL Azure and Windows Azure Storage. Both have their benefits, so let’s take a look at the advantages of each and some scenarios where one may make sense over the other.
At a high level, the main differences are SQL Azure, with only small discrepancies, functions the same as an On-Premise Microsoft SQL relational database, while Windows Azure Storage is non-relational (NoSQL) type data, you could imagine this as flat file system storage. The primary benefit of Windows Azure Storage is the price.
Given the information above, when is one better than the other? Let’s start with SQL Azure. You will likely use SQL Azure if you have a need for (or already have) relational data. That is, Windows Azure Storage is not going to support the joining of records at the data layer. This would require retrieving all of the data and processing the joins in code, and would be much less efficient. Similarly, if fairly significant calculations will be done against the data, SQL Azure will likely be the way to go because it is going to give you a lot of built-in functions to calculate aggregates on the data and return only the calculated value. The alternative would be pulling back all of the data and processing the calculation with code, which is not going to perform as well. SQL Azure is also a better choice if there will be an immense number of transactions against that data. With Windows Azure Storage, there is a small transaction cost that is not present with SQL Azure. Although it is a small fee, with enough transactions, it begins to decrease the cost advantage of choosing Windows Azure Storage.
Given its pricing and flat file model, there are several instances in which Windows Azure Storage is the better choice. Large files are generally better suited for Windows Azure Storage for the obvious reason that storing single non-relational flat files in SQL Azure provides little advantage and the cost is significantly higher. Much the same, queues, which serve to pass messages between Web and worker roles, can be stored in Windows Azure Storage and there is a type of storage specifically for that purpose. For most uses, Windows Azure Storage can be used anywhere that a server file system was used previously, and for any data that is not relational and does not need to be stored in SQL.
The pricing for both SQL Azure and Windows Azure Storage has been reduced significantly in the last few months, and now looks to be a great incentive for businesses considering a migration to Windows Azure.
I need more information. Where do I go from here?
For more Azure related thought leadership, please view our Azure related blog posts. Credera is available to guide you through initiating a proof of concept implementation where you can choose to utilize SQL Azure or Windows Azure Storage offerings.
Credera can also walk you through a Cloud computing assessment in order to determine which products would be the best fit given your current environment, and help you anticipate which solutions can be implemented to meet future needs.
To contact a Cloud expert, email firstname.lastname@example.org or call 972.759.1836.