SlideShare a Scribd company logo
1 of 11
Download to read offline
MongoDB
         A quick overview




Brad - @darb – Dev/Ops manager, Motribe
Structure of my talk

Context / How we are using MongoDB

Terminology in MongoDB world

Deployment / Growing

The things that suck
What we do - 3 web apps, 1 MongoDB cluster

‧
    Motribe - mobile social network
    ●   ±50k monthly active users
‧   JudgeMe – mxit social app
    ●   1m signups in 45 days / 200k+ photo uploads
    ●   0.5m - 3m pageviews/day
‧
    MxPix – mxit photo sharing app
    ●   200k+ signups in a week / 70k+ photo uploads
    ●   0.5m – 1m page views/day
MongoDB (from "humongous")

‧
    JSON Document storage
‧   Documents are members of Collections
‧
    Collections belong to Databases
‧
    Indexes on any key in a document
‧   Javascript interface for queries
‧   Trivial Sharding of data
Some benefits

‧   Implicit creation of databases, collections
‧   Index and query anything inside document
    (composite keys, 2d/geo indexing)
‧   Great documentation
‧   Great examples (e.g. randomization)
‧   Emphasis on Just Works™
‧   Drivers in many languages
‧   Active community
Grow up or out

‧   Horizontal – read/write throughput
    ●   Shard databases - split collections over shards
    ●   Shard collections - split documents over shards

‧   Vertical – read throughput
    ●   Replica sets
         –   Auto master / slaves, voting, promotion, demotion
         –   Time delayed slaves
         –   Magic... bring up mongo server, inform config server, siphons
             data
Moving parts at scale

‧   Routers – “mongos”
    ●   Abstract the magic, route requests to the right place
    ●   Collate responses from shards, etc.
    ●   Apps connect to “mongos”


‧   Config servers
    ●   Min 3x for redundancy
    ●   Knows about dbs, shards, slaves
A picture
Monitoring

‧   Mongo Monitoring Service (MMS) is lovely
‧   JS console means you can do powerful
    things on the terminal
‧   JS interface exposes lots of data
    ●   Size of indexes
    ●   Comprehensive info about where db/collections stored
    ●   Location, status and health of nodes
The things that suck

‧   Index anything means indexes can get
    large (e.g. we have 4gb of indexes on a big
    collection)
‧   You need to aim to have all indexes+data
    in ram
‧   MapReduce is available but meh
    ●   Improving with each release, possible to hack onto
        hadoop
More of the things that suck

‧   Implicit creation means mis-spelled dbs,
    collections == WTF
‧   B-tree indexes mean queries/insertion by
    _id are O(log n) not O(1) ala pure
    key/value stores

More Related Content

What's hot

MongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql DatabaseMongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql Database
Sudhir Patil
 
MongoDB_Sharan_Prakash_Babu
MongoDB_Sharan_Prakash_BabuMongoDB_Sharan_Prakash_Babu
MongoDB_Sharan_Prakash_Babu
Sharan
 

What's hot (20)

MongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql DatabaseMongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql Database
 
Introduction to MongoDB (Webinar Jan 2011)
Introduction to MongoDB (Webinar Jan 2011)Introduction to MongoDB (Webinar Jan 2011)
Introduction to MongoDB (Webinar Jan 2011)
 
Mongo db
Mongo dbMongo db
Mongo db
 
Mongo db onepage
Mongo db onepageMongo db onepage
Mongo db onepage
 
Druid beginner performance tips
Druid beginner performance tipsDruid beginner performance tips
Druid beginner performance tips
 
Mongo db basics
Mongo db basicsMongo db basics
Mongo db basics
 
Mongodb (1)
Mongodb (1)Mongodb (1)
Mongodb (1)
 
No sql
No sqlNo sql
No sql
 
Open source Technology
Open source TechnologyOpen source Technology
Open source Technology
 
MongoDB_Sharan_Prakash_Babu
MongoDB_Sharan_Prakash_BabuMongoDB_Sharan_Prakash_Babu
MongoDB_Sharan_Prakash_Babu
 
CSCi226PPT1
CSCi226PPT1CSCi226PPT1
CSCi226PPT1
 
Mongo production Sharded cluster
Mongo production Sharded clusterMongo production Sharded cluster
Mongo production Sharded cluster
 
