For a new project I'm working on right now I was doubting on which database/storage system to use for specific information which does not change that often.
We have for instance some company-profiles which will have only incidental writes to it when things like opening-hours change. On the other hand they have a lot of read-throughput; at every page load the information has to be loaded. Storing it at the filesystem as plain documents results in very much IO; Using that as a starting point I was searching for some sort of in-memory-solution.
Normally I store this information in a Postgres database, without any caching in the application-layer. I could off course add a caching layer in redis or memcached to produce lesser IO reads from disk, and handle updates of the cache at the application-layer on update of the information
An other solution is to use MongoDB to store the 'documents'. But I don't know how mongodb handles the read/writes. Eg with every retrieval of the document does it check the filesystem, or does it serve the document from cache/RAM? (I read somewhere mongodb keeps a lot of RAM available for itself)
Can someone shed some light on this?