Defining Terms


Today I realized that I use my email accounts as databases. Essentially, I store large amounts of important information in my email Inbox and Sent folders, and when I want those pieces of information, I search my email. For example, if someone emails me directions to a meeting place, I won’t take those directions and put them in some other location for future reference, I will simply look up the email (and possibly print it) when I need the directions.

Surely I’m not the first one to make this observation. In fact, it can be seen that even email technology has long moved in this direction. For example, qmail supplies atomic disk writes (basically, transaction support), and as I mentioned previously, there are products that let you build indexes on your email.

So this all begs the question: why aren’t we using full-fledged database servers in our email servers and clients? You would think that doing so would add many desirable features. I’ll admit, it might be overkill for clients, especially considering the startup and shutdown times of most RDBMS’s, but when users have hundreds of thousands of messages, would the startup cost be offset by the speedup of use?

I think some clients that act more like thinclients do this. I know that Lotus Domino kind of uses its braindead database system for email (and stores each mailbox in a separate file), and I remember reading once that Microsoft Exchange uses an RDBMS (I can’t seem to verify that now). But where are the fatclients? Especially with embeddable database engines with ACID compliance and indexes, you’d think that someone would integrate this into a good email client.