The hashtable is the database

If you pretend to be at least a little bit hip, you dumped your SQL database server and moved back to the core. To the essence. The format that fits any problem. No, it’s not the string of bits, lets not go that far (yet). It’s the hashtable. The hashtable is the anti-relational database. You might think it’s highly impractical or limited, but that’s where you’re wrong. What matters is not practicality, what matters is scalability. It turns out that hashtables scale like butter. A few days ago I talked about project Voldemort, used by LinkedIn. Similarly, Amazon has Dynamo. CouchDB is not that much more than a hashtable either.

“But what if I want to do X, Y and Z? I can’t do that with a hashtable!”

If you can’t do X, Y and Z with a hashtable, there must be a good reason for it. As you develop X, Y and Z you are likely to find they were bad ideas anyway. If features don’t fit the hashtable model, more often than not they turn out to be pretty crappy features.