Tree.png
MongoDB_Logo_Knockout_RGB.eps
MongoDB: What, why, when.
Solutions Architect, MongoDB Inc.
Massimo Brignoli
#mongodb
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Who Am I?
Solutions Architect/Evangelist in MongoDB Inc.
24 years of experience in databases and softwaredevelopment
Former MySQL employee
Previous life: web, web, web
Tree.png
MongoDB_Logo_Knockout_RGB.eps
Tree.png
MongoDB_Logo_Knockout_RGB.eps
Innovation
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Understanding Big Data – It’s Not Very“Big”
from Big Data Executive Summary – 50+ top executives from Government and F500 firms
64% - Ingest diverse,new data in real-time
15% - More than 100TBof data
20% - Less than 100TB(average of all? <20TB)
“I have not failed. I've just found 10,000 ways that won't work.”
― Thomas A. Edison
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Back in 1970…Cars Were Great!
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Lots of Great Innovations Since1970
MongoDB_Logo_Knockout_RGB.eps
Would you use thesetechnologies for yourbusiness today?
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Including the Relational Database
Screen Shot 2013-08-20 at 8.11.13 PM.png
Screen Shot 2013-08-20 at 8.12.04 PM.png
Screen Shot 2013-08-20 at 8.12.32 PM.png
MongoDB_Logo_Knockout_RGB.eps
For which computers therelational model hasbeen designed for?
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
So Were Computers!
Photo5.jpg
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
And Storage!
1979-computer-hard-disk-with-250-MB-of-storage-2.jpg
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
RDBMS Makes Development Hard
RelationalDatabase
Object RelationalMapping
Application
Code
Code
XML Config
XML Config
DB Schema
DB Schema
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
And Even Harder To Iterate
NewTable
NewTable
NewColumn
Name
Name
Pet
Pet
Phone
Phone
Email
Email
NewColumn
3 months later…
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
RDBMS
From Complexity to Simplicity
MongoDB
{
    _id : ObjectId("4c4ba5e5e8aabf3"),
    employee_name: "Dunham, Justin",
    department : "Marketing",
    title : "Product Manager, Web",
    report_up: "Neray, Graham",
    pay_band: “C",
    benefits : [
           {  type :  "Health",
              plan : "PPO Plus" },
           {  type :   "Dental",
              plan : "Standard" }
        ]
}
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
MongoDB
The leading NoSQL database
DocumentDatabase
 Open-Source
