“MongoDB wasn’t designed in a lab. We built MongoDB from our own experiences building large-scale, high-availability, robust systems. We didn’t start from scratch, we tried to figure out what was broken and tackle that. So the way I think about MongoDB is that if you take MySQL, and change the data model from relational to document-based, you get a lot of great features:
embedded docs for speed, manageability, agile development with dynamic schemas, and easier horizontal scalability because joins aren’t as important. There are a lot of things that work great in relational databases: indexes, dynamic queries, and updates to name a few, and we haven’t changed much there. For example, the way you design your indexes in MongoDB should be exactly the way you do it in MySQL or Oracle, you just have the option of indexing an embedded field.”