Zuberance

Eyeballs are nice, but they don't necessarily translate to revenue. With Zuberance’s social media marketing platform, brands like CDW, Intuit and Rubios are able to identify and energize their highly satisfied customers, aka “Brand Advocates,” to increase referral leads, improve online reputation and drive revenue.

After using MongoDB to add an internal reporting feature to their enterprise product, Zuberance quickly realized the scalability and reliability benefits of the NoSQL database compared to the relational database they were using. To keep pace with exponential growth in users, they decided to build their next-generation, self-serve product, which will initially target SMBs and then enterprise customers – 100% on MongoDB.

The Problem

In order to effectively optimize Brand Advocacy campaigns, marketers must know how a campaign is performing in real-time and adjust it on the fly. However, traditional batch processes result in only periodic aggregations. Zuberance needed a way to deliver real-time data aggregation.

They had previously tried to solve the problem by using a SQL database and lots of Java code to dynamically generate very complex queries. They also tried to sync data stored in their relational database to MongoDB and use MapReduce to generate aggregations. Both solutions could only handle periodic data and didn’t scale well.

Having gained experience with MongoDB in late 2010 when they added a low-risk, internally facing reporting feature to their enterprise product, Zuberance realized that a NoSQL database would be a good option for their self-serve, software as a service (SaaS) social marketing product. Criteria included the ability to: 1) scale the persistence layer; 2) reliably store large amounts of data; and 3) support real-time aggregation. After evaluating other solutions such as Cassandra and Redis, and performing rigorous load testing, Zuberance selected MongoDB.

Why MongoDB?

Zuberance’s self-serve product built on MongoDB was launched in beta in April 2012. Zuberance expects to “open the floodgates” to new users in late fall 2012 when the SaaS platform will be released for general availability. Their current enterprise product serves approximately 60 customers, which comprise 2.3 million Brand Advocates, 13 million actions and 140 million trusted impressions on the Zuberance platform as of May 2012. The new MongoDB-enabled platform is expected to support orders of magnitude more customers, reaching tens of thousands of customers in just over a year, and 10x the number of enterprise Brand Advocates.

MongoDB stores three types of raw data on the Zuberance platform:

  • Identity data: information about their customers’ user base, including social profiles and identity information
  • Action-driven, tracking data: generated when users interact with the platform and click on campaign links
  • Semantic (operational) data: customer-provided content beyond machine-readable properties, used to create, configure and launch campaigns

Zuberance aggregates and displays this data to show real-time campaign performance reports without having to wait on periodic batch roll-ups. As a result, brand marketers can quickly analyze campaign performance, identify their top Brand Advocates, and adjust campaigns to better foster those relationships.

OPERATIONAL COST SAVINGS

Zuberance’s engineering team, which recently made the switch from Java to Scala, was able to ramp up on MongoDB in a few weeks. For a self-proclaimed “relational database guy,” Zuberance’s VP of Engineering and Technology Deep Varma thought it would be a tough transition to NoSQL. At one point, he had an army of consultants helping to manage the enterprise platform on a relational database. In contrast, with MongoDB he was able to set up the replica sets himself in 20 minutes. He doesn’t need to hire other people to help, and rarely has to troubleshoot. Said Varma: “That’s the ease of use that people like me are looking for: How am I going to save money from an operational point of view?”

SCALABILITY – UP & OUT

The ability to scale the business with MongoDB is going to be “the backbone of our success,” said Varma. As the customer base grows, MongoDB enables Zuberance to scale out rather than up. MongoDB simplifies this task, which would involve an inordinate amount of work and resources with a relational database.

DATA FLEXIBILITY

Compared to the relational database, MongoDB also dramatically simplifies the process of adding new attributes, like a new tracking capability. Its dynamic schema design allows Zuberance to store all attributes in a single collection, delivering data flexibility and performance gains without overhead.

MongoDB Management Service

MMS Management is “very dear to my heart,” said Varma. In one instance, MMS showed that MongoDB was continually swapping between the primary and secondary, which was causing network performance issues. After quickly identifying the root cause, Zuberance was able to move one of its virtual servers with a very heavy read/write base to a physical server to reduce latency, which immediately resolved the issue.

Deployment

  • OS: CentOS
  • Deployment platform: dedicated hardware in colocation facility
  • Server hardware configuration: 4x HDD in RAID 10 configuration, Dell R610, 24GB RAM
  • Replica Sets: 4 replica sets
  • Sharding: not yet
  • Application Language: Scala, Akka, Casbah, Salat

Results

MongoDB will allow Zuberance to significantly cut operational costs. While Zuberance requires a dedicated DBA to maintain their current relational database – a quarter million dollar line item – they’ve paid a mere 5% of that for MongoDB support. “Our experience with MongoDB on our enterprise product, along with the operational cost savings, scale, reliability and performance are all factors that are going to help us achieve our vision of fantastic,” said Varma.

Next Steps

Zuberance is so pleased with MongoDB’s ease of development, flexibility and scale that they plan to build all the enterprise product features into the self-serve product, which is based on MongoDB, by 2013.