GeneralPurpose
MongoDB Characteristics-02.png
MongoDB-Characteristics-02.png
MongoDB-Characteristics-01.png
MongoDB-Characteristics-03.png
7269057788_725c7fbc02_o.jpeg
7,000,000+7,000,000+
MongoDB DownloadsMongoDB Downloads
150,000+150,000+
Online Education RegistrantsOnline Education Registrants
25,000+25,000+
MongoDB User Group MembersMongoDB User Group Members
25,000+25,000+
MongoDB Days AttendeesMongoDB Days Attendees
20,000+20,000+
MongoDB Management Service (MMS) UsersMongoDB Management Service (MMS) Users
Global Community
MongoDB_Logo_Knockout_RGB.emf
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
To provide the best database for how we build andrun apps today
MongoDB Vision
Build
New and complex data
Flexible
New languages
Faster development
Run
Big Data scalability
Real-time
Commodity hardware
Cloud
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Enterprise Big Data Stack
EDW
Hadoop
Management & Monitoring
Security & Auditing
RDBMS
CRM, ERP, Collaboration, Mobile, BI
OS & Virtualization, Compute, Storage, Network
MongoDB_Logo_Knockout_RGB.emf
RDBMS
Applications
Infrastructure
Data Management
Online Data
Offline Data
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Agile
MongoDB Overview
Scalable
MongoDB-Characteristics-05.png
MongoDB-Characteristics-04.png
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Operational Database Landscape
Scalability-Functionality-Graph.png
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Document Data Model
Relational
MongoDB
{
  first_name: ‘Paul’,
  surname: ‘Miller’,
  city: ‘London’,
  location: [45.123,47.232],
  cars: [
    { model: ‘Bentley’,
      year: 1973,
      value: 100000, … },
    { model: ‘Rolls Royce’,
      year: 1965,
      value: 330000, … }
  ]
}
DocDataModel.png
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Document Model Benefits
Agility and flexibility
Data models can evolve easily
Companies can adapt to changes quickly
Intuitive, natural data representation
Developers are more productive
Many types of applications are a good fit
Reduces the need for joins, disk seeks
Programming is more simple
Performance can be delivered at scale
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Developers are more productive
DeveloperProductivity_Diagram2.png
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Developers are more productive
DeveloperProductivity_Diagram3.png
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Automatic Sharding
Three types of sharding: hash-based, range-based, tag-aware
Increase or decrease capacity as you go
Automatic balancing
AutoSharding.png
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Query Routing
Multiple query optimization models
Each sharding option appropriate for different apps
Architecture---Horizontally-Scalable-Combo.png
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
High Availability – Ensure application availability during manytypes of failures
Disaster Recovery – Address the RTO and RPO goals forbusiness continuity
Maintenance – Perform upgrades and other maintenanceoperations with no application downtime
Availability Considerations
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Replica Sets
Replica Set – two or more copies
“Self-healing” shard
Addresses many concerns:
-High Availability
-Disaster Recovery
-Maintenance
ReplicaSets.png
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Single Data Center
Automated failover
Tolerates server failures
Tolerates rack failures
Number of replicasdefines failure tolerance
DataCenter.png
Primary – A
Primary – B
Primary – C
Secondary – A
Secondary – A
Secondary – B
Secondary – B
Secondary – C
Secondary – C
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Active/Standby Data Center
Tolerates server and rack failure
Standby data center
Data Center - West
DataCenter.png
Primary – A
Primary – B
Primary – C
Secondary – A
Secondary – B
Secondary – C
Data Center - East
DataCenter.png
Secondary – A
Secondary – B
Secondary – C
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Active/Active Data Center
Tolerates server, rack, data center failures, networkpartitions
Data Center - West
DataCenter.png
Primary – A
Primary – B
Primary – C
Secondary – A
Secondary – B
Secondary – C
Data Center - East
DataCenter.png
Secondary – A
Secondary – B
Secondary – C
Secondary – B
Secondary – C
Secondary – A
Data Center - Central
DataCenter.png
Arbiter – A
Arbiter – B
Arbiter – C
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Global Data Distribution
Real-time
Real-time
Real-time
Real-time
Real-time
Real-time
Real-time
Primary
Secondary
Secondary
Secondary
Secondary
Secondary
Secondary
Secondary
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Read Global/Write Local
Primary:NYC
Secondary:NYC
Primary:LON
Primary:SYD
Secondary:LON
Secondary:NYC
Secondary:SYD
Secondary:LON
Secondary:SYD
Tree.png
MongoDB_Logo_Knockout_RGB.eps
Tree.png
MongoDB_Logo_Knockout_RGB.eps
Common Use Cases
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
High Volume Data Feeds
More machine forms, sensors & data
Variably structured
MachineGeneratedData
High frequency trading
Daily closing price
Securities Data
Multiple data sources
Each changes their format consistently
Student Scores, ISP logs
Social Media /
General Public
device.JPG
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Operational Intelligence
Large volume of users
Very strict latency requirements
Sentiment Analysis
Ad Targeting
Expose data to millions of customers
Reports on large volumes of data
Reports that update in real time
Real timedashboards
Join the conversation
Catered Games
Customized Surveys
Social MediaMonitoring
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Metadata
Diverse product portfolio
Complex querying and filtering
Multi-faceted product attributes
ProductCatalogue
Data mining
Call records
Insurance Claims
Data analysis
Retina Scans
Fingerprints
Biometric
MongoDB_Logo_Knockout_RGB.eps
MongoDB_Logo_Knockout_RGB.eps
Content Management
Comments and user generatedcontent
Personalization of content and layout
News Site
Generate layout on the fly
No need to cache static pages
Multi-devicerendering
Store large objects
Simpler modeling of metadata
Sharing
Tree.png
MongoDB_Logo_Knockout_RGB.eps
Tree.png
MongoDB_Logo_Knockout_RGB.eps
Questions?
Tree.png
MongoDB_Logo_Knockout_RGB.eps
Thanks!
@massimobrignoli
Massimo Brignoli
#MongoDB
Solutions Architect, MongoDB Inc.
massimo@mongodb.com