SlideShare a Scribd company logo
© 2010, OpenThink Labs. All Rights Reserved
MongoDB
Introduction
Wildan Maulana
wildan.m@openthinklabs.com
© 2010, OpenThink Labs. All Rights Reserved
A Rich Data Model
● MongoDB is a document-oriented database, not a
relational one
● The primary reason for moving away from the relational
model is to make scaling out easier
● The basic idea is to replace the concept of a “row” with
a more flexible model, the “document.” By allowing
embedded documents and arrays, the document-
oriented approach makes it possible to represent
complex hierarchical relationships with a single record.
● MongoDB is also schema-free: a document’s keys are
not predefined or fixed in any way.
© 2010, OpenThink Labs. All Rights Reserved
Easy Scaling
● Scaling a database comes down to the choice between
scaling up (getting a bigger machine) or scaling out
(partitioning data across more machines)
● MongoDB was designed from the beginning to scale out.
Its document-oriented data model allows it to automatically
split up data across multiple servers. It can balance data
and load across a cluster, redistributing documents
automatically
● This allows developers to focus on programming the
application, not scaling it
© 2010, OpenThink Labs. All Rights Reserved
Tons of Features…
● Indexing
● MongoDB supports generic secondary indexes, allowing a variety of fast queries, and
provides unique, compound, and geospatial indexing capabilities as well.
● Stored JavaScript
● Instead of stored procedures, developers can store and use JavaScript functions and
values on the server side.
● Aggregation
● MongoDB supports MapReduce and other aggregation tools.
● Fixed-size collections
● Capped collections are fixed in size and are useful for certain types of data, such as logs
● File storage
● MongoDB supports an easy-to-use protocol for storing large files and file metadata.
© 2010, OpenThink Labs. All Rights Reserved
Some features common to relational databases are not present
in MongoDB, notably joins and complex multirow transactions.
These are architectural decisions to allow for scalability,
because both of those features are difficult to provide
efficiently in a distributed system.
© 2010, OpenThink Labs. All Rights Reserved
…Without Sacrificing Speed
● MongoDB uses a binary wire protocol (?) as the primary
mode of interaction with the server (as opposed to a protocol
with more overhead, like HTTP/REST)
● It adds dynamic padding to documents and preallocates data
files to trade extra space usage for consistent performance
● It uses memory-mapped files in the default storage engine,
which pushes the responsibility for memory management to
the operating system.
● It also features a dynamic query optimizer that “remembers”
the fastest way to perform a query.
© 2010, OpenThink Labs. All Rights Reserved
Simple Administration
● MongoDB tries to simplify database administration by
making servers administrate themselves as much as
possible.
● Aside from starting the database server, very little
administration is necessary.
● If a master server goes down, MongoDB can
automatically failover to a backup slave and promote
the slave to a master
● In a distributed environment, the cluster needs to be told
only that a new node exists to automatically integrate
and configure it.
© 2010, OpenThink Labs. All Rights Reserved
But Wait, That’s Not All…
● Throughout the course of the book, we will take
the time to note the reasoning or motivation
behind particular decisions made in the
development of MongoDB.
© 2010, OpenThink Labs. All Rights Reserved
Buy this book, on Amazon!
© 2010, OpenThink Labs. All Rights Reserved
Q&A
Thanks! ^_^

More Related Content

PPTX
CSCi226PPT1
PPTX
SQL vs MongoDB
PPTX
Mongo db
PPTX
Mongo DB
PDF
Mongo db dhruba
KEY
Mongodb intro
PPT
MongoDb - Details on the POC
PPTX
CSCi226PPT1
SQL vs MongoDB
Mongo db
Mongo DB
Mongo db dhruba
Mongodb intro
MongoDb - Details on the POC

What's hot (20)

