Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
An IntroductionDeepak Kumar | @_deepak0
An IntroductionDeepak Kumar | @_deepak0
MongoDB● Document oriented  a. Objects are mapped as documents  b. Documents can be embedded  c. Dynamically typed● No Sch...
Programming Language SupportSupported by all the popular programminglanguages (C++, Java, Python, Ruby, Go, Haskeletc...) ...
Interesting FactThere are MongoDB systems that exceed one       million operations per second.
MongoDB document modelKey         Key                Value                    Field                  Document             ...
Data Types Supported●   String●   Number●   Boolean●   Date●   Null●   Array●   Object ID●   Binary data●   Regular Expres...
Why should we use Mongodb●   Easy to scale●   Coding velocity (agility)●   No impedance mismatch●   Allows dynamic schema ...
Impedance MismatchIn object relational mapping an object inprogramming language is mapped to a record indatabase. So if th...
Where should we avoid MongoDB● Problems with SQL support.● Systems with heavy emphasis on complex  transactions such as ba...
Indexing● Indexing can be done on a field● Indexing can be done on an embedded object.● Sparse indexing - Indexing based e...
MongoDB/ Components● Mongod => Database Process● Mongoes => Shrading Controller● Mongo => Database Shell ( javascript shell)
MongoDB/Utilities● mongodump => Dump tool for backup and  snapshot● mongorestore => Restore a dump● mongoexport => Export ...
Single Server Configuration● Install mongodb● create a database directory  eg: mkdir -p /data/db● create a configuration f...
MongoDB Multiserver Configuration
Third party Software Used With                MogoDBBoost => Portable open source C++ libraries.V8     => Javascript runti...
Edda - Admin Tool● Edda provides a graphical visualization of  mongodb servers .● Edda provides an easy way to check the s...
Companies Using MongoDB●   Foursquare●   MTV networks●   Disney●   Customlnk●   Sourceforge●   Wowmakers●   and many other...
Thanks
Questions ?
Upcoming SlideShare
Loading in …5
×

Mongodb (1)

399 views

Published on

  • Be the first to comment

  • Be the first to like this

Mongodb (1)

  1. 1. An IntroductionDeepak Kumar | @_deepak0
  2. 2. An IntroductionDeepak Kumar | @_deepak0
  3. 3. MongoDB● Document oriented a. Objects are mapped as documents b. Documents can be embedded c. Dynamically typed● No Schema● High availability a. Replication through sharding. b. Automatic failover● Easy scaling a. Auto shrading ( auto partitioning data across servers)● Speed
  4. 4. Programming Language SupportSupported by all the popular programminglanguages (C++, Java, Python, Ruby, Go, Haskeletc...) and web frameworks ( Rails, Django etc).
  5. 5. Interesting FactThere are MongoDB systems that exceed one million operations per second.
  6. 6. MongoDB document modelKey Key Value Field Document Collection Database
  7. 7. Data Types Supported● String● Number● Boolean● Date● Null● Array● Object ID● Binary data● Regular Expression
  8. 8. Why should we use Mongodb● Easy to scale● Coding velocity (agility)● No impedance mismatch● Allows dynamic schema ( No Schema, agility)● Easier to store and manipulate polymorphic data● Variety of Indexing● A MapReduce tool.
  9. 9. Impedance MismatchIn object relational mapping an object inprogramming language is mapped to a record indatabase. So if the data is simple and databasesupport it then there is no mismatch.But if the data is polymorphic and have unsupportedtypes then the mapping will be difficult whichcauses a impedance mismatch.In mongodb data is of JSON format so it can mapwell to the object.
  10. 10. Where should we avoid MongoDB● Problems with SQL support.● Systems with heavy emphasis on complex transactions such as banking.● Data Warehousing whose underlying database are schema based.
  11. 11. Indexing● Indexing can be done on a field● Indexing can be done on an embedded object.● Sparse indexing - Indexing based existence of field.● TTL index● Geospatial Index ( Location based access)● Geohaystack index (Bucket based small regions)
  12. 12. MongoDB/ Components● Mongod => Database Process● Mongoes => Shrading Controller● Mongo => Database Shell ( javascript shell)
  13. 13. MongoDB/Utilities● mongodump => Dump tool for backup and snapshot● mongorestore => Restore a dump● mongoexport => Export a single collection to JSON or CSV● mongoimport => Import from JSON or CSV● mongofiles => Utility for putting and getting files from MongoDB GridFS● mongostat => Performance statistics tool
  14. 14. Single Server Configuration● Install mongodb● create a database directory eg: mkdir -p /data/db● create a configuration file (optional) eg: /etc/mongodb.conf● start the mongodb server sudo mongod -f /etc/mongodb.conf OR use init script.● connect to the database using javascript console mongo You will get connected to test database.
  15. 15. MongoDB Multiserver Configuration
  16. 16. Third party Software Used With MogoDBBoost => Portable open source C++ libraries.V8 => Javascript runtime.PCRE => Perl compatible regular expression.MD5 => Message Digest AlgorithmSnappy => fast compression and decompression tool
  17. 17. Edda - Admin Tool● Edda provides a graphical visualization of mongodb servers .● Edda provides an easy way to check the status in multiserver configuration.
  18. 18. Companies Using MongoDB● Foursquare● MTV networks● Disney● Customlnk● Sourceforge● Wowmakers● and many others ....
  19. 19. Thanks
  20. 20. Questions ?

×