Sramana: What was it about MongoDBs database platform that was unique? You said that you believed for seven years that the world needed a new database. What did you see in MongoDB that made you believe it was the answer?
Max Schireson: Fundamentally, I believed the world needed a new database that would do two things differently than a relational database. One, it should work very naturally in a scale-out architecture. You should be able to string together commodity hardware to handle increased workload. That was very hard for a relational database and there was not a generally packaged solution.
Second, I thought the data model needed to be addressed. I thought the relational model was good for tabular data. A lot of the data that people are dealing with nowadays is hierarchical. It has irregular metadata. There are a lot of cases that are hard to map into relational databases. As people began moving towards agile development, the need to be able to keep pace with changing data sets was incredibly important and that was not a strength of relational databases. I felt the world needed a new data model.
Specifically with MongoDB, it was the combination of several things. First, I really liked the team. I thought the team was very smart and that they would be good people to work with. They had a track record of success and we saw the world similarly. Second, I thought they had made a lot of correct decisions in charting MongoDB.
Much of the NoSQL world had thrown the baby out with the bathwater by over simplifying. There was no notion of transactions and there were no secondary indexes. There was no sorting. It was too different from relational databases to be easily adapted by developers. I felt that the MongoDB team had done a great job changing what needed to be changed while keeping enough of the legacy operations that developers would be comfortable. Finally, I could see the market was latching on to MongoDB. I could see what people were posting jobs for and doing Google searches for. MongoDB looked like the early leader.
Sramana: What domains did you think MongoDB could be the “killer app” in?
Max Schireson: Primarily for web companies. FourSquare was built on MongoDB. Shutterfly was storing photo metadata in MongoDB and Craigslist was storing their archive there.
Sramana: In the examples you just gave, there seem to be various use cases. What is the common theme?
Max Schireson: The common theme tends to be a mix of scalability and data variety. If you think about photo metadata, then you will see that they type of metadata that you can get with a photograph is constantly changing. You can get file size and photo date pretty easy, but there are also things like shutter speed and f-stop. You could pull out the camera subject distance and then GPS coordinates. Later, people were able to place tags for subjects or even facial identification.
At Craigslist, they had a challenge of schema changes. They would have to do an alter table that would touch billions of records. MongoDB let them have a new schema on new records while maintaining the old schema on old records. That flexibility and the ability to have that flexibility at scale is the power of MongoDB.