Project Voldemort is an open source implementation of parts of Amazon’s Dynamo (on top of which Amazon built various of its AWS web services, such as S3). It’s a database in its most basic form: (key, value) pairs. Which reminds me of a visitor we once had in our group. He visited because he developed software that generated code (which is what we do research on). It turned out that he used PHP to generate HTML code, which is hardly ground breaking. Nevertheless, he had an interesting view on database design: “all this normalization and column type stuff in database seems pointless to me,” he said. “In the end, all you need is strings. That’s why all columns in my tables are of type string with a fixed column width.” Looking at current developements, this statement could almost be seen as prophetic. The database 2.0 that starts to emerge indeed seems to move back to denormalized tables and String column types. Look at Amazon SimpleDB and CouchDB and you’ll see what I mean.
But I digress. The key, value pairs in Voldemort are automatically distributed over multiple server to make the system scale. Voldemort is used by a little site called LinkedIn that you may know. Why I care? Because Harry Potter is cool and Voldemort is a kick-ass name for a software project.