Web Scraping using Python | Web Screen Scraping
Web Scraping using Python | Web Screen ScrapingWeb Scraping using Python | Web Screen Scraping
Web Scraping using Python | Web Screen Scraping
 
Mojo Facets – so, you have data and browser?
Mojo Facets – so, you have data and browser?Mojo Facets – so, you have data and browser?
Mojo Facets – so, you have data and browser?
 
Introduction to MongoDB and CRUD operations
Introduction to MongoDB and CRUD operationsIntroduction to MongoDB and CRUD operations
Introduction to MongoDB and CRUD operations
 
Sharding: patterns and antipatterns (Osipov, Rybak, HighLoad'2014)
Sharding: patterns and antipatterns (Osipov, Rybak, HighLoad'2014)Sharding: patterns and antipatterns (Osipov, Rybak, HighLoad'2014)
Sharding: patterns and antipatterns (Osipov, Rybak, HighLoad'2014)
 
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
 
Bitextor: harvest your own parallel corpora from the Web, Miquel Esplà-Gomis,...
Bitextor: harvest your own parallel corpora from the Web, Miquel Esplà-Gomis,...Bitextor: harvest your own parallel corpora from the Web, Miquel Esplà-Gomis,...
Bitextor: harvest your own parallel corpora from the Web, Miquel Esplà-Gomis,...
 
Redis IU
Redis IURedis IU
Redis IU
 
NoSQL
NoSQLNoSQL
NoSQL
 

Viewers also liked

Tor the onion router
Tor  the onion routerTor  the onion router
Tor the onion router
Ashly Liza
 

Viewers also liked (8)

Webinar: General Technical Overview of MongoDB
Webinar: General Technical Overview of MongoDBWebinar: General Technical Overview of MongoDB
Webinar: General Technical Overview of MongoDB
 
Overview of MongoDB and Other Non-Relational Databases
Overview of MongoDB and Other Non-Relational DatabasesOverview of MongoDB and Other Non-Relational Databases
Overview of MongoDB and Other Non-Relational Databases
 
Tor the onion router
Tor  the onion routerTor  the onion router
Tor the onion router
 
Tor Presentation
Tor PresentationTor Presentation
Tor Presentation
 
TOR NETWORK
TOR NETWORKTOR NETWORK
TOR NETWORK
 
DATA WAREHOUSING
DATA WAREHOUSINGDATA WAREHOUSING
DATA WAREHOUSING
 
Data Warehousing and Data Mining
Data Warehousing and Data MiningData Warehousing and Data Mining
Data Warehousing and Data Mining
 
DATA WAREHOUSING
DATA WAREHOUSINGDATA WAREHOUSING
DATA WAREHOUSING
 

Similar to Quick overview of MongoDB

The Care + Feeding of a Mongodb Cluster
The Care + Feeding of a Mongodb ClusterThe Care + Feeding of a Mongodb Cluster
The Care + Feeding of a Mongodb Cluster
Chris Henry
 
MongoDB Knowledge Shareing
MongoDB Knowledge ShareingMongoDB Knowledge Shareing
MongoDB Knowledge Shareing
Philip Zhong
 

Similar to Quick overview of MongoDB (20)

The Care + Feeding of a Mongodb Cluster
The Care + Feeding of a Mongodb ClusterThe Care + Feeding of a Mongodb Cluster
The Care + Feeding of a Mongodb Cluster
 
Mongo db transcript
Mongo db transcriptMongo db transcript
Mongo db transcript
 
MongoDB Versatility: Scaling the MapMyFitness Platform
MongoDB Versatility: Scaling the MapMyFitness PlatformMongoDB Versatility: Scaling the MapMyFitness Platform
MongoDB Versatility: Scaling the MapMyFitness Platform
 
Advanced Administration, Monitoring and Backup
Advanced Administration, Monitoring and BackupAdvanced Administration, Monitoring and Backup
Advanced Administration, Monitoring and Backup
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
MongoDB Knowledge Shareing
MongoDB Knowledge ShareingMongoDB Knowledge Shareing
MongoDB Knowledge Shareing
 
Lessons Learned Migrating 2+ Billion Documents at Craigslist
Lessons Learned Migrating 2+ Billion Documents at CraigslistLessons Learned Migrating 2+ Billion Documents at Craigslist
Lessons Learned Migrating 2+ Billion Documents at Craigslist
 
Big data and hadoop
Big data and hadoopBig data and hadoop
Big data and hadoop
 
Cloud infrastructure. Google File System and MapReduce - Andrii Vozniuk
Cloud infrastructure. Google File System and MapReduce - Andrii VozniukCloud infrastructure. Google File System and MapReduce - Andrii Vozniuk
Cloud infrastructure. Google File System and MapReduce - Andrii Vozniuk
 
Hadoop-2.6.0 Slides
Hadoop-2.6.0 SlidesHadoop-2.6.0 Slides
Hadoop-2.6.0 Slides
 
MongoDB Pros and Cons
MongoDB Pros and ConsMongoDB Pros and Cons
MongoDB Pros and Cons
 
Introduction to mongo db
Introduction to mongo dbIntroduction to mongo db
Introduction to mongo db
 
AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned
 
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | EnglishAWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
 
Storing eBay's Media Metadata on MongoDB, by Yuri Finkelstein, Architect, eBay
Storing eBay's Media Metadata on MongoDB, by Yuri Finkelstein, Architect, eBayStoring eBay's Media Metadata on MongoDB, by Yuri Finkelstein, Architect, eBay
Storing eBay's Media Metadata on MongoDB, by Yuri Finkelstein, Architect, eBay
 
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB present...
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB  present...MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB  present...
MongoDB San Francisco 2013: Storing eBay's Media Metadata on MongoDB present...
 
Active Data Stores at 30,000ft
Active Data Stores at 30,000ftActive Data Stores at 30,000ft
Active Data Stores at 30,000ft
 
Hadoop introduction
Hadoop introductionHadoop introduction
Hadoop introduction
 
MongoDB Internals
MongoDB InternalsMongoDB Internals
MongoDB Internals
 
Introduction to MongoDB Basics from SQL to NoSQL
Introduction to MongoDB Basics from SQL to NoSQLIntroduction to MongoDB Basics from SQL to NoSQL
Introduction to MongoDB Basics from SQL to NoSQL
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

Quick overview of MongoDB

  • 1. MongoDB A quick overview Brad - @darb – Dev/Ops manager, Motribe
  • 2. Structure of my talk Context / How we are using MongoDB Terminology in MongoDB world Deployment / Growing The things that suck
  • 3. What we do - 3 web apps, 1 MongoDB cluster ‧ Motribe - mobile social network ● ±50k monthly active users ‧ JudgeMe – mxit social app ● 1m signups in 45 days / 200k+ photo uploads ● 0.5m - 3m pageviews/day ‧ MxPix – mxit photo sharing app ● 200k+ signups in a week / 70k+ photo uploads ● 0.5m – 1m page views/day
  • 4. MongoDB (from "humongous") ‧ JSON Document storage ‧ Documents are members of Collections ‧ Collections belong to Databases ‧ Indexes on any key in a document ‧ Javascript interface for queries ‧ Trivial Sharding of data
  • 5. Some benefits ‧ Implicit creation of databases, collections ‧ Index and query anything inside document (composite keys, 2d/geo indexing) ‧ Great documentation ‧ Great examples (e.g. randomization) ‧ Emphasis on Just Works™ ‧ Drivers in many languages ‧ Active community
  • 6. Grow up or out ‧ Horizontal – read/write throughput ● Shard databases - split collections over shards ● Shard collections - split documents over shards ‧ Vertical – read throughput ● Replica sets – Auto master / slaves, voting, promotion, demotion – Time delayed slaves – Magic... bring up mongo server, inform config server, siphons data
  • 7. Moving parts at scale ‧ Routers – “mongos” ● Abstract the magic, route requests to the right place ● Collate responses from shards, etc. ● Apps connect to “mongos” ‧ Config servers ● Min 3x for redundancy ● Knows about dbs, shards, slaves
  • 9. Monitoring ‧ Mongo Monitoring Service (MMS) is lovely ‧ JS console means you can do powerful things on the terminal ‧ JS interface exposes lots of data ● Size of indexes ● Comprehensive info about where db/collections stored ● Location, status and health of nodes
  • 10. The things that suck ‧ Index anything means indexes can get large (e.g. we have 4gb of indexes on a big collection) ‧ You need to aim to have all indexes+data in ram ‧ MapReduce is available but meh ● Improving with each release, possible to hack onto hadoop
  • 11. More of the things that suck ‧ Implicit creation means mis-spelled dbs, collections == WTF ‧ B-tree indexes mean queries/insertion by _id are O(log n) not O(1) ala pure key/value stores