SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Brig Lamoreaux
             Shekhar Vemuri
                Apollo Group
                    12/12/12

brig.lamoreaux@apollogrp.edu
 briglamoreaux.wordpress.com1
•  Tell	
  our	
  story	
  
•  Teach	
  evalua/on	
  Principles	
  
•  Share	
  our	
  Results	
  




                                          2
•    Company	
  Overview:	
  Who	
  we	
  are.	
  
•    Background:	
  Looking	
  beyond	
  rela3onal	
  
•    The	
  Problem:	
  We	
  have	
  no	
  exper3se	
  in	
  MongoDB	
  
•    Approaching	
  MongoDB?	
  How	
  do	
  we	
  solve	
  this	
  problem	
  
•    Results.	
  What	
  did	
  we	
  learn	
  




                                                                                  3
Company Overview




                   4
•  Founded	
  in	
  1973	
  
•  Leading	
  provider	
  of	
  higher	
  educa3on	
  for	
  working	
  adults	
  
•  Parent	
  company	
  of	
  	
  
     –    University	
  of	
  Phoenix	
  
     –    Apollo	
  Global	
  
     –    Apollo	
  Educa3on	
  Services	
  
     –    Carnegie	
  Learning	
  
     –    College	
  of	
  Financial	
  Planning	
  
     –    Ins3tute	
  for	
  Professional	
  Development	
  
•  Educate	
  over	
  350	
  thousand	
  students	
  per	
  year	
  



                                                                                     5
6
7
8
9
10
11
12
13
2
_        1
         _
     >   10
17
              14
15
The Problem




              16
17
We don’t know anything about MongoDB




                                       18
Methodology / Approach




                         19
•  Gain	
  valuable	
  informa3on	
  	
  about	
  terrain	
  
•  Viable	
  vs	
  100%	
  
•  Boyed	
  Loop	
  
       –  Observe	
  
       –  Orient	
  
       –  Decide	
  
       –  Act	
  
	
  



                                                                20
21
•  Gain	
  valuable	
  informa3on	
  	
  about	
  terrain	
  
•  Accept	
  Threshold	
  	
  
       –  Viable	
  vs	
  100%	
  
•  Boyed	
  Loop	
  
       –  Observe	
  
       –  Orient	
  
       –  Decide	
  
       –  Act	
  
	
  


                                                                22
•      Problem	
  
•      Objec3ve	
  
•      Timetable	
  
•      Gather	
  Info	
  
	
  




                            23
The Results




              24
Two	
  week	
  phased	
  approach	
  
	
  
•  Phase	
  1.	
  Form	
  Team,	
  goals,	
  data	
  
•  Phase	
  2.	
  Develop	
  Model,	
  small	
  server	
  
•  Phase	
  3.	
  Large	
  deployment	
  
•  Phase	
  4.	
  Performance	
  test	
  




                                                             25
Implemen3ng	
  a	
  new	
  repository	
  solu3on	
  introduces	
  
new	
  areas	
  of	
  needs	
  such	
  as:	
  
	
  
•  Plan	
  and	
  deploy	
  a	
  solu3on	
  
•  Opera3onal	
  procedures	
  
•  Designing	
  object	
  models	
  
•  Determine	
  MongoDB	
  Client	
  and	
  Frameworks	
  
•  Measuring	
  effec3veness	
  
	
  

                                                                     26
What	
  do	
  we	
  want	
  to	
  know	
  about	
  MongoDB	
  
	
  
•      Resiliency	
  
•      Stability	
  
•      Adaptability	
  of	
  Data	
  Model	
  
•      Performance	
  
•      Configura3on	
  Flexibility	
  
•      Time	
  to	
  Implement	
  
•      Administrator	
  Func3onality	
  
•      Training	
  
•      Data	
  Migra3on	
  
•      Conformity	
  with	
  Standards	
  
•      Quality	
  of	
  Support	
  
                                                                 27
28
Conference   10gen Training 10gen        Lab
                                            Consulting   Env.

