NoSQL is the darling of the millennial tech community -- and MongoDB is the leading NoSQL database, with a valuation of more than $1.2 billion.
By most accounts, Web developers have been a major driver of MongoDB's success, because as a document database, it's easier to write to for many applications than an RDBMS is, and you get very fast reads. Plus, you get dynamic, flexible schemas, and you can scale out using commodity hardware, rather tending a powerful database server beast.
But many potential enterprise adopters wonder if MongoDB has been overhyped. Some believe it's still an immature solution applicable only to certain Web apps and risky for transactions.
To answer these and other objections, I sat down with Eliot Horowitz, co-founder of MongoDB and the company's CTO. The following is an edited version of the interview:
InfoWorld: I think there's a perception in the enterprise community that MongoDB may be great for startups, where you need to scale at the drop of a hat. But why bother with that capability for less dynamic enterprise applications?
Eliot Horowitz: When I talk to the CIOs of enterprises there are certain things that drive them crazy. One is the number of developers they need to get projects done. Two is the projects they want to get done but can't do because they don't have the right resources or it's going to take too long.
What happens more often than not is that when they try one of these projects on MongoDB they get it done faster -- or it's actually possible. Enterprises are getting better and better at splitting up their systems into lots and lots of small systems that communicate or work together, then each system actually becomes sort of like a little startup.
InfoWorld: What sort of projects are they doing?
Horowitz: Often, they want a single view of something, like a single view of a customer. They want to collect data from tons of different data sources, put it together, and have a good clean view of the whole thing.
InfoWorld: When you're talking about a single view of the customer, isn't that the value proposition of CRM?
Horowitz: What happens is they have 72 different CRMs and there's no way to actually combine them. It becomes an integration nightmare. Or take risk, for an example. You have 20 different risk systems that don't really talk exactly the same way and you need something that can actually bridge all the different gaps. In the car industry, it's a single view of a vehicle.
InfoWorld: There's still a hesitancy, I think, to use NoSQL databases for transactions. How do you address that?
Horowitz: MongoDB is adding more and more features that you need to trust it as your transaction system. Also, because Mongo is inherently a distributed system, the way we think about transactions is a little bit different. In a distributed system, you don't want to think of a transaction as being committed when it's on disk, you think about it as committed when it's on a certain number of servers such that it can't be destroyed.
That might be something that's actually in two separate physical data centers. You actually have much stronger reliability than if it were sitting on a physical disk, but it only makes sense in a modern distributed environment. The whole paradigm has shifted a little bit. And when people really understand that, they like it: Data in two data centers is better than being on a disk in one data center.