• Interesting certainly. I've been looking into the "cloud" recently and I'm interested that there appear to be some very different architectural models emerging, but nobody seems to have mentioned it yet.

    I've started to come into contact with NoSQL and the concept of "Eventual Consistency", the basic premise being that proper ACID databases just have too much overhead to cope with massively distributed applications like Amazon, Google and Facebook. Looking into it a lot of "Cloud" offerings appear to be using this kind of technology, which to my mind is useless to anyone trying to run any kind of live transactional system, but they keep this information buried.

    The fundamental problem seems to be that when you're serving objects to thousands or millions of people you just can't afford the overhead of keeping track of each individual object and it's state, so the user will pick up whatever the system chooses to throw at them and the updates will be done in the background (and certainly in the case of Facebook the actual consistent view of the data may be thrown up many days later).

    And that's about all I know on the subject, but I think as SQL professionals we should understand the differences between these massively scalable but not particularly reliable models which most of the major "cloud" app vendors seem to be throwing at us and "cloud" as described by Steve, if for no other reason than we can fight the bosses arguments when they try and outsource the whole IT department to the web.

    Anyone know enough to write a good article about this stuff? I for one would find it very useful...