How are you using SQLite?

sigzero on 2006-03-14T03:31:23

It occurred to me that there might be some surprising uses for SQLite in the Perl realm.

How are you using it?


Well....

Alias on 2006-03-14T08:14:50

What about what I'd LIKE to do with it?

What I'd like to have is the CPAN index available as a SQLite database, plus the CPANTS dependency maps, plus the CPAN Testers statistics.

And then I want a Data::Package::SQLite class, that grabs all of these files every few days, lets me load them with a DBIx::Class loader, and work with them sanely.

And then finally there might be a simple way to programmatically get access to all the CPAN metadata floating around, but which is most certainly not simple and easy to use.

use CPAN::Metadata;

That should be it.

Re:Well....

acme on 2006-03-14T15:01:58

I'm sure you realise that CPAN Testers results is already available as an SQLite database: http://testers.cpan.org/testers.db (large!)

Re:Well....

Alias on 2006-03-14T16:29:46

Yep, I know. That's one of three.

And I've created Data::Package::SQLite to start heading towards installing that dataset.

Various uses

ajt on 2006-03-14T12:18:39

I use it for various things. Works well as a simple backend DB in Maypole, and various apps we use at work. I'm even considering using it as a configuration file format - but that's one of my more outlandish ideas...

Cross platform DB

grantm on 2006-03-14T23:02:50

I wrote a web app for my wife to use and it needed a DB. It also needed to run on her Windows machine. My machine runs Debian (Ubuntu actually) so I was keen to use cross-platform components everywhere. I did the development and testing on Linux then installed the Apache+Perl+mod_perl+kitchen_sink for Win32 from Randy Kobes and the SQLite PPM from his repository on the target Windows machine. Everything Just Worked™ and setting up the database on Windows was a simple as copying one file from Linux.

Scaling

Matts on 2006-03-15T12:57:09

I'm using it to solve an interesting database scaling problem. Basically per-user quarantine storage for spam. This doesn't scale too well in a traditional database as you get a single index across one huge table clustered on (userid, column) and that index becomes very very hard to maintain and optimise. By giving every user their own DB I get around this issue, and it's very VERY fast.

SQLite helps me with house-keeping

rhesa on 2006-03-18T15:06:14

sqlite3 the_house.db 'VACUUM;'