The great advantage of the database though is the ability to perform ad-hoc queries.
Yep, that's a big one, no doubt about it. That's why I'm mostly just brainstorming at this point. I _suspect_ that the database costs us a lot in things like unnecessary locking and indexing, but that may well be offset by the gains.
For example, we could probably make it easier to cache page requests if we made most of the article content HTML not dependent on skin by tagging elements well and using CSS appropriately.
You mean, like we had in phase II before you rewrote it? ;)
Now, waitaminnit, that's not true at all. Magnus had all kinds of dynamic nonsense that I removed--his code changed the actual HTML of links depending on the user's preference for link color, for example. I removed a lot of those, but I don't know if I caught all of them. I know for sure that the sidebars are fully dynamic and likely uncacheable, but the article content should be mostly cacheable now or close to it.