Why use SQLite when you could use DBM::Deep? That way, you don't have to change anything and it just persists. Writing a SQL generator over it would be pretty simple. We just need something that can work with arrays of hashes and a simple way of indexing. I had started work with this in Presto, but it kinda died when I added transactions to DBM::Deep.
Oh, and DBM::Deep works everywhere Perl does and doesn't require a compiler.
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?