SlideShare a Scribd company logo
MongoDB
                 The fast (don’t think about this like an
                 RDBMS) database alternative.
Wednesday, August 24, 2011
THE ROAD TO MONGODB
   PROJECT




                 RDBMS + ORM
                 BUSINESS LOGIC   DOMAIN MODEL
Wednesday, August 24, 2011
Object Database

                  Attempted to accommodate the OO languages
                  they were meant to support

                        Inheritance, associations, etc.

                  THEY FAILED

                        Too slow, too complicated, doomed!




Wednesday, August 24, 2011
The Google Problem
                  Relational databases are slow and don’t scale well

                        Distribution

                        Replication

                        ACID compliance

                        Vendor lock in

                  Atypical domain model didn’t require ACID
                  transactions

Wednesday, August 24, 2011
The Google Solution
                  Big Table

                        http://labs.google.com/papers/bigtable.html

                             email the authors, they’re great!

                        Petabytes of data across thousands of
                        commodity servers

                        Data separate from logic



Wednesday, August 24, 2011
JSON & BSON
                  Clear, concise and very AJAX friendly

                  Flexible and nestable (you can nest documents)

                  Ubiquitous language support




Wednesday, August 24, 2011
JSON & BSON cont.

                  BSON <> JSON translation can be awkward when
                  dealing with language specific data types

                        Dates, _id fields, etc.

                  Well suited to text/numeric data, not much else




Wednesday, August 24, 2011
Common pitfalls

                  How to create a view or join

                  Enforce data integrity

                  Define data structure

                        Document vs. Table(s)




Wednesday, August 24, 2011
Normalization
                  RDBMS Normalization is intended to...

                        Reduce complexity

                        Discourage duplication of code/data

                        Provide logical mappings for domain elements

                  In mongodb, the document tells the whole story,
                  including a definition of the data



Wednesday, August 24, 2011
Maturity Issues

                  No log file rolling mechanism

                  Awkward tools and querying

                        Accustomed to tabular data (try .pretty())

                        Very little (if any) feedback regarding outcome of
                        commands




Wednesday, August 24, 2011
Queues
                  Many steps, each in it’s
                  own collection

                  Keep high volume
                  collections small & fast

                  Maintain large amounts
                  of statistical data in
                  low volume collections



Wednesday, August 24, 2011
Ready for Business?
                  Business logic must
                  exist in code (including
                  querying data)

                  Transaction boundaries
                  and concurrency must
                  exist in code

                  Speed and reliability
                  are a go (so far :)


Wednesday, August 24, 2011
Questions?



Wednesday, August 24, 2011

More Related Content

Similar to Mongodb

Big Data NoSQL 1017
Big Data NoSQL 1017Big Data NoSQL 1017
Big Data NoSQL 1017
Samuel Dratwa
 
Cdao Evolution08
Cdao Evolution08Cdao Evolution08
Cdao Evolution08
Brandon Chisham
 
Time Series Data Storage in MongoDB
Time Series Data Storage in MongoDBTime Series Data Storage in MongoDB
Time Series Data Storage in MongoDB
sky_jackson
 
Semantic Web: Technolgies and Applications for Real-World
Semantic Web: Technolgies and Applications for Real-WorldSemantic Web: Technolgies and Applications for Real-World
Semantic Web: Technolgies and Applications for Real-World
Amit Sheth
 
Entity and NHibernate ORM Frameworks Compared
Entity and NHibernate ORM Frameworks ComparedEntity and NHibernate ORM Frameworks Compared
Entity and NHibernate ORM Frameworks Compared
Zoltan Iszlai
 
Heterogenous data base
Heterogenous data baseHeterogenous data base
Heterogenous data baseHaqnawaz Ch
 
Migrating Social Content to Drupal
Migrating Social Content to DrupalMigrating Social Content to Drupal
Migrating Social Content to Drupal
Acquia
 
