Google app engine has similar issue. Its data storage capabilities are lim ited to querying only one table at a time using GQL language, Google analogue for SQL. The reason you can’t join multiple tables in GQL is design approach.
Different story with MS Azure – Microsoft claims support for MS SQL Services from the very beginning, the only issue is that unlike AWS, Azure still ain’t in a production mode. So there’s lots of unknown.
Overall, let’s try taking closer look at a problem. Quite possibly that position like Google’s of complying to some severe design principles to ensure platform reliability and elasticity is making lots of sense, but all these years tens of thousands software development teams were cultivating very effective approach to building software applications – using relational database at the back-end. Over time relational DBMSes matured on one hand. On the other – application development platforms “learned” to access many different DBMSes and even using conceptually different approaches (“wrappers” akin to ADO.NET or JDBC vs ORMs like Hibernate etc). In other words,
Software development world fully addicted to managing data with relational databases
…and again, good or bad, it works. Now what? Changing direction to quite different? Not very likely…Because RDBMSes do not disappear from the horizon of Cloud storage and cloud computing Platforms. One of the examples – Microsoft SQL Server on Azure. Another one would be Amazon-Oracle partnership that now allows AWS developers licensing Oracle products on the AWS platform. And that is good sign because the easiest way of attracting businesses to Cloud storage and cloud computing companies is letting them port their applications to it with minimal (or no) modification. And so now having at least three big players on the market it is quite safe to assume that RDBMS itself is a great incentive for both CC providers and application developers.
…which is good