ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

What is MongoDB?

Updated on November 20, 2016

Introduction to MongoDB

MongoDB (from humongous) is a scalable, open source, high performance and document oriented database. It is a kind of a database which falls under the banner of NoSQL. Instead of rows and columns, it is built on an architecture of documents and collections. Documents consist of set of key-value pairs that are the fundamental units in MongoDB. MongoDB also reduces complexity because it gets you rid of migrations and relationships and reduce numbers of database requests.

MongoDB stores its data in a document data model which is similar to JSON. This make data integration easier and faster. Documents comprise of one or more fields which include binary data, arrays and sub documents. The database uses a document storage and data interchange format that is known as BSON which provide a binary presentation of JSON-like documents. A JSON database returns query results that can be easily parsed by JavaScript.

Unlike most NoSQL MongoDB offer comprehensive secondary indexes, geospatial, extensive security, text search and aggregation capabilities. MongoDB provides you the features necessary to develop the applications.

Source

MongoDB Architecture

MongoDB combines key relational database proficiency with the work that internet explorers have done to address the needs required by modern applications. It amazingly allows the users to mix and match storage engines with single deployment.

Data and records are known as documents which are saved in binary representation of JSON format. They are further organized in collections. It allows date to be showed as simple key-value and flat, table-like structures through documents and objects with sub-documents and deeply nested arrays. In a relational database, collections are similar to a table like:

Collection ~ Tables

Documents ~ Rows


RDBMS
 
MongoDB
Database
 
Database
Table
 
Collection
Tuple/Row
 
Document
Column
 
Field
Table Join
 
Embedded Documents
Primary Key
 
Primary Key (Default key _id provided by mongodb)
The arrangement shows the relationship of RDBMS with MongoDB

Schema of one document can be different than the other one even if it’s in the same collection. Developers are familiar with the JSON that's why flexible schema are supported. Array formats and nested data structures are also supported with MongoDB. It supports typed data as well such as integer, date time, double and forth.

I will cover several eBay use cases where MongoDB is used and will touch on most interesting tech problems that we faced and decisions that we made.

— Yuri Finkelstein (Software Architect Ebay)

MongoDB Data Management:

Sharding is a method of distributing data records across multiple machines. When it comes to MongoDB, it uses sharding to support deployment. MongoDB supports horizontal scaling through sharding. It's sharded cluster depends upon on the following components:

Mongos: The mongo functions as a query router which provides interface between sharded cluster and client applications.

Shard: Each shard comprises of a subset of the shared data which can be deployed as a replica set.

Config Servers: Config servers store configuration settings and metadata for cluster. As from config servers can be deployed as a replica set in MongoDB 3.2

Auto-sharding

MongoDB is designed with attributes like auto-sharding to enable seamless horizontal scalability and performance
MongoDB is designed with attributes like auto-sharding to enable seamless horizontal scalability and performance

Functionalities of MongoDB

  • File storing
  • Lightning fast
  • Load balancing
  • Indexing
  • Replication
  • Ad hoc queries
  • Aggregation
  • Capped collection
  • Rich queries
  • In-place update
  • Cost saving
  • Auto sharding
  • MongoDB is solving big data problem

So, MongoDB is an open-source document database which leads NoSQL database. It is written in C++, C and Java. Going beyond the core document model, MongoDB offers multimodal capabilities. In-database analytics, graph, cross-document relations, faceted navigation, search and more make MongoDB suitable for all use cases.

Advantages of MongoDB over RDBMS

  • Schema less
  • Structure of a single object is clear.
  • No complicated joins.
  • MongoDB supports dynamic queries Tuning.
  • MongoDB is easy to scale.
  • Backup solution.
  • Developers’ flexibility.

MongoDB version 3.0
MongoDB version 3.0 | Source

MongoDB Disadvantages

  • It is difficult to join tables in MongoDB.
  • No complex transactions support.
  • Data size in MongoDB is higher.
  • Database size dependent on memory provided by hardware and operating system.
  • Requires proper analysis.
  • Still under development.

Queries Comparison

MySQL
 
MongoDB
MySQL INSERT INTO users (std_id, age, grade) VALUES ('141237', 22, 'A')
 
db.users.insert({ std_id: '1412137', age: 22, status: 'A' })
SELECT * FROM users
 
db.users.find()
UPDATE users SET status = 'B' WHERE age > 22
 
db.users.update( { age: { $gt: 22 } }, { $set: { status: 'B’ } }, { multi: true } )
Shows Difference between queries of MySQL and MongoDB

MongoDB Atlas

MongoDB Atlas is a cloud-hosted database service. MongoDB Atlas allows users to easily provision MongoDB’s clusters across the cloud. Data is protected through robust access controls and end-to-end encryption. Servers are deployed across availability zones to ensure application is always up and running. MongoDB Atlas provides continuous backups and in time recovery. Automatically figures out when to scale up or out according to application needs.

Organizations Using MongoDB

MongoDB can be used to create applications like discussion forums, bug tracking, advertisements, single view, mobile, content Management, and catalog.

Renowned companies like Cisco, IBM, Sony, Adobe, Facebook and Google are using MongoDB.


Do you think MongoDB can replace MySQL entirely in large organizations?

See results

Comments

    0 of 8192 characters used
    Post Comment

    No comments yet.

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://hubpages.com/privacy-policy#gdpr

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)