I have a reasonably large data set and would like to store it in a file rather than a RDBMS.
The main table in the data set is just over 1M rows, 30 columns and abou
sqlite should work just fine for you. I have run a data set of that size even in an embedded device and sqlite performance was quite reasonable.
As stated, the main bottleneck is concurrency. Aim to design your system so that there is at most one database handle open per database file.