Run Book
(Deploy)             X            X                         X
Run Book
(Maintenance)        X            X                         X
Object Model
                     X            X              X          X
Measure
Effectiveness                                               X
Java Client
                                                            X

                                                                29
Course	
  Offering	
  System:	
  
	
  
•  Manages	
  Courses	
  
•  Manages	
  enrolment	
  status	
  of	
  students	
  in	
  course	
  
•  Balances	
  number	
  of	
  students	
  in	
  course	
  
•  Schedules	
  faculty	
  to	
  teach	
  




                                                                          30
31
•  Design	
  Data	
  Model	
  
•  Small	
  Server	
  
•  Run	
  Use	
  Case	
  	
  




                                 32
33
SQL ID   Executions   Percentage
         15,572,099   46%
         4,339,293    13%
         3,232,297    10%
         3,016,176    9%
         2,541,686    8%
         2,485,334    7%
         2,384,839    7%




                                   34
{	
  
	
  	
  "_id":	
  "8738728763872",	
  
	
  	
  "role"	
  :	
  "Student",	
  
	
  	
  "user	
  :{	
  
	
  	
  	
  	
  "id"	
  :	
  "b7ed789f198a",	
  
	
  	
  	
  	
  "firstName"	
  :	
  "Rick",	
  
	
  	
  	
  	
  "lastName"	
  :	
  "Matin"	
  
	
  	
  },	
  	
  
	
  	
  "course"	
  :	
  {	
  
	
  	
  	
  	
  "dateRange"	
  :	
  {	
  
	
  	
  	
  	
  	
  	
  "startDate"	
  :	
  ISODate("2011-­‐12-­‐30T07:00:00Z"),	
  
	
  	
  	
  	
  	
  	
  "endDate"	
  :	
  ISODate("2012-­‐01-­‐30T07:00:00Z")	
  
	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  "courseId"	
  :	
  "734234274",	
  	
  
	
  	
  	
  	
  	
  "code"	
  :	
  "MATH/101",	
  
	
  	
  	
  	
  	
  "title"	
  :	
  "Introduction	
  to	
  Mathematics"	
  
	
  	
  }	
  
}	
  	
                                                                                35
•  Analyze	
  our	
  Data*	
  
     –  Applica3on	
  API	
  review	
  
     –  Performance	
  
     –  Call	
  Type	
  
     –  Query/Data	
  Usage	
  
 •  Small	
  Scope	
  




* One of the pearls discovered

                                          36
•  Install	
  and	
  Ac/vate.	
  We	
  quickly	
  spun	
  up	
  a	
  blank	
  
   virtual	
  machine	
  	
  on	
  Amazon	
  EC2,	
  and	
  then	
  installed	
  
   MongoDB	
  on	
  it.	
  
•  Populate	
  with	
  Data.	
  We	
  used	
  approximately	
  300,000	
  
   very	
  simple	
  records.	
  We	
  used	
  a	
  Python	
  script	
  to	
  
   import	
  the	
  data	
  




                                                                                    37
•  MongoDB	
  Farm	
  Architecture	
  
•  Chef/Puppet	
  Scripts	
  to	
  
    –  Deploy	
  new	
  farm	
  
    –  Add	
  replica3on	
  sets	
  
•  Monitor	
  Servers	
  
•  High	
  Avail.	
  
•  Disaster	
  Recoverability	
  




                                         38
Configuration         Results

A: Clients on Same    Typical Response Time: 0-1.7 ms
Machine               Maximum Throughput: 9,000 queries/sec CPU-bound.
                      Typical CPU Utilization: 100%
B: Clients and        Typical Response Time: 1.2-8.5 ms
MongoDB on            Maximum Throughput: 12,000 queries/sec
Separate Amazon       Typical CPU Utilization: 80%


C: Clients and        Typical Response Time: 1.2-10.6 ms
MongoDB in            Maximum Throughput: 12,200 queries/sec
Separate              Typical CPU Utilization: 85%
Availability Zones,   Approximately the same response time, throughput, and CPU
but within One        utilization as Configuration B.
Amazon EC2
Region
D: Clients and        Typical Response Time: 85.6-87.3 ms.
MongoDB in            Maximum Throughput: 1,600 queries/sec
Different Amazon      Typical CPU Utilization: 2%. Very low; EC2 instance was
EC2 Regions           unstressed.
                      East coast-west coast network was bottleneck in this
                      configuration – EC2 instances were not stressed. Response
                      times were much higher than when instances were located
                      within a single Amazon EC2 region (configurations B & C).


                                                                                  39
Local Client




               40
Same Zone




            41
Same Region




              42
Two Regions




              43
Primary	
  
 •    Data	
  driven	
  Data	
  Model	
  
 •    Data	
  driven	
  deployment	
  architecture	
  
 •    Hybrid	
  deployment	
  are	
  possible	
  (Cloud,	
  on	
  premise)	
  
 •    High	
  latency	
  between	
  EC2	
  regions	
  
 •    85%	
  CPU	
  Mongo	
  behavior	
  changes	
  

Secondary	
  
 •  Opera3ons/Developer/DBA	
  trained	
  
 •  Roadmap	
  Development/opera3ons/	
  
                                                                                 44
Evalua3ng	
  
  •    Fail	
  Fast	
  
  •    Boyd	
  loop	
  
  •    Stand	
  on	
  the	
  shoulders	
  of	
  others	
  
  •    Have	
  a	
  prac3cal	
  use	
  case	
  

Paper	
  vs.	
  Real	
  live	
  
  •    Time	
  table	
  was	
  more	
  organic	
  
  •    Nice	
  list	
  of	
  evalua3on	
  items	
  
  •    Weekly	
  changes	
  
  •    Usage	
  data	
  slowly	
  came	
  in	
  
  •    Learned	
  as	
  we	
  went	
                         45
•  8	
  applica3ons/services	
  built	
  or	
  being	
  built	
  on	
  top	
  of	
  Mongo	
  
      –  More	
  being	
  discussed	
  
•    Content	
  Management	
  system	
  moving	
  to	
  mongodb	
  
•    No	
  sharding	
  yet	
  
•    Developer	
  experience	
  has	
  been	
  good	
  so	
  far	
  
•    Definitely	
  a	
  learning	
  curve	
  in	
  moving	
  from	
  rela3onal	
  schema	
  
     design	
  to	
  document	
  schema	
  design	
  
      –  Personal	
  experience	
  has	
  been	
  to	
  do	
  some	
  analysis,	
  build	
  an	
  end	
  to	
  end	
  
         test	
  and	
  then	
  iterate	
  
      –  Pay	
  aden3on	
  to	
  access	
  paderns	
  
•  Plans	
  to	
  move	
  towards	
  Cross	
  region	
  deployments	
  

                                                                                                                         46
Questions




            47
End




      48
Appendix




           49
50

Más contenido relacionado

Similar a Webinar: How We Evaluated MongoDB as a Relational Database Replacement

Student Industrial Training Presentation Slide
Student Industrial Training Presentation SlideStudent Industrial Training Presentation Slide
Student Industrial Training Presentation SlideKhairul Filhan
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
Neo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with GraphsNeo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with GraphsNeo4j
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storagejccastrejon
 
From sql server to mongo db
From sql server to mongo dbFrom sql server to mongo db
From sql server to mongo dbRyan Hoffman
 
Graphene – Microsoft SCOPE on Tez
Graphene – Microsoft SCOPE on Tez Graphene – Microsoft SCOPE on Tez
Graphene – Microsoft SCOPE on Tez DataWorks Summit
 
Chemical Databases and Open Chemistry on the Desktop
Chemical Databases and Open Chemistry on the DesktopChemical Databases and Open Chemistry on the Desktop
Chemical Databases and Open Chemistry on the DesktopMarcus Hanwell
 
Silicon Valley Code Camp 2014 - Advanced MongoDB
Silicon Valley Code Camp 2014 - Advanced MongoDBSilicon Valley Code Camp 2014 - Advanced MongoDB
Silicon Valley Code Camp 2014 - Advanced MongoDBDaniel Coupal
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation ProjectsAmazon Web Services
 
Emerging Properties in Self-Supervised Vision Transformers
Emerging Properties in Self-Supervised Vision TransformersEmerging Properties in Self-Supervised Vision Transformers
Emerging Properties in Self-Supervised Vision TransformersSungchul Kim
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerRightScale
 
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...Intelligent Software Solutions
 
Overview of the TREC 2019 Deep Learning Track
Overview of the TREC 2019 Deep Learning TrackOverview of the TREC 2019 Deep Learning Track
Overview of the TREC 2019 Deep Learning TrackNick Craswell
 
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...Databricks
 
Grid is Dead ? Nimrod on the Cloud
Grid is Dead ? Nimrod on the CloudGrid is Dead ? Nimrod on the Cloud
Grid is Dead ? Nimrod on the CloudAdianto Wibisono
 
OpenSubmit - How to grade 1200 code submissions
OpenSubmit - How to grade 1200 code submissionsOpenSubmit - How to grade 1200 code submissions
OpenSubmit - How to grade 1200 code submissionsPeter Tröger
 
071310 sun d_0930_feldman_stephen
071310 sun d_0930_feldman_stephen071310 sun d_0930_feldman_stephen
071310 sun d_0930_feldman_stephenSteve Feldman
 
Adoption of Cloud Computing in Scientific Research
Adoption of Cloud Computing in Scientific ResearchAdoption of Cloud Computing in Scientific Research
Adoption of Cloud Computing in Scientific ResearchYehia El-khatib
 
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelSilicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelDaniel Coupal
 

Similar a Webinar: How We Evaluated MongoDB as a Relational Database Replacement (20)

Student Industrial Training Presentation Slide
Student Industrial Training Presentation SlideStudent Industrial Training Presentation Slide
Student Industrial Training Presentation Slide
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
Neo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with GraphsNeo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with Graphs
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storage
 
From sql server to mongo db
From sql server to mongo dbFrom sql server to mongo db
From sql server to mongo db
 
Graphene – Microsoft SCOPE on Tez
Graphene – Microsoft SCOPE on Tez Graphene – Microsoft SCOPE on Tez
Graphene – Microsoft SCOPE on Tez
 
Chemical Databases and Open Chemistry on the Desktop
Chemical Databases and Open Chemistry on the DesktopChemical Databases and Open Chemistry on the Desktop
Chemical Databases and Open Chemistry on the Desktop
 
Silicon Valley Code Camp 2014 - Advanced MongoDB
Silicon Valley Code Camp 2014 - Advanced MongoDBSilicon Valley Code Camp 2014 - Advanced MongoDB
Silicon Valley Code Camp 2014 - Advanced MongoDB
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
Emerging Properties in Self-Supervised Vision Transformers
Emerging Properties in Self-Supervised Vision TransformersEmerging Properties in Self-Supervised Vision Transformers
Emerging Properties in Self-Supervised Vision Transformers
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on Docker
 
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
 
Overview of the TREC 2019 Deep Learning Track
Overview of the TREC 2019 Deep Learning TrackOverview of the TREC 2019 Deep Learning Track
Overview of the TREC 2019 Deep Learning Track
 
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
 
Grid is Dead ? Nimrod on the Cloud
Grid is Dead ? Nimrod on the CloudGrid is Dead ? Nimrod on the Cloud
Grid is Dead ? Nimrod on the Cloud
 
OpenSubmit - How to grade 1200 code submissions
OpenSubmit - How to grade 1200 code submissionsOpenSubmit - How to grade 1200 code submissions
OpenSubmit - How to grade 1200 code submissions
 
071310 sun d_0930_feldman_stephen
071310 sun d_0930_feldman_stephen071310 sun d_0930_feldman_stephen
071310 sun d_0930_feldman_stephen
 
Adoption of Cloud Computing in Scientific Research
Adoption of Cloud Computing in Scientific ResearchAdoption of Cloud Computing in Scientific Research
Adoption of Cloud Computing in Scientific Research
 
Ds for finance day 4
Ds for finance day 4Ds for finance day 4
Ds for finance day 4
 
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelSilicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
 

Más de MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 

Más de MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Último

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Webinar: How We Evaluated MongoDB as a Relational Database Replacement

  • 1. Brig Lamoreaux Shekhar Vemuri Apollo Group 12/12/12 brig.lamoreaux@apollogrp.edu briglamoreaux.wordpress.com1
  • 2. •  Tell  our  story   •  Teach  evalua/on  Principles   •  Share  our  Results   2
  • 3. •  Company  Overview:  Who  we  are.   •  Background:  Looking  beyond  rela3onal   •  The  Problem:  We  have  no  exper3se  in  MongoDB   •  Approaching  MongoDB?  How  do  we  solve  this  problem   •  Results.  What  did  we  learn   3
  • 5. •  Founded  in  1973   •  Leading  provider  of  higher  educa3on  for  working  adults   •  Parent  company  of     –  University  of  Phoenix   –  Apollo  Global   –  Apollo  Educa3on  Services   –  Carnegie  Learning   –  College  of  Financial  Planning   –  Ins3tute  for  Professional  Development   •  Educate  over  350  thousand  students  per  year   5
  • 6. 6
  • 7. 7
  • 8. 8
  • 9. 9
  • 10. 10
  • 11. 11
  • 12. 12
  • 13. 13
  • 14. 2 _ 1 _ > 10 17 14
  • 15. 15
  • 17. 17
  • 18. We don’t know anything about MongoDB 18
  • 20. •  Gain  valuable  informa3on    about  terrain   •  Viable  vs  100%   •  Boyed  Loop   –  Observe   –  Orient   –  Decide   –  Act     20
  • 21. 21
  • 22. •  Gain  valuable  informa3on    about  terrain   •  Accept  Threshold     –  Viable  vs  100%   •  Boyed  Loop   –  Observe   –  Orient   –  Decide   –  Act     22
  • 23. •  Problem   •  Objec3ve   •  Timetable   •  Gather  Info     23
  • 25. Two  week  phased  approach     •  Phase  1.  Form  Team,  goals,  data   •  Phase  2.  Develop  Model,  small  server   •  Phase  3.  Large  deployment   •  Phase  4.  Performance  test   25
  • 26. Implemen3ng  a  new  repository  solu3on  introduces   new  areas  of  needs  such  as:     •  Plan  and  deploy  a  solu3on   •  Opera3onal  procedures   •  Designing  object  models   •  Determine  MongoDB  Client  and  Frameworks   •  Measuring  effec3veness     26
  • 27. What  do  we  want  to  know  about  MongoDB     •  Resiliency   •  Stability   •  Adaptability  of  Data  Model   •  Performance   •  Configura3on  Flexibility   •  Time  to  Implement   •  Administrator  Func3onality   •  Training   •  Data  Migra3on   •  Conformity  with  Standards   •  Quality  of  Support   27
  • 28. 28
  • 29. Conference 10gen Training 10gen Lab Consulting Env. Run Book (Deploy) X X X Run Book (Maintenance) X X X Object Model X X X X Measure Effectiveness X Java Client X 29
  • 30. Course  Offering  System:     •  Manages  Courses   •  Manages  enrolment  status  of  students  in  course   •  Balances  number  of  students  in  course   •  Schedules  faculty  to  teach   30
  • 31. 31
  • 32. •  Design  Data  Model   •  Small  Server   •  Run  Use  Case     32
  • 33. 33
  • 34. SQL ID Executions Percentage 15,572,099 46% 4,339,293 13% 3,232,297 10% 3,016,176 9% 2,541,686 8% 2,485,334 7% 2,384,839 7% 34
  • 35. {      "_id":  "8738728763872",      "role"  :  "Student",      "user  :{          "id"  :  "b7ed789f198a",          "firstName"  :  "Rick",          "lastName"  :  "Matin"      },        "course"  :  {          "dateRange"  :  {              "startDate"  :  ISODate("2011-­‐12-­‐30T07:00:00Z"),              "endDate"  :  ISODate("2012-­‐01-­‐30T07:00:00Z")            },            "courseId"  :  "734234274",              "code"  :  "MATH/101",            "title"  :  "Introduction  to  Mathematics"      }   }     35
  • 36. •  Analyze  our  Data*   –  Applica3on  API  review   –  Performance   –  Call  Type   –  Query/Data  Usage   •  Small  Scope   * One of the pearls discovered 36
  • 37. •  Install  and  Ac/vate.  We  quickly  spun  up  a  blank   virtual  machine    on  Amazon  EC2,  and  then  installed   MongoDB  on  it.   •  Populate  with  Data.  We  used  approximately  300,000   very  simple  records.  We  used  a  Python  script  to   import  the  data   37
  • 38. •  MongoDB  Farm  Architecture   •  Chef/Puppet  Scripts  to   –  Deploy  new  farm   –  Add  replica3on  sets   •  Monitor  Servers   •  High  Avail.   •  Disaster  Recoverability   38
  • 39. Configuration Results A: Clients on Same Typical Response Time: 0-1.7 ms Machine Maximum Throughput: 9,000 queries/sec CPU-bound. Typical CPU Utilization: 100% B: Clients and Typical Response Time: 1.2-8.5 ms MongoDB on Maximum Throughput: 12,000 queries/sec Separate Amazon Typical CPU Utilization: 80% C: Clients and Typical Response Time: 1.2-10.6 ms MongoDB in Maximum Throughput: 12,200 queries/sec Separate Typical CPU Utilization: 85% Availability Zones, Approximately the same response time, throughput, and CPU but within One utilization as Configuration B. Amazon EC2 Region D: Clients and Typical Response Time: 85.6-87.3 ms. MongoDB in Maximum Throughput: 1,600 queries/sec Different Amazon Typical CPU Utilization: 2%. Very low; EC2 instance was EC2 Regions unstressed. East coast-west coast network was bottleneck in this configuration – EC2 instances were not stressed. Response times were much higher than when instances were located within a single Amazon EC2 region (configurations B & C). 39
  • 41. Same Zone 41
  • 44. Primary   •  Data  driven  Data  Model   •  Data  driven  deployment  architecture   •  Hybrid  deployment  are  possible  (Cloud,  on  premise)   •  High  latency  between  EC2  regions   •  85%  CPU  Mongo  behavior  changes   Secondary   •  Opera3ons/Developer/DBA  trained   •  Roadmap  Development/opera3ons/   44
  • 45. Evalua3ng   •  Fail  Fast   •  Boyd  loop   •  Stand  on  the  shoulders  of  others   •  Have  a  prac3cal  use  case   Paper  vs.  Real  live   •  Time  table  was  more  organic   •  Nice  list  of  evalua3on  items   •  Weekly  changes   •  Usage  data  slowly  came  in   •  Learned  as  we  went   45
  • 46. •  8  applica3ons/services  built  or  being  built  on  top  of  Mongo   –  More  being  discussed   •  Content  Management  system  moving  to  mongodb   •  No  sharding  yet   •  Developer  experience  has  been  good  so  far   •  Definitely  a  learning  curve  in  moving  from  rela3onal  schema   design  to  document  schema  design   –  Personal  experience  has  been  to  do  some  analysis,  build  an  end  to  end   test  and  then  iterate   –  Pay  aden3on  to  access  paderns   •  Plans  to  move  towards  Cross  region  deployments   46
  • 47. Questions 47
  • 48. End 48
  • 49. Appendix 49
  • 50. 50