What Is Azure Table Storage & Queue Storage
What Is Azure Table Storage & Queue Storage
Azure Table storage is a service that stores non-relational structured data (also known as structured
NoSQL data) in the cloud, providing a key/attribute store with a schemaless design. Because Table
storage is schemaless, it's easy to adapt your data as the needs of your application evolve. Access to
Table storage data is fast and cost-effective for many types of applications, and is typically lower in
cost than traditional SQL for similar volumes of data. You can store any number of entities in a table,
and a storage account may contain any number of tables, up to the capacity limit of the storage
account. Azure Table storage stores large amounts of structured data. The service is a NoSQL datastore which
accepts authenticated calls from inside and outside the Azure cloud. Azure tables are ideal for storing
structured, non-relational data. Common uses of Table storage include:
If you currently use Azure Table Storage, you gain the following benefits by moving to Azure Cosmos
DB for Table:
Latency Fast, but no upper bounds on latency. Single-digit millisecond latency for reads and writes,
backed with <10-ms latency reads and <15-ms
latency writes at the 99th percentile, at any scale,
anywhere in the world.
Feature Azure Table Storage Azure Cosmos DB for Table
Throughput Variable throughput model. Tables Highly scalable with dedicated reserved throughput
have a scalability limit of 20,000 per table that's backed by SLAs. Accounts have no
operations per second. upper limit on throughput and support >10 million
operations per second per table in provisioned
throughput mode.
Global distribution Single region with one optional Turnkey global distribution from one to 30+ regions.
readable secondary read region for Support for service-managed and manual failovers at
high availability that supports any time, anywhere in the world.
automatic and manual account
failover.
Indexing Only primary index Automatic and complete indexing on all properties,
on PartitionKey and RowKey. No no index management.
secondary indexes.
Query Query execution uses index for primary Queries can take advantage of automatic indexing on
key, and scans otherwise. properties for fast query times.
Consistency Strong within primary region. Eventual Five well-defined consistency levels to trade off
within secondary region. availability, latency, throughput, and consistency
based on your application needs.
SLAs 99.99% availability. 99.99% availability SLA for all single region accounts
and all multi-region accounts with relaxed
consistency, and 99.999% read availability on all
multi-region database accounts Industry-leading
comprehensive SLAs on general availability.
• URL format: Queues are addressable using the following URL format:
https://<storage account>.queue.core.windows.net/<queue>
The following URL addresses a queue in the diagram:
https://myaccount.queue.core.windows.net/images-to-download
• Storage account: All access to Azure Storage is done through a storage account. For
information about storage account capacity, see Scalability and performance targets for
standard storage accounts.
• Queue: A queue contains a set of messages. The queue name must be all lowercase. For
information on naming queues, see Naming queues and metadata.
• Message: A message, in any format, of up to 64 KB. Before version 2017-07-29, the maximum
time-to-live allowed is seven days. For version 2017-07-29 or later, the maximum time-to-live
can be any positive number, or -1 indicating that the message doesn't expire. If this
parameter is omitted, the default time-to-live is seven days.
After you add a message, the Azure portal displays a list of all of the messages in the queue.
You can view the message ID, the contents of the message, the message insertion time, and
the message expiration time. You can also see how many times this message has been
dequeued.
Dequeue a message
You can dequeue a message from the front of the queue from the Azure portal. When you dequeue
a message, the message is deleted.
Dequeueing always removes the oldest message in the queue.