title: Microsoft Azure DocumentDB vs Azure Table Storage
body: <p>For several recent years, Microsoft offers a "NoSQL" key/value storage, called "Table Storage" (<a href="http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables/" rel="noreferrer">http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables/</a>)</p>
  
  <p>Table Storage offers a high performance, scalability (via partitioning) and relatively low cost. A primary drawback of Tables that only Partition and Row keys can be indexed - so making queries on values is very inefficient.</p>
  
  <p>Recently Microsoft announced a new "NoSQL" service, called "DocumentDB" (<a href="http://azure.microsoft.com/en-us/documentation/services/documentdb/" rel="noreferrer">http://azure.microsoft.com/en-us/documentation/services/documentdb/</a>)</p>
  
  <p>Instead of storing a list of properties (like Tables do), DocumentDB stores JSON objects. The whole object being indexed - so efficient queries may be created based on every property and any nested property of stored objects.</p>
  
  <p>Microsoft says that DocumentDB provides high performance and scalability as well.</p>
  
  <p>If that's so - why anyone would use Table Storage over DocumentDB? It sounds like DocumentDB provides the same functionality as Tables, but with additional capabilities such as the ability to index anything.</p>
  
  <p>I will glad if someone could make a comparison between DocumentDB and Table Storage, highlighting cons and pros of each one.  </p>