Feature |
Azure Table Storage |
DocumentDB |
|
Table Storage is mainly a key-value type NOSQL. |
DocumentDB is (as the name suggests) a Document Type NoSQL store. |
Server-Side Programmability |
No. |
Yes (JavaScript). |
Indexing |
Primary Key only.
No secondary indexse.
|
All properties indexes by default.but Indexes may be changed/removed. |
Storage |
500TB/Storage account. |
Petabytes. |
Referential Integrity and Transactions |
Limited (uses BATCH operation). |
Supports transactions through JavaScript. |
Support Stored Procedure |
No |
Yes in JavaScript |
Transactional boundary |
All entities in the same partition. |
All documents in the same partition |
Query Language |
OData subset. |
Enhanced subset of SQL syntax. |
Performance |
2000 entities/secord per partition |
10ms single document reads for 99% of requests
15ms single document write for 99% of requests
Each operation is measured in Request Units (RU), with some operations costing more than 1 RU (possibly significantly more,
especially when looking at things like spatial queries). Collection RU performance scales from 400RU to 10,000 RU for single-partition collections.
|
Limitations |
Each table contains only two indexed columns: a partition key and a row key. This means that you can only run queries based on these keys. You can’t index any columns or properties of the rows you insert, and so can’t run queries against them. |
Price: at 25 cents per gigabyte, it is more than double the cost of Azure Tables’ most expensive rate.
Scaling: While DocumentDB can scale to hold a large amount of data, document collections that will need to scale easily have to be created as partitioned collections from the beginning. |
Trigger |
Not support |
Support |
Function |
No Support |
Support |
Stroing consistency |
Stroing consistency |
Data replicates to any number of regions of your choice with well-defined tunable consistency
semantics(at the click of a button) strong, bounded stateness, session and eventual
|
Scalability |
Tables Storage throughput of 2k is a scalability limit (not guaranteed maximum) |
In DocumentDB provisioned throughput is guaranteed, i.e. the minimum value |
|
Support Key-Value(KV) Storage. |
Document storage is a superset of KV storage, so DocumentDB supports both modes. |
Per-partition limit |
20k in tables. |
Infinite per-collection in DocumentDB.
because partitions are managed by both services.
|