Cisco using MongoDB

Cisco using MongoDB


What is MongoDB?

No alt text provided for this image


MongoDB is a document-oriented NoSQL database used for high volume data storage. Instead of using tables and rows as in the traditional relational databases, MongoDB makes use of collections and documents. Documents consist of key-value pairs which are the basic unit of data in MongoDB. Collections contain sets of documents and function which is the equivalent of relational database tables. MongoDB is a database which came into light around the mid-2000s.

MongoDB Features

  1. Each database contains collections which in turn contains documents. Each document can be different with a varying number of fields. The size and content of each document can be different from each other.
  2. The document structure is more in line with how developers construct their classes and objects in their respective programming languages. Developers will often say that their classes are not rows and columns but have a clear structure with key-value pairs.
  3. The rows (or documents as called in MongoDB) doesn't need to have a schema defined beforehand. Instead, the fields can be created on the fly.
  4. The data model available within MongoDB allows you to represent hierarchical relationships, to store arrays, and other more complex structures more easily.

Why Use MongoDB?

No alt text provided for this image


Below are the few of the reasons as to why one should start using MongoDB

  1. Document-oriented – Since MongoDB is a NoSQL type database, instead of having data in a relational type format, it stores the data in documents. This makes MongoDB very flexible and adaptable to real business world situation and requirements.
  2. Ad hoc queries - MongoDB supports searching by field, range queries, and regular expression searches. Queries can be made to return specific fields within documents.
  3. Indexing - Indexes can be created to improve the performance of searches within MongoDB. Any field in a MongoDB document can be indexed.
  4. Replication - MongoDB can provide high availability with replica sets. A replica set consists of two or more mongo DB instances. Each replica set member may act in the role of the primary or secondary replica at any time. The primary replica is the main server which interacts with the client and performs all the read/write operations. The Secondary replicas maintain a copy of the data of the primary using built-in replication. When a primary replica fails, the replica set automatically switches over to the secondary and then it becomes the primary server.
  5. Load balancing - MongoDB uses the concept of sharing to scale horizontally by splitting data across multiple MongoDB instances. MongoDB can run over multiple servers, balancing the load and/or duplicating data to keep the system up and running in case of hardware failure.

case study on cisco :

Cisco

No alt text provided for this image


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.

The Problem

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.

Why MongoDB?

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.

HIGHLY SCALABLE

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.

HIGH AVAILABILITY

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.

Results

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.

要查看或添加评论,请登录

Tejas Gupta的更多文章

  • Ace AWS Cloud Practitioner Certification

    Ace AWS Cloud Practitioner Certification

    Hello Everyone , I recently cleared AWS cloud Practitioner exam and would like to share some learning strategies and…

    6 条评论
  • <script>...</script>

    <script>...</script>

    JavaScript is a dynamic programming language that's used for web development, in web applications, for game…

    1 条评论
  • Confusion Matrix - IDS

    Confusion Matrix - IDS

    A confusion matrix is a summarized table of the number of correct and incorrect predictions (or actual and predicted…

    3 条评论
  • Do you know all about vi Editor?

    Do you know all about vi Editor?

    Vi or the Visual Editor is the default text editor that comes with most Linux systems. It is a Terminal-based text…

    9 条评论
  • CISCO WITH OPENSHIFT

    CISCO WITH OPENSHIFT

    Red Hat OpenShift is a multifaceted, open source container application platform from Red Hat Inc. for the development…

  • Industry use cases on Jenkins

    Industry use cases on Jenkins

    What is Jenkins? Jenkins is an open source Continuous Integration server capable of orchestrating a chain of actions…

  • CASE STUDY OF AWS SQS

    CASE STUDY OF AWS SQS

    What is Amazon SQS? Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to…

  • SIEMENS Healthineers With Azure Kubernetes Service (

    SIEMENS Healthineers With Azure Kubernetes Service (

    Lets start with a statistics This itself explain why do we need to have knowledge of Azure Kubernetes Service What is…

  • Facebook with a surprise

    Facebook with a surprise

    The basic idea behind a neural network is to simulate (copy in a simplified but reasonably faithful way) lots of…

  • Ansible session with experts of Redhat

    Ansible session with experts of Redhat

    ??Hello Connection?? Yesterday on 28th December 2020 I attended an "Ansible Industry Experts Practical Demo " arranged…

社区洞察

其他会员也浏览了