In today’s article, I will explain Data Management in Windows Azure.
Apps need data and different types of apps require different types of data. That’s why Windows Azure has different methods for storing and managing data.
Running SQL Server or another DBMS (Database Management System) in a VM created with Windows Azure Virtual Machines (such as MongoDB, Cassandra and NoSQL), it is extremely easy to run your own database system (replaces your own datacenters), but DBMS’ You need to manage.
Windows Azure Data Management Options
To make this even easier, Windows Azure offers three different data management options where most of the management work is done for you.
Each of these three options fulfills a different need:
1) Relational storage.
2) Quick access to potentially large amounts of simply written data.
3) Unstructured binary storage.
In all three cases, data is automatically replicated to three different computers in the Windows Azure datacenter to ensure high availability. It’s worth noting that each of the three options is accessible by Windows Azure applications or applications running elsewhere, such as in your on-premises datacenter, laptop, or phone.
And no matter how you implement it, you pay for Windows Azure data management services based on usage. The price you pay also includes a monthly fee per GB for stored data.
Azure SQL Database
Windows Azure provides SQL Database for relational storage. SQL Database, formerly SQL Azure, offers all the essential features for a relational database management system. This includes atomic operations, simultaneous access and data integrity by multiple users, ANSI SQL queries, and a familiar programming tool.
Like SQL Server, we can access SQL Database with Entity Framework, ADO.NET, JDBC and other known data access technologies. Also, most of the T‐SQL language and SQL Server tools such as SQL Server Management Studio are supported.
SQL Database is simple to use for anyone if they know how to use SQL Server (or any other relational database).
But SQL Database is a PaaS service, not just a DBMS in the cloud. You still control your data and who accesses it, but SQL Database does most of the administrative work for you, such as managing the hardware infrastructure and keeping the database and operating system up to date.
SQL Database also offers us a federation option that distributes data to multiple servers. This option is useful for applications that work with very large data or need to distribute data access requests across multiple servers for better performance.
Applications running outside the cloud can also use this service, but there are many more scenarios related to this subject.
For example, we can access the data stored on SQL Database from different client systems such as desktop, laptop, tablet computers and phones. It also helps reduce SQL Database downtime as it provides high availability internally through replication.
Let’s say we want to create a Windows Azure application that requires fast access to written data, and let’s say this data is large in size, but complex SQL queries are not required on this data.
For example, let’s say you’re building a consumer application that will store customer profile information for each user.
Your app is going to be very popular so you will need to allow large scale data, but it will be stored and you will do nothing more than simply retrieve it using simple methods. This is one area where full Windows Azure Tables can be used.
Don’t be fooled by the name, this technology does not offer associative storage. (it’s actually a NoSQL approach called key-value storage). In contrast, Windows Azure Tables allows us to store various types of properties of an application, such as information and dates.
The application can also obtain properties of that group by presenting a unique key associated with the group.
Although complex operations such as merging are not supported, tables provide fast access to written data. It is also highly scalable, and a single table can hold a terabyte of data. In addition to its simplicity, tables are even cheaper to use than to use SQL Database’s relational storage.
The third option for data management is Windows Azure Blobs, which is designed for storing unstructured binary data. Like Tables, Blobs provide inexpensive storage, and a single blob can be as large as a terabyte.
For example, an application that stores videos or backup data or other binary information can use Blobs for simple and inexpensive storage.
Windows Azure applications can also use Windows Azure drivers, allowing Blobs to provide persistent storage for the Windows file system mounted on a Windows Azure instance. The application sees ordinary Windows documents, but their contents are actually stored in a blob.