Couchbase Passes MongoDB in Functionality, CEO Claims
Couchbase and MongoDB have been going head to head in the world of document-oriented NoSQL databases for some time. With today’s launch of Couchbase Server 4.0, the company has caught up to and even surpassed some of MongoDB’s capabilities, according to Couchbase CEO Bob Wiederhold.
According to Wiederhold, Couchbase has built a solid reputation with relatively simple data serving needs, such as profile and user session management in Web app or a product catalogs, which perhaps are more affiliated with a basic key-value store. If customers wanted to do more advanced manipulation of data for other types of applications—such as building and running a recommendation engine—well, there was no simple way to do that, Wiederhold said.
But the combination of Couchbase Server 4.0 features—including N1QL, a SQL-compliant query language, better indexing, support for JSON joins, and nesting and un-nesting of JSON data—will dramatically expand the ways that Couchbase customer can use the company’s database, he says.
Previously, developers would need to bring MapReduce-style capabilities and Java expertise to build something like a recommendation engine in Couchbase, Wiederhold said. “Quite frankly, that’s been a strength for Mongo,” he told Datanami. “There was…a gap between what we provided and what others like Mongo provided. Now we think we’ve caught up in many of these areas, and leapfrogged them in others.”
N1QL (pronounced “nickel”) brings an ANSI-92 compliant query language, along with a distributed query engine in Couchbase Server. (See our June story, “Why Couchbase Is Adding SQL To Its NoSQL Database” for more info on the work that went into the language and query engine.) Any data analyst or data scientist who knows SQL–and all analyst or scientists worth her salt do–can quickly get up to speed using N1QL to query data stored in Couchbase.
The combination of new features like N1QL and Advanced Secondary Global Indexes make it possible to build more powerful applications. “Let’s say you’re building a recommendation engine and want to see how many people between age 25 and 35 in the state of Alabama who’ve looked at a clothing ad three times over the last two weeks,” Wiederhold says. “That’s a far more sophisticated query requiring far more sophisticated manipulations of data.”
While Wiederhold thinks Couchbase has caught up to MongoDB when it comes to recommendation engines, he thinks it’s surpassed the popular NoSQL database when it comes to nesting and un-nesting JSON documents, which is important for data analysis.
“When you’re modeling your data in JSON, you can of course use arrays and other complex structures” to prepare the data, he says. “But a lot of BI and reporting tools want to see that data in a flat form, so the un-nesting is used when you’re getting data out of the database for BI and reporting tools.”
Wiederhold has been gunning for MongoDB for some time, and the race is far from over. MongoDB has been at this game longer, has a bigger installed base, and has raised more capital. But judging from the work that Couchbase put into the version 4.0 release that becomes generally available today, the company is hoping to chip away at MongoDB’s size advantage with some technological wizardry.
“We’ll be the only NoSQL vendor that has a SQL-compliant query language. We think that’s huge. It’s certainly lowering the barriers to developer using NoSQL and more specifically Couchbase,” he says. “Joins are extremely important for many developers. We’ll be the only vendor that supports joins…We think we’re closing the gap in many area and leapfrogging the competition in other areas with things like joins and nesting and un-nesting.”