MongoDB

Our portfolio company 10gen's open source datastore called MongoDB has been seeing some serious uptake recently, particularly among startups. Yesterday I saw this poll on Hacker News:

Mongodb
 

Hacker News is a very specific community and so by no means is this poll representative of the entire software engineering community, but I am so proud to see Mongo up there as the top non-sql datastore.

MongoDB has recently added a couple of new features, including sharding and auto-sharding. The growing popularity of Mongo among startups, its comprehensive feature set, and the flexibility of a no-sql data model is turning out to be a powerful combination.

The recent MongoNYC was packed and for those of you in europe, please note that MongoUK and MongoFR are both happening later this month.

If you are frustrated with your sql datastore and want to try a non-sql approach or if you are starting from scratch and want to try a modern datastore, please check out Mongo. You won't be alone.

#VC & Technology#Web/Tech

Comments (Archived):

  1. Avi Deitcher

    MongoDB is completely open-source, licensed under the Affero GPL variant. What does USV see in this open-source company that it made an investment? What is the business model?MongoDB alone cannot have sufficient consulting/support contracts to make it enticing to a VC (and consulting is not usually VC-backed). Unlike Boxee, which can sell physical settop devices as well as license distribution channels, for significant (and recurring) fees, where is the business in 10gen/MongoDB?

    1. Matt A. Myers

      Free advancement to source they use on their own sites… Sounds like an affordable dev.. Free innovation ;)Plus, I imagine you could eventually sprout a consultation/support company once it gains enough momentum and the bigger companies want to get solid support.

      1. Avi Deitcher

        At the risk of looking dense on a very public site, I don’t get your point. Are you suggesting USV invested to get free software for their other portfolio companies? It cannot be that since (a) even if it were commercial, it would require arms-length transactions, (b) USV wouldn’t cannibalize one of their investees that way, (c) the license is open anyways, and (d) I presume USV is looking for some serious winner returns on 10gen. What did you mean?

        1. Matt A. Myers

          Many people unrelated to 10gen will help problem solve and add to the open-source project. Any advancement on the open-source will improve its use, growth, reputation of MongoDB and therefore the likelihood of hired services wanted. I imagine too that a company would have some bias towards hiring a company that started an open-source project for consultancy/support.Re: other portfolio companies using it – it’s a just a bonus. Wouldn’t you be happy to have a team of experts who like you and are willing to help you when you need it? Plus, perhaps the other portfolio companies will use their paid services. Lots of possibilities of why it will be beneficial, if even only breakeven profits wise, there is still a lot of potential intangible value.

          1. Scott Carleton

            Replying to Matt Myers but really to deitcher’s original puzzlement:USV seems to get a lot of added value from their investments that just happen to be bonus’ to one another. You got easy incorporation of Disqus into Tumblr, Foursquare and Meetup APIs can really expand to a multitude of social media, MongoDB for any company that needs a database etc. I admire the vertical integration of their portfolio.But the best example is really Twitter. USV believes it has the foresight to invest in these ground breaking social media/networks that are accumulating a crap load of information. Just as American Express can get a lot of data on it’s credit card customers to use as consulting for their business partnerships so in the future can many of USV investments possibly use the wealth of data they’ve accumulated in a variety of lucrative ventures that may just be in the planning stage at the moment. Data is becoming very valuable. The tricky part is converting data to actual useful information.

    2. RichardF

      Sun forked out $1bn US for MySQL

      1. Avi Deitcher

        Good point, and I am sure that had a significant impact on USV’s decision. Was MySQL making significant money beforehand? They weren’t a public company, like Sun, that I can pull down their 10K and check.Put in other terms, was USV’s venture motivated solely by the acquisition exit that “someone” will pay a lot of money like Sun paid for MySQL? I presume that most VCs – at least the smart ones – want to invest in a company with a business model that allows them to become a going concern, not just that they will lose oodles of money (or barely break even) until a lucky acquisition comes along.

        1. fredwilson

          deitcher – see my reply above. we believe the “red hat” business model provides significant revenue and profit opportunities and certainly could lead to a strong public company

          1. Bora Celik

            Absolutely. Happy customer with a support contract right here.

          2. Avi Deitcher

            That answers the question. I assume the A/GPL licensing (as opposed to MIT or Apache) is structured to keep the wealth-creation factor / property ownership in house, and prevent other “RedHats” from duplicating and taking.Oracle alone did $11.75BN in product support and software updates in 2009, independent of new licenses (they don’t report database vs other software). Interestingly, they only did $7.1BN in new licenses. I remember when IBM’s various products crossed the 50% new/maintenance mark (Tivoli, etc.), beginning of the end for that product. Oracle may have a lot of cash, but they may be ripe for plucking. The interesting question is who Mongo is taking from: MySQL/postgresql or MS-SQL (unlikely) or Oracle/Sybase? I assume they will start at the low end of the market and move up. I would find it very interesting when they start taking away from Oracle….

    3. fredwilson

      it’s a “Red Hat” business modelRed Hat trades at $5.3bn and has $650mm of revenuehttp://www.tracked.com/comp…

      1. howardlindzon

        tracked.com getting much better. had not been for a while. need to get back in touch.

      2. Vasudev Ram

        Fred,I am interested to know more about the “Red Hat business model”. My guess is that many other developers who lean towards open source may be too (if they don’t know it already). Googled the same term and got some info including a Wikipedia article on them, but it would be interesting to hear your thoughts on this. It it merits that, could you make it the topic of a post.Thanks,Vasudev

        1. Avi Deitcher

          Actually, I think a solid VC’s view on the economics of the RedHat model – and how to transform ownership of open-source into a fundable business model – would make for a great post.Here are my $0.02: At its core, for many years, software was about having unique, proprietary, hard-to-reproduce software, and then getting someone to pay you for that software, along with support services. This is the business of Oracle, Microsoft, SAP, etc.In an open-source world (Linux, Apache, MySQL, jQuery, Mongo, etc.), the software is not only not proprietary in the traditional sense, the source is completely open, allowing anyone to replicate (leaving out copyright issues for the moment, which in any case are not a strong barrier). The question becomes, how do you make money on it? The software quality is often significantly higher than in proprietary, the community effect creates incredible rapidity in improvements and release iteration (see “Cathedral and Bazaar” by Eric Raymond), and the cost factor is great, saving users lots of money on direct (licensing+maintenance) and indirect (quality+fit) costs, so how does someone capture some of that saving/benefit economically?The RedHat model says, “you used to pay $200,000 for the software and $30,000/annum for support and upgrades. Instead, get the software for free, pay us the same $30k or even less for support and management of the upgrades, everyone wins.” You sell support and maintenance services as subscriptions around open-source products.The challenge here is that you *must* become the recognized expert in this space for everyone to give you their subscription dollars. Being the product creator (like 10gen for mongo) helps quite a bit.

      3. Matt A. Myers

        Sexy.

    4. Chip Hazard

      In addition to believing in the “Red Hat” business model, here are a few other notes on why we also invested in 10gen along with USV back last year. http://hazard.typepad.com/h

      1. Avi Deitcher

        Uh oh, now I get taken to task for reading Fred’s blog and not yours? 🙂 I just started following Fred’s a few months ago, added yours to my reader right now.I agree with all of your points, they all show why it is a great team with a great product and serious traction, but not one of them addresses where they will make money. I love open-source, but I assume that VCs invest because they want a good financial ROI; days of “eyeballs” and “new economy” are past us. The “show me the money” is what I was after, got it with the “RedHat” model.

        1. Chip Hazard

          welcome aboard. The big caveat being of course that you will soon discover that my posts are nowhere near as insightful or frequent as Fred’s!

          1. Avi Deitcher

            Old Talmudic saying, “who is the wise man? he who learns from every person.” I won’t judge if yours are as insightful or frequent, as long as I can get wise by learning at least one thing, it is worth it.

  2. kennystone

    We are very happy using Mongo for our middle office trading system. It allowed us to barely think about the db when we were developing the software, and it fits so nicely in a stack of web services.

  3. silverbax

    I can’t imagine this replacing transactional data in enterprise software shops, but I can see it being used for low-depth high speed read-write data.

    1. Avi Deitcher

      I don’t know about that. I spent many years in very large shops, mostly financials, we did everything to optimize our environment. I came out of there convinced that high-powered RDBMS is the only way to handle serious data, but the nosql options – couch, mongo – have questioned that. I am seeing more situations where you can use this type of db, wherein I would not have expected it.I also did quite a bit of consulting into that world. Most of the big companies don’t think like the Amazons or Googles: disposable hardware, horizontal scaling, etc, yet many wish they could. No matter how well we designed the systems, the data store always ended up being the spoof (single point of failure), the expensive component, the one that scaled poorly and that horizontally. Yes, the RDBMS vendors have come up with some innovative solutions, but they are technical, not fundamental (or, if you like Christensen, they are sustaining rather than disruptive). Something that changes the paradigm has a high switching cost because Web and app developers need to change how they think, but the cost savings for transactional data behemoths of getting out of that are enormous.

      1. fredwilson

        i met with the CIOs and CTOs of the major money center banks a few months ago and we talked about a lot of stuff that we are focused on, much of which they didn’t have much interest in. but when i mentioned non-sql datastores, their eyes lit up and they got excited.

        1. ShanaC

          not surprised, they handle massive amounts of data.

        2. silverbax

          Having worked as an architect for several large financial institutions (not trying to toss around weight, just trying to give context), I’d like to know exactly what and why they were interested in non-SQL and where they even heard about it.Not trying to be argumentative, I really would like to know why the C-level execs (who are generally not tech people in these big companies) want to migrate from the performance, automated deployment separation of logical concerns and scalability of their SQL databases. I’d also be curious as the proposed hardware layouts for a company of size…the most recent I worked with had about 80 offices and about 20,000 employees.I’d like to see some case studies, I’m open to learning more.

          1. Vasudev Ram

            @silverbax:Not trying to be argumentative either. I’d just like to know:- Fred said “CIOs and CTOs” – Chief Information Officers and Chief Technology Officers. Not too sure about CIOs, but aren’t CTOs technical people – or at least former technical people, which implies a fair to good amount of understanding of technical issues and their impact on business?Also, I’m new to NoSQL, but whatever I’ve read seems to indicate that performance and scalability are precisely two of the areas (among others such as no schema) for which people turn to them over SQL, which _seems_ somewhat contradictory to what you say above. I do realize that “circumstances alter cases”, of course.Like you, interested to learn more …- Vasudevwww.dancingbison.com

          2. silverbax

            In my experience, the title ‘CTO’ or even ‘CIO’ rarely is given to people with a technical background in large, established companies. When I’ve worked for startups, the CTO was indeed technical…but in gigantic corporations, I run into a mindset that those titles are given to ‘management’ not technical people. I know, crazy.I don’t like it, and of course, my experience is hardly a vast poll on the landscape.The issues I have with the concept of NoSQL that I am trying to educate myself on:1. There is no doubt that a latent resident memory DB would be faster for CRUD data, and should be used as such and although I keep seeing people talking about how great NoSQL db’s are for web data, I actually see the real gains not on the web, but in gaming. The main issue I see there is that game code usually does a better job of packing data than any database.I’m also not really sure exactly why so many web developers are getting response times of 204+ milliseconds performing CRUD actions against SQL server and 20 millisecond response time with NoSQL. I’d like to actually see the SQL code they are writing, and it’s my worry that the reason those developers are getting such faster response with NoSQL is that NoSQL is using better code under the hood than they know how to write against RDBMS. Which is an issue, but if NoSQL fixes that for them, maybe it’s somewhat of a solution.2. Almost every case study I’ve come across so far in regards to scaling compares RDBMS transactional data with read-write NoSQL data. But that’s not an accurate comparison. The real comparison in speed and scalability would be NoSQL versus a read-write star design data warehouse. I’d really like to see some hard speed and robustness numbers with those two comparisons, particularly with reporting. I also keep hearing NoSQL pundits interchanging ‘scalability’ with ‘performance’, which go hand in hand but are certainly not the same thing. I guess there I just need to research more.3. Another caveat that concerns me is how many developers who champion NoSQL talk about how easy it is to get productive, no need to worry about database design or SQL. But SQL is probably the second easiest type of code to learn after HTML, and I’ve usually transitioned old mainframe teams to modern systems by easing them onto SQL. So I guess this is just me worried that newer coders are picking up NoSQL because they can’t understand data storage, and that would worry me. BUT it could be just my bias, there.I hope these comments don’t tick anyone off, I’m just putting my thoughts out in the hope someone else might be able to address these things.

          3. Vasudev Ram

            Thought-provoking answers …Thanks.

          4. Ben Engber

            You’re right in that people tend to conflate various benefits of NoSQL architectures but you’re generalizing this inappropriately.Your first point about CRUD response times misses the point. It is possible to build (and here at Thumbtack we often do build) MySQL based systems that query by primary key and trivially shard. Using a NoSQL system forces developers’ hands; by enforcing data modeling in a key-based way, it means they are protected from having their database evolve into a tangled mess of tables to join against. There is real value here, though you’re right that the MySQL engine itself is not fundamentally the problem.I view the primary benefit of MongoDB to be related to your third point. “Schemaless storage” is an exaggeration, but there’s no doubt that a document-oriented database like Mongo saves a lot of time trying to model every dimension of your data into separate tables. It’s not a question of not understanding SQL or relational data, it’s a question of how worthwhile it is to spend time mapping objects that are not necessarily perceived relationally onto a relational schema.

          5. fredwilson

            i think they want to play around with it and see if and where there is a fit

        3. Matt A. Myers

          It sounds like banks have mainly technical people on board..

  4. ErikSchwartz

    I am in need of a DB solution. I will give it a look.

    1. fredwilson

      yessssAVC is in the marketing business now!

      1. Dave Pinsen

        As if that’s new.

        1. Mark Essel

          Zing!

          1. Dave Pinsen

            More power to Fred. He’s built up a high-traffic, influential blog; he’d be a fool not to use it to plug his portfolio companies (imagine how cool it would be to have someone like Fred plugging Victus Media! Someday soon, perhaps…).

          2. Mark Essel

            Still scoping out the tools we can build better than anyone else, and once we do they’ll sell themselves. A little marketing help from friends never hurts once the afterburners are fired up 🙂

  5. Bora Celik

    We used MongoDB in production for our API. Loved the 5 times faster writes than MySql, the potential to horizontally scale across multiple cloud DB servers, as well as the flexibility of schemaless design so we could easily add attributes without migrations, whenever product owners thought of new ones. Speaking on behalf of my Rails dev team, we would strongly recommend Mongo to everyone who is considering high volume, low value data stores.

  6. BmoreWire

    Has anyone used this for adserving, or a data storage/reporting depot for online advertising impressions, clicks, page views?

    1. shearic

      Without getting into any detail… we’re using MongDB @ yieldbot and are very pleased with it.

  7. Mohamed Attahri

    MongoDB is the best and most mature DB technology out there. We have used it for months and managed to do exactly what we wanted with it.It’s so easy to get started with it.It just delivers.

  8. howardlindzon

    Hey Fred – Chris and Soren are using it for the new Chart.ly rollout (in beta) at stocktwits.

    1. fredwilson

      that’s great howard. i think you guys made a great choice

  9. Aviah Laor

    SQL is easy and most of all – familiar.What is the “crossing the chasm scenario” for using it? Where it’s absolutely better, after re-design and learning, than using what you already know well?MySQL 5.1+ also has horizontal partitioning and the Spider storage engine suggests, it seems, a similar sharding routing.

    1. Ambert Ho

      The “crossing the chasm” scenario is, as a previous implementer said, “high volume, low value”. MongoDB isn’t meant for sensitive complex data relations that, well, need relational operations to be done on them. It’s not totally ACID and atomicity is only guaranteed on a per transaction basis. Rather it’s meant to solve the problem of having lots of stuff you just need somewhere to store. IE analytics, edge caching.Basically you will have to figure out how to denormalize this data and put it in a flat document (Mongo belongs to the document based branch of the NoSQL dbs), but in these high volume transactions you end up denormalizing to boost the write speed in MySQL/Postgres anyways.- It’s in-memory (so yes, it uses a lot of ram) and so inherently quicker for reads and writes- Has a really fast LRU feature (capped collections) that’s perfect for edge caching- The sharding feature just came out so I don’t know much about it, but it’s supposed to be painless and automatic.

      1. Ambert Ho

        Sorry, I meant “atomicity is only guaranteed on a per OPERATION basis.” not transaction, duh.

      2. Aviah Laor

        Thanks!

  10. Michael Rakowski

    Nice. I’ve been interested in starting to use MongoDB. I was watching this talk with Mike Dirolf of 10gen earlier: http://pivotallabs.com/talk…. It gives a good overview.

    1. Mike Dirolf

      Glad you enjoyed the talk :). There are a whole ton of videos from other MongoDB talks (a couple more from me and a bunch from other, more interesting people 😉 up here.

  11. daryn

    Upvoted on HN.We use MongoDB for our real-time teacher metrics reporting (visits and leads), which certainly wouldn’t belong in our primary SQL DB, and it’s been great.To be fair, each of the nosql flavors has their own set of pros/cons, but MongoDB has been outpacing most of them in terms of features and stability. The documentation could use a little work, but that’s true of just about every open source project out there.

  12. harryh

    FWIW we are slowly adopting MongoDB @ foursquare and so far we have been very pleased with the results. It’s been a pleasure to work with the team at 10gen.

    1. Joe Siewert

      What database solution did foursquare start out with?

      1. harryh

        PostgreSQL

  13. petewarden

    I’ve spent a lot of time on non-SQL databases, going very deep and even patching the code for Tokyo Tyrant, Redis and MongoDB over different issues, so I get asked by a lot of people which they should use. My answer’s always Mongo, and for one simple reason. Their support rocks:- When I first blogged about some issues I was having evaluating Mongo, Kristina popped up in the comments, offered some suggestions which led to an email conversation that resolved them all.- Multiple people on the mailing list helped me with my unix file socket patch, which I needed to speed up loading- The IRC channel is always manned and responsive, with Mathias in particular never seeming to sleep!People are sometimes surprised that support is my top priority, but since every non-SQL solution is pretty young you’re certain to run into issues, and without responsive support you’ll end up wasting hours or days of precious development time trying to figure out what went wrong.

    1. Diego Sana

      I second that. Of all the countless nosql stores born lately, mongodb and also redis are the ones with best support and easier access to their developers. A few times i got answers on mongodb google group from 10gen employees on sundays at 6 A.M!

      1. fredwilson

        I love hearing that!

      2. Mark Essel

        The guys and gals that love what they do never turn off. They just shift gears.

    2. Mike Dirolf

      glad to hear this is making a difference for you guys! we work hard on support so it’s nice to know that it helps. keep us posted if there’s anything we can do to make the MongoDB “experience” even better.

  14. petewarden

    I’ve spent a lot of time on non-SQL databases, going very deep and even patching the code for Tokyo Tyrant, Redis and MongoDB over different issues, so I get asked by a lot of people which they should use. My answer’s always Mongo, and for one simple reason. Their support rocks:- When I first blogged about some issues I was having evaluating Mongo, Kristina popped up in the comments, offered some suggestions which led to an email conversation that resolved them all.- Multiple people on the mailing list helped me with my unix file socket patch, which I needed to speed up loading- The IRC channel is always manned and responsive, with Mathias in particular never seeming to sleep!People are sometimes surprised that support is my top priority, but since every non-SQL solution is pretty young you’re certain to run into issues, and without responsive support you’ll end up wasting hours or days of precious development time trying to figure out what went wrong.

  15. ShanaC

    A friend of mine is getting a second masters in Database administration as a second career. He’s supposed to be starting web based database(stuff) soon. I need to send this to him.His thought is that there needs to be a massive data overhaul soon involving medical records. I don’t think he is wrong either.

  16. jonathanmendez

    We’re loving it at Yielbot. Can we get a MongoBoston though?

  17. NICCAI

    I’d like to ask that same question on here…what are all of you using? I’m leaning towards Redis for a project I’m planning.

  18. andyidsinga

    FWIW we’re diving into mongodb for our project. I haven’t started hacking with it myself yet but my buddy is and say’s its sweet. So far he’s written some test code in php and ror that talks to mongo and seems to really be enjoying it.

  19. Siminoff

    Mongo is a really incredible. We use it for everything now, happy to be a reference to anyone that is looking into making the switch.

    1. fredwilson

      wow. that’s a great endorsement.

  20. SF

    MongoDB also does a great job presenting too. I have heard them twice already at the NYC Cloud Computing Meetup (http://www.meetup.com/nyccl… and I get shivers and an adrenaline rush every time.<shameless> NYC Cloud Computing Meetup is a great place to have vendors/innovators meet and talk about all things cloud. And it is usually hosted in our offices downtown which is convenient for anyone in manhattan, brooklyn, queens, or jersey/hoboken</shameless>

  21. kenberger

    I’m at railsconf (biggest RoR conf) right now. Plenty of enthusiasm around Mongo including at least 2 panels.And a guy on stage is showing a Twilio-Google api demo now.

    1. fredwilson

      mongo and twilio FTW

  22. Mark Essel

    We started out with MongoDB and I liked the fact that we could add parameters on the fly and grow the database. But with Rails (our first framework) we found sqlite to be more than adequate and easy to colocate with our small servers on Rackspace and Heroku.As the web grows older massive public nonsql data stores are attractive areas to store meta data about people, places and things both on and off the net. Terry Jones’ FluidDB is an interesting nonsql public read/write design as well ( @terrycojones is a regular commenter here ). Kevin Marshall recently included using it in his TC disrupt submission, and Tyler hacked out one of our tools using it.

  23. Erica

    I hired a new developer recently and he is rebuilding my startup’s site using MongoDB. (Right now it’s in MySQL.) Can’t wait to see how it works! We’ll be storing a massive amount of data in it.-Erica

  24. Brian Magierski

    Fred – We are using MongoDB for our new enterprise collaboration product at nGenera – watch for announcements about it next week. The team here really likes it – 10gen is doing great things, congrats!

  25. maxniederhofer

    Just to throw my hat in the ring, we’re contemplating using MongoDB instead of Cassandra as well.

  26. flash drive

    For not trying to be logical, I really know why C-level (execs who usually technical people in these large firms) to Display displaced, logical concerns and scalability of SQL database to separate the automated deployment want. I also shaped a company … For the most recent hardware layout as proposed’d be curious

  27. Paul Rosania

    Mongo is working great for us at CollegeJobConnect. Among many benefits, prototyping is just plain faster without a schema to deal with. Unfortunately the higher-level Ruby “ODM” libraries are a little immature, but it’s been a great opportunity to contribute back to the open source community in the process of adopting a great piece of technology.

  28. Maverick Moneymakers Review

    hello, Gloria Jacobs told me about MongoDB at PyOhio, but I was too busy conference-chairing to see her talk

  29. Navin

    i am a convert :-)at ibibo.com, we have seen huge performance boosts of upto 20 times on our feeds system after moving to mongodb.but, for the nosqlhappy coder out there, a btree is a btree and a hash is a hash, dont expect huge performance leaps just by porting a mysql database table by table to mongodb collections…

  30. Matt A. Myers

    I’m always surprised when I see typos in official things..

  31. Andrew Shults

    Personally, I find the lack of SQL a good thing because it forces me to not think in a RDB manner (not to mention that a number of things you can do in SQL wouldn’t be best achieved through MongoDB). I forget where I found this (probably HN) but I think it’s one of the best quick overviews of some of the advantages as well as considerations you need to keep in mind with MongoDB from the perspective of an actual application – http://chemeo.com/doc/techn

  32. Mike Dirolf

    Ah sorry for the typos – feel free to just comment on the wiki with any that you find and we’ll try to clean them up.As for SQL, really no reason that some basic subset couldn’t be supported (would need extensions for dealing with things like embedded docs as well). Might make it onto the roadmap long term.

  33. Mike Dirolf

    No problem – thanks for helping clean things up!

  34. ShanaC

    Off topic- where did you get the sunglasses? They are truly amazing sunglasses.

  35. harryh

    Random vendor on Orchard Street. Don’t own them, just took a random picture years ago and been using it as my avatar ever since.

  36. ShanaC

    they’re awesome..ok back to topic