Queues are databases
It really helps when you know the research that happen to behind building large scale software packages like SQL server Service Broker or BizTalk server itself, (both products are heavy processing of data structures saved in queues, the storage underlying the storage is in fact SQL table) a lot of what’s built driven from papers like this: http://arxiv.org/ftp/cs/papers/0701/0701158.pdf
This paper is by a Microsoft researcher Jim Gray, he was proposing that queues based on transaction processing systems TP like SQL servers are much more powerful and the resemblance is even very obvious in most of application quoting the paper
“
The paradox is that queues are just an application data structure. Their concurrency
control and recovery needs appear in many other contexts. An auction application
looking for a set of sellers to match a buyer needs exactly these features. An emergency
dispatch application needs to find the highest-priority request not yet being serviced.
Similar requirements appear in workflow, CASE, and parallel programming models like
Linda.
There is a pattern here. Each new requirement for a queuing system seems to reflect a
corresponding requirement for user-application data. This recurs when one considers,
query interfaces to queues, queue performance monitoring, queue backup, restore,
recovery utilities, queue security, and so on. Indeed, Richard Carr reports that when a
queuing mechanisms was added to Tandem’s database servers, several applications
became simpler and faster.
“
sadly he was lost in the sea (http://www.theregister.co.uk/2007/01/30/gray_sea_hunt/)
don't know what happened later on; but it was all over the news, people who got educated by him working for Google/ Microsoft were trying to do some heavy image processing to find his sailing boat.
Kal