Nielsen picks 'more mature' Couchbase over MongoDB for document store

Couchbase increases change management processing efficiency by 80 per cent, says Nielsen's architect leader, Arvind Jade

Global market research and consumer insight firm Nielsen chose NoSQL database Couchbase ahead of rival MongoDB for a document store because it was "more mature" from an administrative perspective.

Arvind Jade, architect leader at Nielsen (pictured), told Computing that he and his team worked on an internal reporting application on big data. He said that the team was moving its front-end application from a Flex base to a JavaScript base, but that there were a lot of inefficiencies in the way they were doing things in their front-end stack.

"Four years ago, when we were re-architecting, we wanted to make the front-end a lot more efficient and since we were using JavaScript and all of the metadata is native JSON we were looking for a document store," he said.

The firm was already using Couchbase's Memcached product, but along with Couchbase, the firm analysed other NoSQL vendors as potential providers for the document store.

Jade said that at that point in time it seemed like only Couchbase and MongoDB were "mature enough" for the use case that the company was looking for, therefore ruling out Datastax's Cassandra platform.

"We were not looking at a key value store, or a graph database or anything like that; we wanted a document store and Couchbase and MongoDB stood out," he said.

So why was Couchbase chosen ahead of its rival?

"We were already familiar with the product because we had Memcached working, but the administration was a lot more mature [than MongoDB] and in terms of the use cases we needed to solve such as creating our secondary indexes for really fast load-ups, Couchbase fit the bill really well," Jade explained.

Implementation

Jade said that the company started off slow with the implementation.

"We have a pretty large client base so when we were rearchitecting our system, we started off with a four-node Couchbase cluster, and since we had a lot of in-house Java expertise, it was a matter of writing libraries on top of Couchbase," he said.

He said that the team hit a learning curve when it came to switching from using an Oracle relational database to a NoSQL database.

"Now that we've had that experience we've gone from a four-node cluster to an eight-node cluster, and from one data centre to three data centres, with all of our clients' data moving over to the new platform," Jade stated.

The learning curve Jade mentioned wasn't difficult to overcome - many of his team used the online documentation provided by Couchbase, which he said was very helpful.

Some of the key members of his team went to Couchbase training and conferences to get a feel for the best practices, too.

Nielsen picks 'more mature' Couchbase over MongoDB for document store

Couchbase increases change management processing efficiency by 80 per cent, says Nielsen's architect leader, Arvind Jade

Oracle vs. NoSQL

Jade explained that before implementing Couchbase as a document store, his team used to store their reporting template as a BLOB (binary large object) inside Oracle.

"We didn't have any way to inspect the BLOB to see what kind of data is in there," he said. "We do reporting on buying patterns so for example if you were reporting against how much Coca-Cola is bought in the London area then that Coca-Cola definition would be stored in the report template and that's stored inside the BLOB. So if I wanted to see how many users from London reported against users who had bought Coca-Cola, I'd literally have to read all of the BLOBs from Oracle to [find out]," he explained.

With NoSQL, Jade said that it is easier to pick up that data, while it was also beneficial for change management.

"Definitions of products keep changing in the world - Coke to Coke Red for example, so [with Oracle] I wouldn't know which of our reports have Coke Red, I'd literally have to read all of the BLOBs in the Oracle table in a brute force way and go and change all of those definitions. By leveraging a NoSQL database and Couchbase techniques you can pinpoint the exact metadata definitions and change those, so that increases the efficiencies on that by almost 80 per cent in our change management processing," he said.

Now, he believes that Couchbase is likely to be the preferred tool in the organisation if a department were looking for a NoSQL document store.

"I would say that if the use-case called for a NoSQL document store database then our preference would be Couchbase because of the expertise we've built and the familiarity with the tool - we would recommend it across the organisation," Jade said.

He added that several other teams had been interested in the NoSQL space and had been talking to Couchbase but he wasn't sure whether any of them had gone into production yet.

As for his team, they are planning to roll out Couchbase's N1QL - a query language that Nielsen helped Couchbase to develop - later this year.

Jade said that N1QL, pronounced "Nickel", is useful for Nielsen's product leadership team who query the architecture team's Couchbase cluster.

He also said that the company is looking at Couchbase Lite - the vendor's mobile offering.

"We want to have some offline reporting capabilities in our platform and that's something that we're looking at rolling out this year," Jade said.

Interested in big data? Come along to Computing's Big Data Summit on Thursday 17 March in Central London. It's free for end users!