Big Data 2107 for Ribbon
Big Data 2107 for RibbonBig Data 2107 for Ribbon
Big Data 2107 for Ribbon
Samuel Dratwa
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012
InfiniteGraph
 
ADBMS Object and Object Relational Databases
ADBMS  Object  and Object Relational Databases ADBMS  Object  and Object Relational Databases
ADBMS Object and Object Relational Databases
Jayanthi Kannan MK
 
Implementing Shareable Metadata Practices in a Diverse University Environment
Implementing Shareable Metadata Practices in a Diverse University EnvironmentImplementing Shareable Metadata Practices in a Diverse University Environment
Implementing Shareable Metadata Practices in a Diverse University Environment
Jenn Riley
 
One Size Doesn't Fit All: The New Database Revolution
One Size Doesn't Fit All: The New Database RevolutionOne Size Doesn't Fit All: The New Database Revolution
One Size Doesn't Fit All: The New Database Revolution
mark madsen
 
Cloudb @ FOSDEM 2011
Cloudb @ FOSDEM 2011Cloudb @ FOSDEM 2011
Cloudb @ FOSDEM 2011
tsutomi
 
MLUC 2011 XQuery Enigma
MLUC 2011 XQuery EnigmaMLUC 2011 XQuery Enigma
MLUC 2011 XQuery EnigmaPeter O'Kelly
 
The return of big iron?
The return of big iron?The return of big iron?
The return of big iron?Ben Stopford
 
Pragmatic Approaches to the Semantic Web
Pragmatic Approaches to the Semantic WebPragmatic Approaches to the Semantic Web
Pragmatic Approaches to the Semantic Web
Mike Bergman
 
Unit-10.pptx
Unit-10.pptxUnit-10.pptx
Unit-10.pptx
GhanashyamBK1
 
SemTechBiz 2012 Panel on Linking Enterprise Data
SemTechBiz 2012 Panel on Linking Enterprise DataSemTechBiz 2012 Panel on Linking Enterprise Data
SemTechBiz 2012 Panel on Linking Enterprise Data3 Round Stones
 
Introduction to nosql
Introduction to nosqlIntroduction to nosql
Introduction to nosql
Zuhaib Ansari
 

Similar to Mongodb (20)

Big Data NoSQL 1017
Big Data NoSQL 1017Big Data NoSQL 1017
Big Data NoSQL 1017
 
Cdao Evolution08
Cdao Evolution08Cdao Evolution08
Cdao Evolution08
 
Time Series Data Storage in MongoDB
Time Series Data Storage in MongoDBTime Series Data Storage in MongoDB
Time Series Data Storage in MongoDB
 
Semantic Web: Technolgies and Applications for Real-World
Semantic Web: Technolgies and Applications for Real-WorldSemantic Web: Technolgies and Applications for Real-World
Semantic Web: Technolgies and Applications for Real-World
 
Entity and NHibernate ORM Frameworks Compared
Entity and NHibernate ORM Frameworks ComparedEntity and NHibernate ORM Frameworks Compared
Entity and NHibernate ORM Frameworks Compared
 
Heterogenous data base
Heterogenous data baseHeterogenous data base
Heterogenous data base
 
Migrating Social Content to Drupal
Migrating Social Content to DrupalMigrating Social Content to Drupal
Migrating Social Content to Drupal
 
Big Data 2107 for Ribbon
Big Data 2107 for RibbonBig Data 2107 for Ribbon
Big Data 2107 for Ribbon
 
NOSQL
NOSQLNOSQL
NOSQL
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012
 
ADBMS Object and Object Relational Databases
ADBMS  Object  and Object Relational Databases ADBMS  Object  and Object Relational Databases
ADBMS Object and Object Relational Databases
 
Implementing Shareable Metadata Practices in a Diverse University Environment
Implementing Shareable Metadata Practices in a Diverse University EnvironmentImplementing Shareable Metadata Practices in a Diverse University Environment
Implementing Shareable Metadata Practices in a Diverse University Environment
 
