An example of using a csv file as a database and a very simplistic session implementation on top of that. It does not handle a million records well. This implementation uses a read only approach to the data files.
You are starting out with a new application. There is really no need to drag a database into your application.
There are many applications that that does not contain a lot of data. Having a database increases cost and complexity (and make it harder to deploy your application).
- You have a lot of data (millions of entities) and want to query that data.
- You need to do distribute the data in several database nodes (for instance to ensure availability).
- You need to handle writes from multiple threads