Azure table storage and Google Appengine datastore are both no-sql key-value datastores. Google appengine indexes data on each of the columns so that you can do fast WHERE queries on each of the data column variable. E.g., lets say I am inserting data with following columns:Date Author Book Reviews
Google appengine will go ahead and index data on each of these columns so that following queries are fast:
- get all rows WHERE Date == something
- get all rows WHERE Author == someone
- get all rows WHERE Book == title
- get all rows WHERE Reviews >= 4
but it looks like azure table storage does not index data on all the columns. It seems to index only the {partition key, row key} combination. Is that correct? This seems to be a significant shortcoming compared to google's datastore. Why this design? Here is a workaround I found.