QUOTE(jens @ 16 Oct, 2008 - 02:39 PM)

I must admit I haven't gripped what's so special with web stuff. Isn't it just Like a low bandwidth connected app that opens and closes connections to the DB all the time?
Well...yes and no.
As far as low-bandwidth goes, it's not the same. With connected apps, a low-bandwidth connection to the DB can kill performance. I'm sure you're familiar with that.
With web apps, unless you have a seriously brain-damaged network architecture, you should
never have a low-bandwidth DB connection, since it's all contained within your back-end network. So your bottleneck on database operations should be query performance, not connection speed. You may still have a low-bandwitdh connection to the
client, but that doesn't really have anything to do with your database queries. By the time the client gets back the page he requested, the DB work has long since been completed.
As for locking, it depends on what you mean. Locking records within a transaction is still the same. But that's not a problem in web apps because most of your transactions will finish quite quickly.
If you're talking about placing write locks on records that are
currently being edited, that's a different story. You can't really do that in a web app because your edit is spread out across multiple
connections, let alone transactions. It may be
possible to lock records across connections, but I've never tried it and the general concensus seems to be that it's best avoided.
Of course, you can always do your locking on the application level (e.g. have your own lock table or something like that) to achieve the same effect. For instance, look at this
DDJ article on the subject. It's a different sort of approach, though.
Hope that clears up what I was saying a little bit.