Provide alternatives to Atom for Azure Storage data format
Atom is very verbose when fetching data, especially for Azure Tables. Please allow additional lightweight formats such as JSON and POX (plain old XML).
9 comments
-
NSanchez commented
I would prefer a more space+speed efficient format (binary or a compact text alternative) to communicate between roles (web/work) and save date in the azure storage. XML is too verbose!
-
ChrisLamont
commented
+3 ... a very reasonable request that shouldn't be too tough to implement
-
James Andrews commented
Support for Json would be simply grand.
It looks like many developers end up with several serialization methods for both ATOM and Json, this would definitely make the jump to Azure table storage quicker and easier.
-
Rob Gillen
commented
I agree. In our use cases, both JSON and CSV are very interesting. As Gaurav indicated, we've actually taken to building our own azure-side "proxy" that converts ATOM to a "thinner" format for transport over the wire to help with speed.
-
Roger Jennings commented
In all table population tests I've run, the Atom overhead greatly exceeds the data payload. I suggest a CSV format because even POX can result in 5X to 20X overhead, depending on the data type.
-
Neil Mackenzie
commented
I think feed-based data-transfer models are intersting but they become a problem when the feed overhead consumes more bandwidth than the data.
-
Andy Britcliffe
commented
Agreed - we've moved to a JSON model for all our data transfer as it's just much more "lightweight" than XML and would be great to be able to push that straight into Azure.
-
Gaurav Mantri
commented
At the very least JSON should be supported. Please see the following blog posts by Rob Gillen:
http://weblogs.asp.net/rgillen/archive/2009/08/14/atompub-json-azure-and-large-datasets.aspx
http://weblogs.asp.net/rgillen/archive/2009/08/20/atompub-json-azure-and-large-datasets-part-2.aspx
-
Perry
commented
I did a test with transferring 1000 entities from a table it the payload was 2.5 MB! That's an average of 2.5KB per entity when my average entity data (including PartitionKey and RowKey) is 300 bytes. The overhead is too big.