Hopefully this will be my last SimpleDB post for a while since I think I've spent way too much time on this(especially for a guy who should be laying off the blogging this week because he has way too much stuff to do already). But I felt the need to quote this post from uncov.com. It says...
One of the stupid parts about SimpleDB is XML. All of the query responses come back to the client as a blob of XML. Of course, as a blub coder, you don't see any of this because you are just using an API, so why should you care?
Let's have a gander at a typical query response from SimpleDB, provided in the developer documentation:
<QueryResponse xmlns="http://sdb.amazonaws.com/doc/2007-11-07"> <QueryResult> <ItemName>eID001</ItemName> <ItemName>eID002</ItemName> <ItemName>eID003</ItemName> </QueryResult> <ResponseMetadata> <RequestId>c74ef8c8-77ff-4d5e-b60b-097c77c1c266</RequestId> <BoxUsage>0.0000219907</BoxUsage> </ResponseMetadata> </QueryResponse>
Well, that's just fantastic. A 316-byte response when all you need is 18 bytes worth of data (the 3 unique identifiers). A 1,755% transmission overhead. And don't you give me shit about needing that RequestID, that is a consequence of the protocol.
Now that is a good point. Looking over my last few posts on this topic I think I come across as a SimpleDB advocate but that isn't necessarily the case. All I've been trying to say in my previous posts was that the criticisms should be fair.
Anything has advantages and drawback and that is more true of SimpleDB than it is of most things. I'm all for putting the negatives out there as long as they're valid. The above quote is just that which is why I wanted to put it out there.