This article throws light on storage in Azure. When it comes to large storage, certain things need to be understood. Azure offers a wide range of storage services supporting virtually all storage needs, from structured to unstructured data, NoSQL databases, and queues.
How is data stored in the Cloud
As far as Azure goes it has four forms of storage and they are:
- Blob storage
- Queue storage
- Table storage
- Azure drive
Let us try to get a generic explanation for each of them!
What is Blob storage in Azure?
Blob is an acronym for Binary Large object. Basically, a Blob is a sequence of bytes—just what an application needs. In a very general way, a Blob can hold audio, video, email messages, archived files, zip files, or a word processing document.
A developer first creates one or more containers in some storage account to use blobs. Each of these containers can then hold one or more blobs. There are two types of blob storage available; each provides specific functionality:
- Block Blob
- Page Blob
Blobs are stored in and scoped by Blob Containers. Each blob can be up to 50GB. A blob has a unique string name within the container. Blobs can have metadata associated with them, which are <name, value> pairs and they are up to 8KB in size per blob. The blob metadata can be set separately from the blob data bits.
What is Queue storage in Azure?
The main goal of queues is to allow communication between different parts of a Azure application. In simple words Queues separate Web Role instances and Worker Role Instances – A queue contains many messages – The queue name is scoped by the account.
- There is no limit on the number of messages stored in a queue.
- A message is stored for at most a week. The system will garbage-collect messages that are more than a week old.
Queues can have metadata associated with them. Metadata is in the form of <name, value> pairs, up to 8KB in size per queue. - A conventional queue may offer semantics of ‘first in first out’; on the other hand queues in Azure don’t guarantee that a single message can be delivered multiple times.
Processing messages from a queue is a two-stage process. The first stage involves getting the message and then deleting it after it has been processed. This pattern guarantees successful message delivery.
What is Table storage in Azure?
Table storage is a collection of row-like entities, each of which can contain up to 255 properties; however, unlike tables in a database, no schema enforces a certain set of values on all the rows within a table. Table Storage is used by applications requiring large amounts of data storage that need additional structure.
While a table stores structured data, it does not provide any way to represent relationships between the data, which is why it is sometimes called a NoSQL database. Tables in Azure open up room for scalability, so it makes sense for developers to design scalable applications. Just design a table and add some entities, and Azure takes care of the rest.
The goal here is to help developers to focus on their application development rather than worrying about large data management.