One Size Doesn't Fit All: The New Database Revolution
One Size Doesn't Fit All: The New Database RevolutionOne Size Doesn't Fit All: The New Database Revolution
One Size Doesn't Fit All: The New Database Revolution
 
Cloudb @ FOSDEM 2011
Cloudb @ FOSDEM 2011Cloudb @ FOSDEM 2011
Cloudb @ FOSDEM 2011
 
MLUC 2011 XQuery Enigma
MLUC 2011 XQuery EnigmaMLUC 2011 XQuery Enigma
MLUC 2011 XQuery Enigma
 
The return of big iron?
The return of big iron?The return of big iron?
The return of big iron?
 
Pragmatic Approaches to the Semantic Web
Pragmatic Approaches to the Semantic WebPragmatic Approaches to the Semantic Web
Pragmatic Approaches to the Semantic Web
 
Unit-10.pptx
Unit-10.pptxUnit-10.pptx
Unit-10.pptx
 
SemTechBiz 2012 Panel on Linking Enterprise Data
SemTechBiz 2012 Panel on Linking Enterprise DataSemTechBiz 2012 Panel on Linking Enterprise Data
SemTechBiz 2012 Panel on Linking Enterprise Data
 
Introduction to nosql
Introduction to nosqlIntroduction to nosql
Introduction to nosql
 

Recently uploaded

Ethical_dilemmas_MDI_Gurgaon-Business Ethics Case 1.pptx
Ethical_dilemmas_MDI_Gurgaon-Business Ethics Case 1.pptxEthical_dilemmas_MDI_Gurgaon-Business Ethics Case 1.pptx
Ethical_dilemmas_MDI_Gurgaon-Business Ethics Case 1.pptx
TANMAYJAIN511570
 
ÔN TẬP CỤM THÀNH NGỮ TIẾNG ANH CỰC HAY.docx
ÔN TẬP CỤM THÀNH NGỮ TIẾNG ANH CỰC HAY.docxÔN TẬP CỤM THÀNH NGỮ TIẾNG ANH CỰC HAY.docx
ÔN TẬP CỤM THÀNH NGỮ TIẾNG ANH CỰC HAY.docx
ngochaavk33a
 
UNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the NatureUNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the Nature
Chandrakant Divate
 
Collocation thường gặp trong đề thi THPT Quốc gia.pdf
Collocation thường gặp trong đề thi THPT Quốc gia.pdfCollocation thường gặp trong đề thi THPT Quốc gia.pdf
Collocation thường gặp trong đề thi THPT Quốc gia.pdf
ngochaavk33a
 
SOCIOLOGY PPT. SOCIAL SECURITY POWER POINT
SOCIOLOGY PPT. SOCIAL SECURITY POWER POINTSOCIOLOGY PPT. SOCIAL SECURITY POWER POINT
SOCIOLOGY PPT. SOCIAL SECURITY POWER POINT
ssuser8d5e2d1
 
Program Your Destiny eBook - Destiny University.pdf
Program Your Destiny eBook - Destiny University.pdfProgram Your Destiny eBook - Destiny University.pdf
Program Your Destiny eBook - Destiny University.pdf
Michael Herlache, MBA
 
CHUYÊN ĐỀ READING ÔN THI HSG THPT HAY.docx
CHUYÊN ĐỀ READING ÔN THI HSG THPT HAY.docxCHUYÊN ĐỀ READING ÔN THI HSG THPT HAY.docx
CHUYÊN ĐỀ READING ÔN THI HSG THPT HAY.docx
ngochaavk33a
 

Recently uploaded (7)

Ethical_dilemmas_MDI_Gurgaon-Business Ethics Case 1.pptx
Ethical_dilemmas_MDI_Gurgaon-Business Ethics Case 1.pptxEthical_dilemmas_MDI_Gurgaon-Business Ethics Case 1.pptx
Ethical_dilemmas_MDI_Gurgaon-Business Ethics Case 1.pptx
 