PPTX
MongoDB: An Introduction - june-2011
PPTX
Mongo db intro.pptx
PDF
Mongo db basics
PPTX
MongoDB introduction
PPTX
Database and types of database
PPTX
Mongodb vs mysql
PDF
10 mongo db
PPTX
PPTX
Mango Database - Web Development
PPTX
PDF
An introduction to MongoDB
KEY
MongoDB NYC Python
PPTX
No sql - { If and Else }
PDF
My sql vs mongo
ODP
Introduction to MongoDB
PPTX
MongoDB Introduction - Document Oriented Nosql Database
PPTX
Introduction to MongoDB and CRUD operations
ODP
Draft slide of Demystifying DHT in GlusterFS
DOCX
MongoDB DOC v1.5
MongoDB: An Introduction - june-2011
Mongo db intro.pptx
Mongo db basics
MongoDB introduction
Database and types of database
Mongodb vs mysql
10 mongo db
Mango Database - Web Development
An introduction to MongoDB
MongoDB NYC Python
No sql - { If and Else }
My sql vs mongo
Introduction to MongoDB
MongoDB Introduction - Document Oriented Nosql Database
Introduction to MongoDB and CRUD operations
Draft slide of Demystifying DHT in GlusterFS
MongoDB DOC v1.5
Ad

Similar to MongoDB : Introduction (20)

PPT
MONGODB VASUDEV PRAJAPATI DOCUMENTBASE DATABASE
PDF
Pros and Cons of MongoDB in Web Development
PPTX
how_can_businesses_address_storage_issues_using_mongodb.pptx
PDF
Data Migration Between MongoDB and Oracle
PDF
how_can_businesses_address_storage_issues_using_mongodb.pdf
DOCX
What are the major components of MongoDB and the major tools used in it.docx
ODP
Introduction to MongoDB
PDF
MongoDB Jump Start
PPTX
Everything You Need to Know About MongoDB Development.pptx
DOCX
What is the significance of MongoDB and what are its usages.docx
PDF
Hands on Big Data Analysis with MongoDB - Cloud Expo Bootcamp NYC
PPTX
Mongo db pefrormance optimization strategies
PPTX
05201349_Unit_7_FSWD_ advanced learning.pptx
PPTX
05201349_Unit_7_FSWD_II(1) with advance.pptx
PPTX
05201349_Unit_7_FSWD_ advanced learning.pptx
PPTX
05201349_Unit_7_FSWD_II(1) with advance.pptx
PPTX
Mongodb basics and architecture
PDF
TCO Comparison MongoDB & Oracle
PDF
Mongo db transcript
MONGODB VASUDEV PRAJAPATI DOCUMENTBASE DATABASE
Pros and Cons of MongoDB in Web Development
how_can_businesses_address_storage_issues_using_mongodb.pptx
Data Migration Between MongoDB and Oracle
how_can_businesses_address_storage_issues_using_mongodb.pdf
What are the major components of MongoDB and the major tools used in it.docx
Introduction to MongoDB
MongoDB Jump Start
Everything You Need to Know About MongoDB Development.pptx
What is the significance of MongoDB and what are its usages.docx
Hands on Big Data Analysis with MongoDB - Cloud Expo Bootcamp NYC
Mongo db pefrormance optimization strategies
05201349_Unit_7_FSWD_ advanced learning.pptx
05201349_Unit_7_FSWD_II(1) with advance.pptx
05201349_Unit_7_FSWD_ advanced learning.pptx
05201349_Unit_7_FSWD_II(1) with advance.pptx
Mongodb basics and architecture
TCO Comparison MongoDB & Oracle
Mongo db transcript
Ad

More from Wildan Maulana (20)

PDF
Hasil Pendataan Potensi Desa 2018
PDF
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
PDF
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
PDF
Pengembangan OpenThink SAS 2013-2014
PDF
ICA – AtoM : Retensi Arsip
PDF
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
PDF
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
PDF
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PDF
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
PDF
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
PDF
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
PDF
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
PDF
Instalasi dan Konfigurasi simpleSAMLphp
PDF
River Restoration in Asia and Connection Between IWRM and River Restoration
PDF
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
PPT
Penilaian Siswa di Finlandia - Pendidikan Dasar
PDF
Statistik Listrik
PDF
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
PDF
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
PDF
Menggunakan AlisJK : Equating
Hasil Pendataan Potensi Desa 2018
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Pengembangan OpenThink SAS 2013-2014
ICA – AtoM : Retensi Arsip
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi dan Konfigurasi simpleSAMLphp
River Restoration in Asia and Connection Between IWRM and River Restoration
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
Penilaian Siswa di Finlandia - Pendidikan Dasar
Statistik Listrik
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
Menggunakan AlisJK : Equating

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
Approach and Philosophy of On baking technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Cloud computing and distributed systems.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPT
Teaching material agriculture food technology
PDF
Empathic Computing: Creating Shared Understanding
cuic standard and advanced reporting.pdf
Spectroscopy.pptx food analysis technology
Approach and Philosophy of On baking technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The AUB Centre for AI in Media Proposal.docx
“AI and Expert System Decision Support & Business Intelligence Systems”
Per capita expenditure prediction using model stacking based on satellite ima...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MYSQL Presentation for SQL database connectivity
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Cloud computing and distributed systems.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Advanced methodologies resolving dimensionality complications for autism neur...
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Teaching material agriculture food technology
Empathic Computing: Creating Shared Understanding

