Over the past few weeks, I have been writing a detailed blog post comparing Windows Azure Table Storage and Amazon SimpleDB. You can read that post here: https://gauravmantri.com/2012/04/21/comparing-windows-azure-table-storage-and-amazon-simpledb/. This blog post summarizes the comparison.
Like the other post, for the sake of brevity we’re going to refer Windows Azure Table Storage as WATS and Amazon SimpleDB as ASDB in the rest of this blog post as well.
Following table provides a comparison summary of features in WATS and ASDB.
WATS | ASDB | |
Current service version | 2011-08-18 | 2009-04-15 |
NoSQL database | Yes | Yes |
Consumption based pricing | Yes | Yes |
Only pay for the data stored | Yes | Yes |
Pay for transactions | Yes | Yes |
Pay for data ingress | No | No |
Pay for data egress | Yes | Yes |
Indexing support | Partial | Full |
Consistency model | Strongly | Eventual |
Ability to create tables/domains | Yes | Yes |
Minimum/Maximum length of a table/domain | 3/63 | 3/255 |
Case Sensitivity | Mixed case | Mixed case |
Valid Characters | Alphanumeric | Alphanumeric, Dash (-), Hyphen (_) and Period (.) |
Is create operation idempotent | No | Yes |
Maximum number of tables/domains | N/A | 250 |
Maximum size of a table/domain | N/A | 10 GB |
Maximum number of attributes across all tables/domains | N/A | 1 Billion |
Ability to fetch list of tables/domains | Yes | Yes |
Maximum number of tables/domains returned per call to the service | 1000 | 100 |
Returns continuation token in case more tables/domains are available | Yes | Yes |
Ability to delete tables/domains | Yes | Yes |
Is delete operation idempotent | No | Yes |
Ability to get metadata about a table/domain like number of entities/items, size of table/domain etc. | No | Yes |
Ability to create an entity/item in a table/domain | Yes | Yes |
Maximum number of attributes per entity/item | 256 | 256 |
Maximum number of custom attributes per entity/item | 253 | 256 |
Attribute data type | One of eight data types | String |
Maximum size of an entity/item | 1 MB | 256 KB |
Maximum size of an attribute value | N/A | 1 KB |
Ability to update an entity/item in a table/domain | Yes | Yes |
Supports conditional updates | Yes | Yes |
Ability to delete an entity/item from a table/domain | Yes | Yes |
Is delete operation idempotent | No | Yes |
Ability to get all attributes of an entity/item | Yes | Yes |
Ability to get selected attributes of an entity/item | Yes | Yes |
Ability to perform batch operations on multiple entities/items | Yes | Yes |
Ability to query tables/domains | Yes | Yes |
Maximum number of entities/items returned per call | 1000 | 2500 |
Default number of entities/items returned per call | 1000 | 100 |
Maximum size of response payload | N/A | 1 MB |
System can time out queries | Yes | Yes |
Maximum execution time after which a query will be timed out by the system | 5 Seconds | 5 Seconds |
Possibility of system returning partial records | Yes | Yes |
Supports custom ordering of query result | No | Yes |
I hope you will find this information useful.