As some of you may have read, I've just finished creating a module called DBD::SQLite, which you can now find on CPAN. This is a DBD driver that is a self contained local RDBMS, so you install it and you don't have to install any server (like MySQL or Postgres), it just works. It's a lot like DBD::CSV or DBD::Sprite. In fact it's almost identical to DBD::Sprite except it's fast. The docs for DBD::Sprite say that it's only good for a few records. Well today I've been testing DBD::SQLite with 100_000 records, and it was still fast - results were coming back before I could blink. I'm going to update my tests to 1 million records, but it'll take a while.
But then Barrie Slaymaker asked me when and why you would use DBD::SQLite, and I honestly couldn't answer him. If you want a toy database for demos, DBD::CSV is fine and great for knocking apps together with. If you want to go into production with something, then you'll probably be happy with MySQL, and not be happy with SQLite, since it's completely typeless (it treats all columns as strings of variable length regardless). The only real argument for SQLite is that it's fast and easy to manage. In that sense it gives you all the advantages of DBD::Sprite (well, most of them), and none of the downside.
But what I really want to know is if you monks out there would use it, so that I can update the docs to reflect if/when/why you would use it. So please, let me know. Thanks!