This entry started as an offshoot of another idea presented in: Clay-Pidgin: A TCP based message queuing for Tcl/Tk.

Why not go with a straight SQL database hook?

I don't want to support any old interactions that a straight SQL database would otherwise support. I know what my data model is, and I want to enforce that model through the API. I keep SQL around in the background for searching. And in essence, that's what SQL was designed for. Thus the name: Structured QUERY Language. Heck, even Access and Excel support SQL (or SQL-like) queries. It's super handy.

My opening up a full database interface leads developers to fart around in areas that just make the world more complicated than it honestly needs to be.