SQLite Rules

Quick, what’s the most widely deployed database in the world? MySQL? Oracle? Nope, it’s that puny squirt SQLite – the one you see listed as an option every time you set up a new Rails or Django site. SQLite is not a database server, but a SQL-compatible interface to a single file — perfect for every application that needs a full relational database without the overhead and complexity of a client/server connection. In other words, it’s in your smartphone. It’s on your Mac (driving the indexes in Mail.app, plus the databases behind Aperture and Safari). It’s in Adobe AIR. It’s in FireFox. It’s in Android. It’s in a bunch of giant products and services that will never admit to it.

SQLite is fast. Hella fast. Not great with massive concurrency or transactions, but runs circles around its more popular big brothers in simple SELECT/INSERT statements in moderate-traffic environments. Apparently it can be used to run production web applications if you don’t transactions or permissions (“If your site is small enough to run on a single server, it’ll rock on SQLite.”)

Excellent interview with SQLite’s creator Richard Hipp in this week’s FLOSS. Incredibly humble guy. Talks like his accomplishments ain’t no big thing. But his software changed the world. And instead of making a million bucks off it, he took his name out of the source code and released it into the public domain. Now he makes his living doing customizations for giant corps. Altruism can be good business.

Music: The Who :: Sunrise