MongoDB | a brief introduction
MongoDB | that’s me

     Roman Alexis Anastasini

           #   Game Developer
           #   MongoDB Master
           #   Standard Nerd
MongoDB | what’s MongoDB?

        Agenda

           -  What is MongoDB?
           -  How (!) to use?
             - Use Cases
             - Schema Design Basics
           - Replication and Sharding
           - Map/Reduce vs. Aggregation
MongoDB | what’s MongoDB?

        What’s MongoDB?
           „MongoDB (from "humongous") is an open source
           document-oriented database system developed and
           supported by 10gen. It is part of the NoSQL family of
           database systems. Instead of storing data in tables as is
           done in a "classical" relational database, MongoDB
           stores structured data as JSON-like documents with
           dynamic schemas (MongoDB calls the format BSON),
           making the integration of data in certain types of
           applications easier and faster. “

           (Wikipedia)
MongoDB | what’s MongoDB?

       Who’s behind MongoDB?
MongoDB | what’s MongoDB?

        Licence

         Database:




         Drivers:



         Documentation:
MongoDB | what’s MongoDB?

        Key Features
MongoDB | what’s MongoDB?

        More cool features
           - Document orientated storage
           - Full index support
           - Querying
           - GridFS
           - Commercial Support
           - API:
               - C, C++, C#, Haskell, Java, JavaScript, Lisp, Pearl,
                 PHP, Python, Ruby, Scala
MongoDB | how should it (!)be used?

          Use Cases
MongoDB | schema design basics

             Normalized




source:
10gen.com
MongoDB | schema design basics

             Denormalized




source:
10gen.com
MongoDB | schema design basics

             A document




source:
10gen.com
MongoDB | replication + replica sets + sharding

               Master/Slave




source:
mongodb.org
MongoDB | replication + replica sets + sharding

               Replica Sets




source:
mongodb.org
MongoDB | replication + replica sets + sharding

                Sharding




source:
infoq.com
MongoDB | map/reduce vs. aggregation framework

                          Map/Reduce




source:
map-reduce.wikispaces.asu.edu
MongoDB | map/reduce vs. aggregation framework

              Pipeline Operations




source:
mongodb.org
MongoDB |   a brief introduction




      Thanks!
MongoDB |   a brief introduction




            Q&A
• roman@cmune.com
• @foliba

Mongodb

  • 1.
    MongoDB | abrief introduction
  • 2.
    MongoDB | that’sme Roman Alexis Anastasini # Game Developer # MongoDB Master # Standard Nerd
  • 3.
    MongoDB | what’sMongoDB? Agenda - What is MongoDB? - How (!) to use? - Use Cases - Schema Design Basics - Replication and Sharding - Map/Reduce vs. Aggregation
  • 4.
    MongoDB | what’sMongoDB? What’s MongoDB? „MongoDB (from "humongous") is an open source document-oriented database system developed and supported by 10gen. It is part of the NoSQL family of database systems. Instead of storing data in tables as is done in a "classical" relational database, MongoDB stores structured data as JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster. “ (Wikipedia)
  • 5.
    MongoDB | what’sMongoDB? Who’s behind MongoDB?
  • 6.
    MongoDB | what’sMongoDB? Licence Database: Drivers: Documentation:
  • 7.
    MongoDB | what’sMongoDB? Key Features
  • 8.
    MongoDB | what’sMongoDB? More cool features - Document orientated storage - Full index support - Querying - GridFS - Commercial Support - API: - C, C++, C#, Haskell, Java, JavaScript, Lisp, Pearl, PHP, Python, Ruby, Scala
  • 9.
    MongoDB | howshould it (!)be used? Use Cases
  • 10.
    MongoDB | schemadesign basics Normalized source: 10gen.com
  • 11.
    MongoDB | schemadesign basics Denormalized source: 10gen.com
  • 12.
    MongoDB | schemadesign basics A document source: 10gen.com
  • 13.
    MongoDB | replication+ replica sets + sharding Master/Slave source: mongodb.org
  • 14.
    MongoDB | replication+ replica sets + sharding Replica Sets source: mongodb.org
  • 15.
    MongoDB | replication+ replica sets + sharding Sharding source: infoq.com
  • 16.
    MongoDB | map/reducevs. aggregation framework Map/Reduce source: map-reduce.wikispaces.asu.edu
  • 17.
    MongoDB | map/reducevs. aggregation framework Pipeline Operations source: mongodb.org
  • 18.
    MongoDB | a brief introduction Thanks!
  • 19.
    MongoDB | a brief introduction Q&A • roman@cmune.com • @foliba