Role of MySql
MySQL was written to store complex data structures, which didn't change very often. This is a very common need in the real world.
I use MySQL to hold large tables of epidemiological data. This stuff is collected once, and selected many many times. I do not need transactions, I need a fast complex structured data storage system - I need (and dearly love) MySql. My data may have cost several million dollars to collect, and there is no possibility of collecting it again - I can't afford data loss
I wouldn't store 500 million records in it in a fit, but I haven't got 500 million records, and neither do most of you. If you do, go to Oracle, or Sybase.
Horses for courses, folks!