In experiments I've noticed that SQLite files aren't much bigger than their equivalent in tab delimited textfiles. So I wouldn't use flatfiles
just to save space. If you want to use SQL, use
DBD::SQLite.
Here's a little node I wrote some time ago, about my experience with SQLite.