Ivo Köthnig wrote:
Using a database allows us to run a set of highly complex queries to examine the relationships between articles and the metadata about articles. In fact we can even examine the relationship between articles and users (watchlist), or between the metadata of different articles (redirect status in "What links here").
This also can be done without a database. Of course in that case you have to implement the needet datastructure and can not use sql-queries. This takes more time to develop, but you are free to code whatever datastructure you might think is the best. The try to emulate it by a db-structure can fail and even if you it does not fail you are slower since you have all the overhead-calculations the database produce since it wants to be as generell as possible.
You have not provided examples of "overhead calculations" that a DB would have to perform that a file system wouldn't. You also haven't provided evidence of your claim that DBMSs cannot represent the required range of data structures.
There is a huge number of organisatorial tasks that you would need to do with your files (when reading, that would be parsing the file, locating data, possibly caching and perhaps sorting; when writing, that would be updating indexes, managing "holes" in the file, and a huge host of other horrendous things). Next, if your data structures are spread over several files, you will have huge problems implementing atomicity, and you will run into a number of race conditions.
DBMSs are specifically designed to do exactly these things. People often tend to forget that DBMSs aren't really much more than systems that manage files! But they have all these incredibly complicated and advanced things in it that you need and you really really don't want to have to re-implement from scratch.
For 99.9% of data you want to store, you *can* create *exactly* the data structure you need using an RDBMS.
It is a fallacy that a database makes things more complicated. It makes
I dont say this. It makes coding easier. But easy code is always slow...
It is pretty bold to think that you can do so much better (i.e. faster) than the hundreds of thousands of experienced developers who have put their effort into MySQL.
Timwi