History of MongoDB

At LinuxCon, a guy took a look at me and said, “So, MongoDB was developed by college students, huh?” No, it was not. I couldn’t distribute my way out of a paper bag, which is why I’m not designing the database.

A lot of people have been curious about where MongoDB came from, so here is the (very non-official) history, present, and future:

In the Beginning…

MongoDB was created by the founders of DoubleClick. Since leaving DoubleClick, they founded a number of startups and kept running into the same scaling problems over and over. They decided to try to create an application stack that would scale out easily, as companies everywhere seemed to be running into the same issues.

In Fall 2007, they founded 10gen and started working on an application platform for the cloud, similar to Google App Engine. The 10gen engine’s main language was server-side JavaScript, so the scalable database they were designing for it (proto-MongoDB) was also JavaScript-y.

The 10gen appengine was called ed (for Eliot and Dwight) and the database was called p (for platform). In the summer of 2008, someone decided that they needed real names, so they came up with Babble for the app engine and MongoDB for the database. The name “Mongo” was, originally, from Blazing Saddles (it was back-named to humongous). I hated the name from the start and knew that it was slang for “mongoloid.”  I sent an email to the list, no one responded, so I gave up.  Now I know to make a ruckus.

Correction 07/01/2013: Dwight commented below, I was mistaken about the original of the name “Mongo:”

Actually the name choice really does come from the word humongous. A couple years earlier a naming consultant showed me a list of 50 names for potential companies and consumer web products, and it was in that deck, and the point made was that it connoted “big”. But as you say some folks joked about the movie reference when we gave that name to the db, and I didn’t elaborate on the logic behind the naming at the time I would guess. I certainly didn’t in my mind make a negative association about the name at the time; my last encounter with it before that point was probably in Shrek 2. I knew it was campy but it was just a piece of the tech stack at first, not then a big standalone product and technology as it is today. Of course I now know that in some parts of the world it’s an odd choice — apologies about that to those of you in those locales.

The problem was, no one cared about Google App Engine and certainly no one cared about 10gen’s app engine. Developers would say, “well, the database is cool, but blech, app engine.”

After a year of work and practically no users, we ripped the database out of the app engine and open sourced them. Immediately, MongoDB started getting users. We saw the IRC channel creep up from 20 users to 30 to 40… (as of this writing there are 250 people in the room).

The Present

We have a large and growing number of community contributors and 10gen has hired a bunch of incredible programmers, including a former Oracle kernel dev (who worked on some of the first distributed systems in the world) and a guy who worked on Google’s BigTable.

Number of contributors to the core server

The last year and a half has been incredibly cool. Not only are thousands of people using our programs, but people are building things on top of them, such as Casbah, Morphia, MongoMapper, Mongoose, CandyGram, MongoKit, Mongoid,Ming, MongoEngine, Pymongo-Bongo, ActiveMongo, Morph, and MongoRecord (very, very incomplete list). People have also been integrating it with various existing projects, such as Drupal, Doctrine, Django, ActiveRecord, Lighttd, and NGINX (again, there are tons of others). The community has also written dozens of drivers for everything from C# to Erlang to Go.

And a couple of sites are using it.

In a nutshell:

GUIs
We decided early on not to create a GUI for MongoDB and let the community sort one out, which has had mixed consequences: there are now over a dozen to choose from! (We’re still hoping it’ll settle down.)
Books
There are now at least four MongoDB books in the works.
The user list
This has grown from us (four people at 10gen) to over 2,500 users.
Packages
We have packages for tons of Linux/UNIX distributions, including Ubuntu, Debian, CentOS, Fedora, ArchLinux, etc.
Documentation
There are dozens of users adding documentation and translating it into French, Spanish, Portuguese, German, Chinese, Japanese, Italian, Russian, and Serbian.
Monitoring
People have created plugins for Munin, Ganglia, Nagios, Cacti, and a few others.
Twitter
Over 5,000 Twitter followers.
Consulting
Hashrocket, LightCube, Squeejee and Mijix provide MongoDB consulting.
Hosting
MongoHQ, MongoMachine are Mongo-specific, EngineYard, Dreamhost, ServerBeach, and Media Temple support it.

The Future

In the next major release (1.8) we’re planning to add singe-server durability and faster aggregation tools. There are already over 150 feature requests scheduled for 1.8 (never mind bug fixes), so obviously not everything is going to make it in. If there’s a feature you’d like to see, make sure you vote for it at jira.mongodb.org!

And 10gen is growing (we’ve just opened a California office). If you’re looking for a job where you can work on a really awesome open source project with some very brilliant programmers, 10gen is hiring.

  • Teccmo

    Hi Kristina,
    I just wanted to thank you for your blog posts. It makes me feel like MongoDB is something of a family and thats one of the reasons I like using it. Also your tweet about the major bug which was a logo recommendation to use a mongoose was great. Thanks.
    P.S.
    That mongoose looked great, although it would have to look as good in like 2 colors to be an effective logo. Still it was really nice.

  • Anonymous

    Thanks! Your comment made my day!

  • Teccmo

    🙂

  • What was the name of your AppEngine like product?

    I think I may have tried it. 🙂

  • Anonymous

    It was called Babble. I can’t remember where the project is now, though.

  • Mel Brooks was criticized for using the name “Mongol” in Blazing Saddles on the grounds that it sounded like “Mongoloid”, a term for Down’s Syndrome that is now considered offensive. Brooks claimed that he did mean any offense. He also either said that the name of the character was “Mongo”, not “Mongol”, or that the name of the chracter ws “Mungo”. It ought to be easy enough to check a DVD and see what the credits say. IMDB says “Mongo”. I guess whether “Mongo” is offensive depends on lots of things. For what it’s worth, the character played by Books himself is “Governor William J. LePetomaine”; LePetomaine had a stage act in which he claimed to, um, fart melodies and such (it was phony, but for Brooks’s purposes that didn’t matter).

  • Pingback: ehcache.net()

  • DB

    From a reliable source I’ve heard that the original developer of MongoDB 
    uses the product but is not a part of 10gen.   Wouldn’t make that neither Eliot or Dwight?  Is there a third person?  Can you confirm/deny that?

  • kristina1

    Hmm, I’m not sure who they are talking about. Dwight was the original developer of MongoDB while Eliot was working on the appserver. They might have been talking about Mike Dirolf, who was one of the original employees (for a while there it was just Eliot, Dwight, Mike and I hacking away on it). Mike left to work on his own startup, fiesta.cc, which did use MongoDB.

  • dmerriman

    Actually the name choice really does come from the word humongous. A couple years earlier a naming consultant showed me a list of 50 names for potential companies and consumer web products, and it was in that deck, and the point made was that it connoted “big”. But as you say some folks joked about the movie reference when we gave that name to the db, and I didn’t elaborate on the logic behind the naming at the time I would guess. I certainly didn’t in my mind make a negative association about the name at the time; my last encounter with it before that point was probably in Shrek 2. I knew it was campy but it was just a piece of the tech stack at first, not then a big standalone product and technology as it is today. Of course I now know that in some parts of the world it’s an odd choice — apologies about that to those of you in those locales.

  • kristina1

    Thanks for the clarification, I added it to the post!

  • Jose B.

    It really is one of the worst name i’ve heard for a product. Consider a renaming, I’m serious.

  • Ray Long

    Really? You don’t just casually destroy or replace a brand’s identity just because the name doesn’t meet the standards of your personal sense of aesthetics.

  • JBA

    mongo means retarded in many countries, get informed first

  • Ray Long

    I’m aware, but that wasn’t the creators intent.

kristina chodorow's blog