Mongo DB ( Most Popular Open Source NoSQL Database )
Session by Tejas Suthar for Tatvasoft Pvt. Ltd.
Session: Part 1 of 2 Before We Start
This is just a Knowledge Sharing session Everyone is allowed to ask / raise questions if you have any queries / concerns / doubts. I will try to answer as much as I can.
Important Its most important to Learn More About 1. History How its been implemented / evolved? 2. Popularity How popular it is at the moment in its domain (NoSQL Market)? 3. Future Aspects How far it can go? Mongo DB : History Founded by 10gen (now MongoDB Inc.) - Initially developed for Platform as a service (PAAS), later in 2009 company shifted to opensource model providing commercial support as well. Month / Year founded: October 2007 From version 1.4 (March 2010) onward, MongoDB has been considered production ready. The latest stable version, 2.6, was released on April 8, 2014. Mongo DB: Popularity According to db-engines.com, in April 2014, MongoDB is in 5th place as the most popular type of database management system, and first place for NoSQL database management systems.
Source: http://db-engines.com/en/ranking Mongo DB : Trend & Future Analysis Source: http://www.google.co.in/trends Mongo DB : Why is it very important to Learn? Because, its popular and has a great market value in Document oriented Databases. Proven trek record for High Traffic Performance Large set of Advanced Features Replication, Sharding, Indexing, Map-Reduce, Ad-hoc queries Flexible document structure, Schema less, very high IO performance Trusted by large companies like eBay, Forbes, The NewYork Times, forsquare Increasing user base ( In turn good community support, easy to use and get help / support ) Increasing trend and popularity, and it will be in huge demand over 5 years of span and it will provide more opportunities for projects to come. ( We will see trend analysis on later slides ) With time progress, it is going to be in huge demand same as other next gen cutting edge technology along with Angular JS, Node JS, HTML 5, Sass, Compass etc. So Just basic understanding of this database is necessary, when project comes we just need to start working on it instead of start working at that time.
MongoDB is available for free under the GNU Affero General Public License. The language drivers are available under an Apache License. In addition, MongoDB Inc. offers commercial licenses for MongoDB. Mongo DB : Licensing & Support Mongo DB : About
MongoDB (from "humongous") is a cross-platform document-oriented database system. Classified as a NoSQL (Not Only SQL) database. Has JSON-like documents with dynamic schemas known as BSON (Binary JSON) Major Companies Using MongoDB: eBay, Foursquare, SourceForge, NewYorkTimes, SAP, Forbes, The Guardian, Codecademy, Craigslist, MetLife
Mongo DB : Main Features - Advanced Ad hoc queries Indexing Replication Load balancing File storage Aggregation ( Map-reduce ) Server-side JavaScript Execution Capped collections What is Document? Document is same as single record in MySQL What is collection? Collection is same as Table in MySQL Insert Document in Collection
Same as Insert Record in Table in MySQL
Find Query in MongoDB Mongo DB: Criticisms / Limitations 1. Limited Support of UTF-8 encoding Very limited support for sorting on UTF-8 encoded string data Which is a substantial problem when storing non-English text. Specifically, MongoDB currently uses the memcmp function when sorting strings, which doesn't correctly handle UTF-8 data under different locales. 2. Read Write Concern MongoDB uses a readers-writer lock that allows concurrent read access to a database but exclusive write access to a single write operation. So at a particular time only one thread can have access to Write into Db while other threads have read access to DB. Mongo DB : Language Support
Official drivers for a variety of popular programming languages and development environments C, C#, Go, PHP, Java, Node.js, Python, Ruby and many more. A complete list of supported drivers for Mongo DB is available at http://docs.mongodb.org/ecosystem/drivers/
Management & Graphical Front Ends - Robomongo
Robomongo: Most popular open source database management tool available as Windows, Linux & Mac installer)
Management & graphical Interface - Rockmongo Rockmongo: Web based interface for MongoDB database management same as phpMyAdmin in MySQL
Management & Graphical Interface Db Backup Mongoimport, Mongoexport: A command line utility to import content from JSON, CSV to to export data from mongo database. Many other interesting tools available to explore more features like mongo, mongostat, mongotop, mongosniff, mongodump, mongorestore A more detailed list of administration interfaces available here: http://docs.mongodb.org/ecosystem/tools/administration-interfaces/#admin-uis http://mongodb-tools.com/