Azure Table Storage - An Introduction
Azure Table Storage, a highly scalable, but cheap storage solution in Azure, is a NoSQL database for everyday needs and serverless applications. In simpler terms, it stores data with key/value pairs, and it does not require any schema or relationships. Similar to Queue and Blob Storage, Table Storage is also a sub-service of Azure Storage accounts.
There can be multiple tables in a single Azure Storage Account, and each table consists of several rows, also known as entities. The table is capable of storing up to 500 terabytes of data. Furthermore, it is capable of processing up to 20,000 rows per second (assuming each row to be 1 kilobyte). On the other hand, each entity is capable of holding 1 MB of data. Within each entity, there exists a cell. The cell is also known as a key-value pair.
In Azure Table Storage, each entity can have multiple properties and can go up to 252 properties for a single table. In addition, entities in a table have three system properties apart from the other 252 properties. The system properties include a partition key, a row key, and a timestamp. These properties are included for each row in the table and they cannot be renamed. The partition key is responsible for quick data retrieval from the table storage and atomic operations. On the other hand, row keys work like a primary key, and it is a unique identifier.
How is Azure Table Storage Useful?
Azure Table Storage is useful for various scenarios. It’s an ideal choice for cases when data can be denormalized. Furthermore, it is also useful when the tables do not require complex joins. In addition, it can also be used for quick queries over clustered indexes with the help of partitioning keys. Additional features such as OData support and JSON Serializable data are convenient to store in Azure Table Storage.
Azure Table Storage is widely used for mobile, web, and serverless applications as these applications upscale and downscale very rapidly. Furthermore, it can also be used for process and business logic logging. Additionally, Azure Table Storage can also store metadata and configuration settings as they are highly scalable and cheap. Azure Table Storage, like any other Azure Storage Service, requires an SDK for the language being used for the configuration. Azure Table Storage has SDK for several languages including .NET, Java, F#, Node.js, Python, PowerShell, Ruby, and PHP.
Azure Table Storage Premium Experience
Microsoft Azure Storage service also provides a premium version of Azure Table Storage known as Azure Cosmos DB with Table API. The service is convenient for tables that require premium capabilities such as high latency, global distribution in various regions, and availability. In terms of pricing, Azure Cosmos DB with Table API is considered to be very expensive, especially for throughput and no upper limit on storage accounts.
Conclusion - Final Words
In summary, Azure Table Storage provides a seamless experience for storing tables with entities that do not require schemes and complex joins. Furthermore, it also provides SDK implementation in almost all widely-used languages.
Now, go forth and start storing stuff in tables!
Happy coding :D