Your SlideShare is downloading. ×
MongoDb - Details on the POC
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

MongoDb - Details on the POC


Published on

Published in: Technology

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Goodbye rows and tables, hello documents and collections
  • 2. Lots of pretty pictures to fool you.
  • 3. Noise
  • 4. Introduction M ongoDB bridges the gap between key-value stores (which are fast and highly scalable) and traditional RDBMS systems (which provide rich queries and deep functionality). MongoDB is document-oriented , schema-free , scalable , high-performance , open source. Written in C++ Mongo is not a relational database like MySQL Goodbye rows and tables, hello documents and collections
    • Features
    • Document-oriented
      • Documents (objects) map nicely to programming language data types
      • Embedded documents and arrays reduce need for joins
      • No joins and no multi-document transactions for high performance and easy scalability
    • High performance
      • No joins and embedding makes reads and writes fast
      • Indexes including indexing of keys from embedded documents and arrays
    • High availability
      • Replicated servers with automatic master failover
    • Easy scalability
      • Automatic sharding (auto-partitioning of data across servers)
        • Reads and writes are distributed over shards
        • No joins or multi-document transactions make distributed queries easy and fast
      • Eventually-consistent reads can be distributed over replicated servers
  • 5.
    • Cost - MongoDB is free
    • MongoDb is easily installable.
    • MongoDb supports various programming languages like C, C++, Java,Javascript, PHP.
    • MongoDB is blazingly fast
    • MongoDB is schemaless
    • Ease of scale-out
    • If load increases it can be distributed to other nodes across computer networks.
    • It's trivially easy to add more fields -- even complex fields -- to your objects.
    • So as requirements change, you can adapt code quickly.
    • Background Indexing
    • MongoDB is a stand-alone server
    • Development time is faster, too, since there are no schemas to manage.
    • It supports Server-side JavaScript execution.
    • Which allows a developer to use a single programming language for both client and server side code
    Why ?
  • 6.
    • Mongo is limited to a total data size of 2GB for all databases in 32-bit mode.
    • No referential integrity
    • Data size in MongoDB is typically higher.
    • At the moment Map/Reduce (e.g. to do aggregations/data analysis) is OK,
    • but not blisteringly fast.
    • Group By : less than 10,000 keys.
    • For larger grouping operations without limits, please use map/reduce .
    • Lack of predefined schema is a double-edged sword
    • No support for Joins & transactions
  • 7. Benchmarking (MongoDB Vs. MySQL) Test Machine configuration: CPU : Intel Xeon 1.6 GHz - Quad Core, 64 Bit Memory : 8 GB RAM OS : Centos 5.2 - Kernel 2.6.18 64 bit Record Structure Field1 -> String, Indexed Field2 -> String, Indexed Filed3 -> Date, Not Indexed Filed4 -> Integer, Indexed
  • 8. Mongo data model
    • A Mongo system (see deployment above) holds a set of databases
    • A database holds a set of collections
    • A collection holds a set of documents
    • A document is a set of fields
    • A field is a key-value pair
    • A key is a name (string)
    • A value is a
      • basic type like string, integer, float, timestamp, binary, etc.,
      • a document, or
      • an array of values
    MySQL Term Mongo Term database database table collection index index row BSON document column BSON field Primary key _id field
  • 9. SQL to Mongo Mapping Chart
  • 10. Continued ... SQL Statement Mongo Statement
  • 11. Replication / Sharding
    • Data Redundancy
    • Automated Failover
    • Distribute read load
    • Simplify maintenance
    • (compared to "normal" master-slave)
    • Disaster recovery from user error
    • Automatic balancing for changes in
    • load and data distribution
    • Easy addition of new machines
    • Scaling out to one thousand nodes
    • No single points of failure
    • Automatic failover
  • 12. These slides are online: