Cisco is the worldwide leader in networking, transforming how people connect, communicate and collaborate. In November 2011, Cisco launched WebEx Social (previously known as Quad), an enterprise collaboration platform designed for today's social, mobile, visual and virtual workforce. A “Facebook for enterprises,” WebEx Social connects people to the information and expertise they need, when they need it. Users share knowledge and ideas throughout the enterprise, and across geographic and organizational boundaries. When their existing relational database needed a NoSQL extension to power the collaborative workspace, Cisco turned to MongoDB as their NoSQL database of choice.
WebEx Social is a true Enterprise 2.0 platform, “a place where people ‘live’ at work,” according to Biren Gandhi, principal architect for Cisco’s Cloud Collaboration Applications Technology Group (CCATG). The comprehensive collaboration platform combines the four core Enterprise 2.0 pillars – business processes, content, communication and social features – that enable users to work together effortlessly. With their existing relational database, complex SQL queries against highly normalized schema were time consuming and Cisco had little room to scale horizontally. Additionally, it was difficult to manage schema upgrades and migrate data from release to release.
WebEx Social’s rapid evolution required expanded data store capabilities and the ability to build successful new social features. Cisco sought an open source, NoSQL solution that was scalable, flexible and met the product’s hardcore enterprise needs: secure, mature commercial support, able to deliver consistent back up and disaster recovery, and easy to integrate with legacy systems. After an extensive evaluation and successful proof of concept, Cisco adopted MongoDB in mid-2011.
MongoDB now serves as the primary real-time data store for WebEx Social’s social features that are write-heavy in nature. For example, a social activity feed that notifies thousands of users depending on some complex privacy and visibility rules. Additionally, Cisco uses MongoDB to perform some social network analytics. With MongoDB’s lightweight MapReduce feature, Cisco developers are able to automatically generate, with ease, recommendations such as users to connect with, communities to join and interesting content to view, as well as statistics, including top contributors, most popular colleagues and most downloaded docs.
"MongoDB is a very active, open source project with a vibrant community. It matches WebEx Social’s feature set and fits in line exactly with our needs,” said Gandhi.
EASY TO IMPLEMENT DOCUMENT MODEL
MongoDB’s document-based data model offers Cisco the right balance between complex relational databases and the pure key value store of most NoSQL solutions.
Intuitive mapping from the domain model to JSON docs and complex querying capabilities enable Cisco to cross-reference users and query embedded lists, functions that were either not possible in their existing database or were costly to perform. In contrast with a relational model, which requires a three-step process of fetch-update-commit, MongoDB’s in-place atomic updates allow for “one-stop operations,” according to Gandhi.
MILLISECOND RESPONSE TIME
With MongoDB, Cisco sped up reads from 30 seconds in some extreme cases to tens of milliseconds per object and eliminated caching needs in certain cases. As the WebEx Social platform evolves, Cisco plans to migrate more write-heavy features to MongoDB.
MongoDB meets the demands of WebEx Social’s high-volume write activity. MongoDB offers a fast, easy way to de-normalize, index and extract information from data stores and its unique compound and geospatial indexing are a big plus.
Cisco uses built-in sharding and replica sets, which are easy to use and enable high availability through automatic failover of nodes and recovery of member nodes.
As part of various innovation initiatives at Cisco, many developers participate in voluntary projects where people can collaborate and share results on their ideas. Many have taken up MongoDB as part of their project development, a testament to the usability, flexibility and innovation that the database offers.
The Cisco development team is constantly evaluating the most effective product roadmap to drive customer success on WebEx Social. MongoDB provides Cisco with a user friendly platform for customers and an easy, powerful technology for developers. Cisco is focused on rolling out new features quickly and offering flexibility to users, and “MongoDB is a big piece of that,” said Gandhi.