In this article we will learn about Azure Storage Service.
- Introduction of Azure Storage Services
- Type of Azure Storage Services.
- What is table Storage
- Basic concept of Table Storage
- Simulation of Table Storage (No Sql DB) with RDBMS.
Azure Storage Service
Azure Storage Service enables new capabilities for applications requiring scalable, durable, and highly available storage for their data.
Azure Storage is massively scalable and elastic: It can store and process hundreds of terabytes of data to support the big data scenarios required by scientific, financial analysis, and media applications. Or you can store the small amounts of data required for a small business website.
By default, we can create up to 100 storage accounts in a single Azure subscription. Each standard storage account can contain up to 500 TB of combined blob, queue, and table and file data.
Azure Table storage
Azure Table storage is a service that stores structured NoSQL data in the cloud, providing a key/attribute store with a schema less design, because Table storage is schema less.
Table Storage uses
- Storing TBs of structured data capable of serving web scale applications
- Storing datasets that don't require complex joins, foreign keys, or stored procedures and can be denormalized for fast access
- Quickly querying data using a clustered index
- Accessing data using the OData protocol and LINQ queries with WCF Data Service .NET Libraries
Storage Account
All access to Azure Storage is done through a storage account
There are two types of storage accounts,
- A standard storage account includes Blob, Table, Queue, and File storage.
- A premium storage account currently supports Azure Virtual Machine disks only.
URL format
Azure Table Storage accounts use this format,
http://<storage account>.table.core.windows.net/<table>
Table
A table is a collection of entities.
Entity
An entity is a set of properties, similar to a database row. An entity in Azure Storage can be up to 1MB in size.
Properties
- A property is a name-value pair. Each entity can include up to 252 properties to store data.
- Each entity also has three system properties that specify partition key, row key, and timestamp, and sub properties which are defined by the developer -- like FirstName.LastName etc
- Entities with the same partition key can be queried more quickly, and inserted/updated in atomic operations.
In Simulation of RDMS , A Table Storage is schema less; i.e. , no primary or join is there .
RDMS | Table Storage is type of No SQl |
Table | Table |
Row | Entity |
Column | Properties |
Primary Key | Partition Key +Row Key(Unique Identifier of Entity) |
Join | Filter Expression (Using LINQ Query) |
Group By | Partition Key |
Table Storage Diagram
In Table Storage we store two Partitions, Employee and Customer, therefore we have two partitions of data, one for Employee and the second for Customer.
Note
Employee Partition Key is the same for multiple entities under the same partition, but Row key should be the same under the same partition.
Example - Employee has three entities but Row Key is different.
Subset Properties
User defines the properties where we store our Model Class value. And these values will be retrieved based on the system-defined properties; ie partition key, row key, and timestamp
Example of Subset Properties
First Name, Last Name, Age, Email