MongoDB : Introduction

  • 1. © 2010, OpenThink Labs. All Rights Reserved MongoDB Introduction Wildan Maulana wildan.m@openthinklabs.com
  • 2. © 2010, OpenThink Labs. All Rights Reserved A Rich Data Model ● MongoDB is a document-oriented database, not a relational one ● The primary reason for moving away from the relational model is to make scaling out easier ● The basic idea is to replace the concept of a “row” with a more flexible model, the “document.” By allowing embedded documents and arrays, the document- oriented approach makes it possible to represent complex hierarchical relationships with a single record. ● MongoDB is also schema-free: a document’s keys are not predefined or fixed in any way.
  • 3. © 2010, OpenThink Labs. All Rights Reserved Easy Scaling ● Scaling a database comes down to the choice between scaling up (getting a bigger machine) or scaling out (partitioning data across more machines) ● MongoDB was designed from the beginning to scale out. Its document-oriented data model allows it to automatically split up data across multiple servers. It can balance data and load across a cluster, redistributing documents automatically ● This allows developers to focus on programming the application, not scaling it
  • 4. © 2010, OpenThink Labs. All Rights Reserved Tons of Features… ● Indexing ● MongoDB supports generic secondary indexes, allowing a variety of fast queries, and provides unique, compound, and geospatial indexing capabilities as well. ● Stored JavaScript ● Instead of stored procedures, developers can store and use JavaScript functions and values on the server side. ● Aggregation ● MongoDB supports MapReduce and other aggregation tools. ● Fixed-size collections ● Capped collections are fixed in size and are useful for certain types of data, such as logs ● File storage ● MongoDB supports an easy-to-use protocol for storing large files and file metadata.
  • 5. © 2010, OpenThink Labs. All Rights Reserved Some features common to relational databases are not present in MongoDB, notably joins and complex multirow transactions. These are architectural decisions to allow for scalability, because both of those features are difficult to provide efficiently in a distributed system.
  • 6. © 2010, OpenThink Labs. All Rights Reserved …Without Sacrificing Speed ● MongoDB uses a binary wire protocol (?) as the primary mode of interaction with the server (as opposed to a protocol with more overhead, like HTTP/REST) ● It adds dynamic padding to documents and preallocates data files to trade extra space usage for consistent performance ● It uses memory-mapped files in the default storage engine, which pushes the responsibility for memory management to the operating system. ● It also features a dynamic query optimizer that “remembers” the fastest way to perform a query.
  • 7. © 2010, OpenThink Labs. All Rights Reserved Simple Administration ● MongoDB tries to simplify database administration by making servers administrate themselves as much as possible. ● Aside from starting the database server, very little administration is necessary. ● If a master server goes down, MongoDB can automatically failover to a backup slave and promote the slave to a master ● In a distributed environment, the cluster needs to be told only that a new node exists to automatically integrate and configure it.
  • 8. © 2010, OpenThink Labs. All Rights Reserved But Wait, That’s Not All… ● Throughout the course of the book, we will take the time to note the reasoning or motivation behind particular decisions made in the development of MongoDB.
  • 9. © 2010, OpenThink Labs. All Rights Reserved Buy this book, on Amazon!
  • 10. © 2010, OpenThink Labs. All Rights Reserved Q&A Thanks! ^_^