MongoDB, a famous name in developer community today. That enables you to leverage data and technology to maximize competitive advantage, Reduce risk for critical deployments, accelerate time-to-value, lowers total cost of ownership. MongoDB enables you to develop the application in fast and flexible environment.
Here are some benefits of MongoDB over traditional relational databases:
- Fast and Iterative Development:
- Flexible Data Model : MongoDB uses document based data model that includes collections and documents to store the data into database.
- Multi-Datacenter Scalability
- Integrated Feature Set : Analytics and data visualization, text search, graph processing, geospatial, in-memory performance and global replication allow you to deliver a wide variety of real-time applications on one technology, reliably and securely. RDBMS systems require additional, complex technologies demanding separate integration overhead and expense to do this well.
Concept behind MongoDB
Basically, the concept behind MongoDB was to combine the capabilities of relational databases and technologies of NoSQL. Initially, NoSQL sacrificed the capabilities of relational database but MongoDB is the only database which includes the critical capabilities of relational databases and technologies provided by NoSQL.
MongoDB Multimodel architecture :
- Flexible data model with key value pair based flat table like structure. User can login to Mongo shell to see the structure e.g.
- Extensive query language that supports simple search as well as complex JOINS too.
- With a flexible storage architecture, application owners can deploy storage engines optimized for different workload and operational requirements. Here is the internal structure of db directory.
Data as Document
MongoDb stores data as BSON (Binary JSON), that makes it faster. Documents that share a similar structure are typically organized as collections. You can think of collections as being analogous to a table in a relational database: documents are similar to rows, and fields are similar to columns.
MongoDB Dynamic Schema
MongoDB enables developers to design and evolve the schema through an iterative and agile approach, while enforcing data governance.MongoDB documents can vary in structure. For example, all documents that describe users might contain the user id and the last date they logged into the system, but only some of these documents might contain the user’s identity for one or more third-party applications.
Developers can start writing code and persist the objects as they are created. And when developers add more features, MongoDB continues to store the updated objects without the need for performing costly ALTER_TABLE operations, or worse – having to re-design the schema from scratch.
Query in MongoDB
Where other NoSQL are limited to key-value pair only, MongoDB enables developers to build applications with complex JOINS and searches. e.g.,
- Key-value queries
- Range queries
- Geospatial queries
- Aggregation Framework
- JOINs and graph traversals
- MapReduce queries
So, MongoDB provide us full set of database functionality provided by relational database as well as technologies of NoSQL. Try it,
Please write me up if you find any issue. Cheers!