ÔN TẬP CỤM THÀNH NGỮ TIẾNG ANH CỰC HAY.docx
ÔN TẬP CỤM THÀNH NGỮ TIẾNG ANH CỰC HAY.docxÔN TẬP CỤM THÀNH NGỮ TIẾNG ANH CỰC HAY.docx
ÔN TẬP CỤM THÀNH NGỮ TIẾNG ANH CỰC HAY.docx
 
UNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the NatureUNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the Nature
 
Collocation thường gặp trong đề thi THPT Quốc gia.pdf
Collocation thường gặp trong đề thi THPT Quốc gia.pdfCollocation thường gặp trong đề thi THPT Quốc gia.pdf
Collocation thường gặp trong đề thi THPT Quốc gia.pdf
 
SOCIOLOGY PPT. SOCIAL SECURITY POWER POINT
SOCIOLOGY PPT. SOCIAL SECURITY POWER POINTSOCIOLOGY PPT. SOCIAL SECURITY POWER POINT
SOCIOLOGY PPT. SOCIAL SECURITY POWER POINT
 
Program Your Destiny eBook - Destiny University.pdf
Program Your Destiny eBook - Destiny University.pdfProgram Your Destiny eBook - Destiny University.pdf
Program Your Destiny eBook - Destiny University.pdf
 
CHUYÊN ĐỀ READING ÔN THI HSG THPT HAY.docx
CHUYÊN ĐỀ READING ÔN THI HSG THPT HAY.docxCHUYÊN ĐỀ READING ÔN THI HSG THPT HAY.docx
CHUYÊN ĐỀ READING ÔN THI HSG THPT HAY.docx
 

Mongodb

  • 1. MongoDB The fast (don’t think about this like an RDBMS) database alternative. Wednesday, August 24, 2011
  • 2. THE ROAD TO MONGODB PROJECT RDBMS + ORM BUSINESS LOGIC DOMAIN MODEL Wednesday, August 24, 2011
  • 3. Object Database Attempted to accommodate the OO languages they were meant to support Inheritance, associations, etc. THEY FAILED Too slow, too complicated, doomed! Wednesday, August 24, 2011
  • 4. The Google Problem Relational databases are slow and don’t scale well Distribution Replication ACID compliance Vendor lock in Atypical domain model didn’t require ACID transactions Wednesday, August 24, 2011
  • 5. The Google Solution Big Table http://labs.google.com/papers/bigtable.html email the authors, they’re great! Petabytes of data across thousands of commodity servers Data separate from logic Wednesday, August 24, 2011
  • 6. JSON & BSON Clear, concise and very AJAX friendly Flexible and nestable (you can nest documents) Ubiquitous language support Wednesday, August 24, 2011
  • 7. JSON & BSON cont. BSON <> JSON translation can be awkward when dealing with language specific data types Dates, _id fields, etc. Well suited to text/numeric data, not much else Wednesday, August 24, 2011
  • 8. Common pitfalls How to create a view or join Enforce data integrity Define data structure Document vs. Table(s) Wednesday, August 24, 2011
  • 9. Normalization RDBMS Normalization is intended to... Reduce complexity Discourage duplication of code/data Provide logical mappings for domain elements In mongodb, the document tells the whole story, including a definition of the data Wednesday, August 24, 2011
  • 10. Maturity Issues No log file rolling mechanism Awkward tools and querying Accustomed to tabular data (try .pretty()) Very little (if any) feedback regarding outcome of commands Wednesday, August 24, 2011
  • 11. Queues Many steps, each in it’s own collection Keep high volume collections small & fast Maintain large amounts of statistical data in low volume collections Wednesday, August 24, 2011
  • 12. Ready for Business? Business logic must exist in code (including querying data) Transaction boundaries and concurrency must exist in code Speed and reliability are a go (so far :) Wednesday, August 24, 2011