by Thiago Bonfim @ Avenue Code
tbonfim@avenuecode.com

Apr 29th, 2016

PRE-REQUISITES




Notions of databases, notions of javascript and JSON
______________________________________________
Mongo DB 

What is?


MongoDB is a scalable, high-performance, opens source, schema-free, document-oriented database - mongodb.org


______________________________________________
Mongo DB 

What is?




Created as an engine for big objects storage, not to be a database


Objects instead of rows

______________________________________________
Mongo DB

mongo db



RDBMS no longer fits nowadays apps
        
Facebook, Twitter ...

Need to easily scale  (horizontally)
______________________________________________
Mongo DB 

Mongo db


  • Speed
  • Performance
  • Flexibility
  • Scalability
______________________________________________
Mongo DB 

Mongo DB


Not concerned with transactional stuff and relational semantics 
 
Data storage is king! ( not anymore ) 
 
Data access is king!
______________________________________________
Mongo DB

Mongo DB

MongoDB tries to achieve the performance of traditional key-value stores, while maintaining functionality of traditional RDBMS

  
______________________________________________
Mongo DB

Terminology


RDBMS              vs           MongoDB
Database                           Database
Table                                  Collection
Row                                   Document
Index                                          Index
Join                                   Embedded 
                                        Document
Foreign Key                      Reference

______________________________________________
Mongo DB

DOCUMENTS


JSON objects

 { 'user' : 'tbonfim', 'age': '28', 'address': [...]}       

______________________________________________
Mongo DB 

MONGO db



Schema-less - You can change the way you store your data on the fly
______________________________________________
Mongo DB
______________________________________________
Mongo DB 

Sharding


Horizontal scaling

Easily split your data into several servers


Much faster than RDBMS
______________________________________________ 

Mongo db



Support with major languages 

Strong and mature Application-level frameworks to handle what is left behind ( Transactions, constraints) 
______________________________________________
Mongo DB

References


http://mongodb.org


http://www.mongodb.org/display/DOCS/Tutorial
______________________________________________
Mongo DB
Made with Slides.com