Is there a general rule of thumb to follow when storing web application data to know what database backend should be used? Is the number of hits per day, number of rows of data, or other metrics that I should consider when choosing?
My initial idea is that the order for this would look something like the following (but not necessarily, which is why I’m asking the question).
- Flat Files
- BDB
- SQLite
- MySQL
- PostgreSQL
- SQL Server
- Oracle
It’s not quite that easy. The only general rule of thumb is that you should look for another solution when the current one can’t keep up anymore. That could include using different software (not necessarily in any globally fixed order), hardware or architecture.
You will probably get a lot more benefit out of caching data using something like memcached than switching to another random storage backend.