SlideShare a Scribd company logo
1 of 21
An Introduction ToNoSQL & MongoDB Lee Theobald Twitter: @Leesy Email: Lee@LTheobald.co.uk
NoSQL A form of database management system that is non-relational. Systems are often schema less, avoid joins & are easy to scale. The term NoSQL was coined in 1998 by Carlo Strozzi and then again in early 2009 with the no:sql(east) conference A better term would have been “NoREL” but NoSQL caught on.  Think of it more as meaning “Not Only SQL”
But Why Choose NoSQL? Amount of data stored is on the up & up. Facebook is rumoured to hold over 50TB of data in their NoSQL system for their inbox search The data we store is more complex than 15 years ago. Easy Distribution With all this data is needs to be easy to be able to add/remove servers without any disruption of service.
Choose Your Flavour Key-Value Store Graph BigTable Document Store
Key-Value Store Data is stored in (unsurpisingly) key/value pairs. Designed to handle lots of data and heavy load Based on a Amazon’s Dynamo Paper Example: Voldermort (http://project-voldemort.com/) - Developed by the guys at LinkedIn
Graph Focuses on modeling data & associated connections Inspired by mathematical Graph Theory. Example: FlockDB (http://github.com/twitter/flockdb) – developed by Twitter
BigTable / Column Families Based on the BigTable paper from Google Data is grouped by columns, not rows. Example: Cassandra (http://cassandra.apache.org/) – Originally developed by Facebook, now and Apache project.
Document Store Data stored as whole documents. JSON & XML are popular formats Maps well to an Object Orientated programming model Example: CouchDB (http://couchdb.apache.org/) or … {  “id”: “123”,  “name”: “Oliver Clothesoff”,  “dob”: {    “year”: 1985,    “month”: 5,    “day”: 12   } }
MongoDB! Short for humongous Open source with development lead by 10Gen Document Based Schema-less Highly Scalable MapReduce Easy Replication & Sharding
Familiar Structure A MongoDB instance is made up of a number of databases. These contain a number of collections & you can have collections nested under other collections. Compare it to MySQL which has databases and tables.
Inserts – As Easy As Pie use cookbook; db.recipes.save({  “name”: “Cherry Pie”,  “ingredients”: [“cherries”, “pie”],  “cooking_time”: 30 });
Searching – A Piece Of Cake! db.recipes.find({  “cooking_time”: { “$gte”: 10, “$lt”: 30 } } db.recipes.findOne()
Some More Advanced Syntax Limiting Results db.find().limit(10); Skipping results db.find().skip(5); Sorting db.find().sort({cooking_time: -1}); Cursors: var cur = db.find().cursor(); cur.forEach( function(x) { print(tojson(x)); });
MapReduce Great way of doing bulk manipulation or aggregation. 2 or 3 functions written in JavaScript that execute on the server. An example use could be generating a list of top queries from some search logs.
Map Function Takes some input of the form of key/value pairs, performs some calculations and returns 0 or more key/value pairs map = function() {     if (!this.query) {         return;     }     emit (this.query, {count: 1}); }
Reduce Function Takes the results from the map function, does something (normally combine the results) and produces output in key/value pairs reduce = function(key, values) { var count = 0; values.forEach(function(v) {         count += v[‘count’];     }     return {count: count;} }
Replica Sets Master/Slave configuration If your primary server goes down, one of the secondary ones takes overautomatically Extremely easy to setup
Auto Sharding – Horizontal Scaling
Other Features GridFS support – Distributed file storage Geospatial indexing It’s constantly in development so new features are being worked on all the time!
Why Not Try It Yourself Download it at: http://www.mongodb.org Online tutorial at:http://www.mongodb.org/display/DOCS/Tutorial Some handy MongoDB sites: MongoDB Cookbook: http://cookbook.mongodb.org/ Kyle Banker’s blog: http://kylebanker.com/blog/ There’salso a load of handyreferencecards, stickers and otherMongoDBfreebiesupfront!
Thanks For Listening Any questions?

More Related Content

What's hot

Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
Derek Stainer
 
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
Simplilearn
 

What's hot (20)

Mongo db intro.pptx
Mongo db intro.pptxMongo db intro.pptx
Mongo db intro.pptx
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architecture
 
Intro To MongoDB
Intro To MongoDBIntro To MongoDB
Intro To MongoDB
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 
Non relational databases-no sql
Non relational databases-no sqlNon relational databases-no sql
Non relational databases-no sql
 
Mongo DB
Mongo DB Mongo DB
Mongo DB
 
Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBase
 
Mongodb - NoSql Database
Mongodb - NoSql DatabaseMongodb - NoSql Database
Mongodb - NoSql Database
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Database
 
Mongo DB Presentation
Mongo DB PresentationMongo DB Presentation
Mongo DB Presentation
 
Mongodb vs mysql
Mongodb vs mysqlMongodb vs mysql
Mongodb vs mysql
 
Mongodb
MongodbMongodb
Mongodb
 
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorialsMongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
NOSQL and MongoDB Database
NOSQL and MongoDB DatabaseNOSQL and MongoDB Database
NOSQL and MongoDB Database
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 

Viewers also liked

Intro to NoSQL and MongoDB
Intro to NoSQL and MongoDBIntro to NoSQL and MongoDB
Intro to NoSQL and MongoDB
DATAVERSITY
 
Query mechanisms for NoSQL databases
Query mechanisms for NoSQL databasesQuery mechanisms for NoSQL databases
Query mechanisms for NoSQL databases
ArangoDB Database
 
An Introduction to Big Data, NoSQL and MongoDB
An Introduction to Big Data, NoSQL and MongoDBAn Introduction to Big Data, NoSQL and MongoDB
An Introduction to Big Data, NoSQL and MongoDB
William LaForest
 
Using MongoDB as a high performance graph database
Using MongoDB as a high performance graph databaseUsing MongoDB as a high performance graph database
Using MongoDB as a high performance graph database
Chris Clarke
 
MongoDB Java Development - MongoBoston 2010
MongoDB Java Development - MongoBoston 2010MongoDB Java Development - MongoBoston 2010
MongoDB Java Development - MongoBoston 2010
Eliot Horowitz
 
Etsy Activity Feeds Architecture
Etsy Activity Feeds ArchitectureEtsy Activity Feeds Architecture
Etsy Activity Feeds Architecture
Dan McKinley
 

Viewers also liked (20)

Mongo DB
Mongo DBMongo DB
Mongo DB
 
Intro to NoSQL and MongoDB
Intro to NoSQL and MongoDBIntro to NoSQL and MongoDB
Intro to NoSQL and MongoDB
 
Query mechanisms for NoSQL databases
Query mechanisms for NoSQL databasesQuery mechanisms for NoSQL databases
Query mechanisms for NoSQL databases
 
Webinar: Transitioning from SQL to MongoDB
Webinar: Transitioning from SQL to MongoDBWebinar: Transitioning from SQL to MongoDB
Webinar: Transitioning from SQL to MongoDB
 
An Introduction to Big Data, NoSQL and MongoDB
An Introduction to Big Data, NoSQL and MongoDBAn Introduction to Big Data, NoSQL and MongoDB
An Introduction to Big Data, NoSQL and MongoDB
 
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQLBack to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQL
 
MongoDB World 2016: Poster Sessions eBook
MongoDB World 2016: Poster Sessions eBookMongoDB World 2016: Poster Sessions eBook
MongoDB World 2016: Poster Sessions eBook
 
How Auto Trader enables the UK's largest digital automotive marketplace
How Auto Trader enables the UK's largest digital automotive marketplaceHow Auto Trader enables the UK's largest digital automotive marketplace
How Auto Trader enables the UK's largest digital automotive marketplace
 
Creating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital TransformationCreating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital Transformation
 
A Beginners Guide to noSQL
A Beginners Guide to noSQLA Beginners Guide to noSQL
A Beginners Guide to noSQL
 
Agg framework selectgroup feb2015 v2
Agg framework selectgroup feb2015 v2Agg framework selectgroup feb2015 v2
Agg framework selectgroup feb2015 v2
 
MongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB Europe 2016 - Graph Operations with MongoDBMongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB Europe 2016 - Graph Operations with MongoDB
 
MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB
MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDBMongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB
MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB
 
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial IndexesBack to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
 
Back to Basics Webinar 2: Your First MongoDB Application
Back to Basics Webinar 2: Your First MongoDB ApplicationBack to Basics Webinar 2: Your First MongoDB Application
Back to Basics Webinar 2: Your First MongoDB Application
 
Using MongoDB as a high performance graph database
Using MongoDB as a high performance graph databaseUsing MongoDB as a high performance graph database
Using MongoDB as a high performance graph database
 
PHP, Lithium and MongoDB
PHP, Lithium and MongoDBPHP, Lithium and MongoDB
PHP, Lithium and MongoDB
 
MongoDB Java Development - MongoBoston 2010
MongoDB Java Development - MongoBoston 2010MongoDB Java Development - MongoBoston 2010
MongoDB Java Development - MongoBoston 2010
 
Etsy Activity Feeds Architecture
Etsy Activity Feeds ArchitectureEtsy Activity Feeds Architecture
Etsy Activity Feeds Architecture
 
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauWebinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
 

Similar to An Introduction To NoSQL & MongoDB

Introduction tomongodb
Introduction tomongodbIntroduction tomongodb
Introduction tomongodb
Lee Theobald
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
BigBlueHat
 
DynamoDB Gluecon 2012
DynamoDB Gluecon 2012DynamoDB Gluecon 2012
DynamoDB Gluecon 2012
Appirio
 

Similar to An Introduction To NoSQL & MongoDB (20)

Nosql seminar
Nosql seminarNosql seminar
Nosql seminar
 
Introduction tomongodb
Introduction tomongodbIntroduction tomongodb
Introduction tomongodb
 
JS App Architecture
JS App ArchitectureJS App Architecture
JS App Architecture
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
 
Big data technology unit 3
Big data technology unit 3Big data technology unit 3
Big data technology unit 3
 
NoSQL
NoSQLNoSQL
NoSQL
 
DynamoDB Gluecon 2012
DynamoDB Gluecon 2012DynamoDB Gluecon 2012
DynamoDB Gluecon 2012
 
Gluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDBGluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDB
 
Building data pipelines
Building data pipelinesBuilding data pipelines
Building data pipelines
 
MongoDB - A next-generation database that lets you create applications never ...
MongoDB - A next-generation database that lets you create applications never ...MongoDB - A next-generation database that lets you create applications never ...
MongoDB - A next-generation database that lets you create applications never ...
 
Conquering "big data": An introduction to shard query
Conquering "big data": An introduction to shard queryConquering "big data": An introduction to shard query
Conquering "big data": An introduction to shard query
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big Data
 
Mongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorial
 
Big Data: SQL on Hadoop from IBM
Big Data:  SQL on Hadoop from IBM Big Data:  SQL on Hadoop from IBM
Big Data: SQL on Hadoop from IBM
 
Big data vahidamiri-tabriz-13960226-datastack.ir
Big data vahidamiri-tabriz-13960226-datastack.irBig data vahidamiri-tabriz-13960226-datastack.ir
Big data vahidamiri-tabriz-13960226-datastack.ir
 
Front Range PHP NoSQL Databases
Front Range PHP NoSQL DatabasesFront Range PHP NoSQL Databases
Front Range PHP NoSQL Databases
 
No SQL and MongoDB - Hyderabad Scalability Meetup
No SQL and MongoDB - Hyderabad Scalability MeetupNo SQL and MongoDB - Hyderabad Scalability Meetup
No SQL and MongoDB - Hyderabad Scalability Meetup
 
Back-end (Flask_AWS)
Back-end (Flask_AWS)Back-end (Flask_AWS)
Back-end (Flask_AWS)
 
BDA311 Introduction to AWS Glue
BDA311 Introduction to AWS GlueBDA311 Introduction to AWS Glue
BDA311 Introduction to AWS Glue
 
Big data concepts
Big data conceptsBig data concepts
Big data concepts
 

Recently uploaded

What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...
srcw2322l101
 
NewBase 17 May 2024 Energy News issue - 1725 by Khaled Al Awadi_compresse...
NewBase   17 May  2024  Energy News issue - 1725 by Khaled Al Awadi_compresse...NewBase   17 May  2024  Energy News issue - 1725 by Khaled Al Awadi_compresse...
NewBase 17 May 2024 Energy News issue - 1725 by Khaled Al Awadi_compresse...
Khaled Al Awadi
 
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
Spesiialis Kandungan BPOM
 

Recently uploaded (20)

(推特)Twitter账号批发(自助购买网址🎉top233.com🎉)
(推特)Twitter账号批发(自助购买网址🎉top233.com🎉)(推特)Twitter账号批发(自助购买网址🎉top233.com🎉)
(推特)Twitter账号批发(自助购买网址🎉top233.com🎉)
 
Guide to Networking Essentials 8th Edition by Greg Tomsho solution manual.doc
Guide to Networking Essentials 8th Edition by Greg Tomsho solution manual.docGuide to Networking Essentials 8th Edition by Greg Tomsho solution manual.doc
Guide to Networking Essentials 8th Edition by Greg Tomsho solution manual.doc
 
Series A Fundraising Guide (Investing Individuals Improving Our World) by Accion
Series A Fundraising Guide (Investing Individuals Improving Our World) by AccionSeries A Fundraising Guide (Investing Individuals Improving Our World) by Accion
Series A Fundraising Guide (Investing Individuals Improving Our World) by Accion
 
Inside the Black Box of Venture Capital (VC)
Inside the Black Box of Venture Capital (VC)Inside the Black Box of Venture Capital (VC)
Inside the Black Box of Venture Capital (VC)
 
Hyundai capital 2024 1q Earnings release
Hyundai capital 2024 1q Earnings releaseHyundai capital 2024 1q Earnings release
Hyundai capital 2024 1q Earnings release
 
Raising Seed Capital by Steve Schlafman at RRE Ventures
Raising Seed Capital by Steve Schlafman at RRE VenturesRaising Seed Capital by Steve Schlafman at RRE Ventures
Raising Seed Capital by Steve Schlafman at RRE Ventures
 
Daftar Rumpun, Pohon, dan Cabang Ilmu (2024).pdf
Daftar Rumpun, Pohon, dan Cabang Ilmu (2024).pdfDaftar Rumpun, Pohon, dan Cabang Ilmu (2024).pdf
Daftar Rumpun, Pohon, dan Cabang Ilmu (2024).pdf
 
Creative Ideas for Interactive Team Presentations
Creative Ideas for Interactive Team PresentationsCreative Ideas for Interactive Team Presentations
Creative Ideas for Interactive Team Presentations
 
WAM Corporate Presentation May 2024_w.pdf
WAM Corporate Presentation May 2024_w.pdfWAM Corporate Presentation May 2024_w.pdf
WAM Corporate Presentation May 2024_w.pdf
 
Innomantra Viewpoint - Building Moonshots : May-Jun 2024.pdf
Innomantra Viewpoint - Building Moonshots : May-Jun 2024.pdfInnomantra Viewpoint - Building Moonshots : May-Jun 2024.pdf
Innomantra Viewpoint - Building Moonshots : May-Jun 2024.pdf
 
Copyright: What Creators and Users of Art Need to Know
Copyright: What Creators and Users of Art Need to KnowCopyright: What Creators and Users of Art Need to Know
Copyright: What Creators and Users of Art Need to Know
 
5 Brilliant Ways To Buy Verified Payoneer Accounts In 2024
5 Brilliant Ways To Buy Verified Payoneer Accounts In 20245 Brilliant Ways To Buy Verified Payoneer Accounts In 2024
5 Brilliant Ways To Buy Verified Payoneer Accounts In 2024
 
What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...What is paper chromatography, principal, procedure,types, diagram, advantages...
What is paper chromatography, principal, procedure,types, diagram, advantages...
 
MichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdfMichaelStarkes_UncutGemsProjectSummary.pdf
MichaelStarkes_UncutGemsProjectSummary.pdf
 
wagamamaLab presentation @MIT 20240509 IRODORI
wagamamaLab presentation @MIT 20240509 IRODORIwagamamaLab presentation @MIT 20240509 IRODORI
wagamamaLab presentation @MIT 20240509 IRODORI
 
بروفايل شركة ميار الخليج للاستشارات الهندسية.pdf
بروفايل شركة ميار الخليج للاستشارات الهندسية.pdfبروفايل شركة ميار الخليج للاستشارات الهندسية.pdf
بروفايل شركة ميار الخليج للاستشارات الهندسية.pdf
 
NewBase 17 May 2024 Energy News issue - 1725 by Khaled Al Awadi_compresse...
NewBase   17 May  2024  Energy News issue - 1725 by Khaled Al Awadi_compresse...NewBase   17 May  2024  Energy News issue - 1725 by Khaled Al Awadi_compresse...
NewBase 17 May 2024 Energy News issue - 1725 by Khaled Al Awadi_compresse...
 
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
 
Progress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdf
Progress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdfProgress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdf
Progress Report - UKG Analyst Summit 2024 - A lot to do - Good Progress1-1.pdf
 
Elevate Your Online Presence with SEO Services
Elevate Your Online Presence with SEO ServicesElevate Your Online Presence with SEO Services
Elevate Your Online Presence with SEO Services
 

An Introduction To NoSQL & MongoDB

  • 1. An Introduction ToNoSQL & MongoDB Lee Theobald Twitter: @Leesy Email: Lee@LTheobald.co.uk
  • 2. NoSQL A form of database management system that is non-relational. Systems are often schema less, avoid joins & are easy to scale. The term NoSQL was coined in 1998 by Carlo Strozzi and then again in early 2009 with the no:sql(east) conference A better term would have been “NoREL” but NoSQL caught on. Think of it more as meaning “Not Only SQL”
  • 3. But Why Choose NoSQL? Amount of data stored is on the up & up. Facebook is rumoured to hold over 50TB of data in their NoSQL system for their inbox search The data we store is more complex than 15 years ago. Easy Distribution With all this data is needs to be easy to be able to add/remove servers without any disruption of service.
  • 4. Choose Your Flavour Key-Value Store Graph BigTable Document Store
  • 5. Key-Value Store Data is stored in (unsurpisingly) key/value pairs. Designed to handle lots of data and heavy load Based on a Amazon’s Dynamo Paper Example: Voldermort (http://project-voldemort.com/) - Developed by the guys at LinkedIn
  • 6. Graph Focuses on modeling data & associated connections Inspired by mathematical Graph Theory. Example: FlockDB (http://github.com/twitter/flockdb) – developed by Twitter
  • 7. BigTable / Column Families Based on the BigTable paper from Google Data is grouped by columns, not rows. Example: Cassandra (http://cassandra.apache.org/) – Originally developed by Facebook, now and Apache project.
  • 8. Document Store Data stored as whole documents. JSON & XML are popular formats Maps well to an Object Orientated programming model Example: CouchDB (http://couchdb.apache.org/) or … { “id”: “123”, “name”: “Oliver Clothesoff”, “dob”: { “year”: 1985, “month”: 5, “day”: 12 } }
  • 9. MongoDB! Short for humongous Open source with development lead by 10Gen Document Based Schema-less Highly Scalable MapReduce Easy Replication & Sharding
  • 10. Familiar Structure A MongoDB instance is made up of a number of databases. These contain a number of collections & you can have collections nested under other collections. Compare it to MySQL which has databases and tables.
  • 11. Inserts – As Easy As Pie use cookbook; db.recipes.save({ “name”: “Cherry Pie”, “ingredients”: [“cherries”, “pie”], “cooking_time”: 30 });
  • 12. Searching – A Piece Of Cake! db.recipes.find({ “cooking_time”: { “$gte”: 10, “$lt”: 30 } } db.recipes.findOne()
  • 13. Some More Advanced Syntax Limiting Results db.find().limit(10); Skipping results db.find().skip(5); Sorting db.find().sort({cooking_time: -1}); Cursors: var cur = db.find().cursor(); cur.forEach( function(x) { print(tojson(x)); });
  • 14. MapReduce Great way of doing bulk manipulation or aggregation. 2 or 3 functions written in JavaScript that execute on the server. An example use could be generating a list of top queries from some search logs.
  • 15. Map Function Takes some input of the form of key/value pairs, performs some calculations and returns 0 or more key/value pairs map = function() { if (!this.query) { return; } emit (this.query, {count: 1}); }
  • 16. Reduce Function Takes the results from the map function, does something (normally combine the results) and produces output in key/value pairs reduce = function(key, values) { var count = 0; values.forEach(function(v) { count += v[‘count’]; } return {count: count;} }
  • 17. Replica Sets Master/Slave configuration If your primary server goes down, one of the secondary ones takes overautomatically Extremely easy to setup
  • 18. Auto Sharding – Horizontal Scaling
  • 19. Other Features GridFS support – Distributed file storage Geospatial indexing It’s constantly in development so new features are being worked on all the time!
  • 20. Why Not Try It Yourself Download it at: http://www.mongodb.org Online tutorial at:http://www.mongodb.org/display/DOCS/Tutorial Some handy MongoDB sites: MongoDB Cookbook: http://cookbook.mongodb.org/ Kyle Banker’s blog: http://kylebanker.com/blog/ There’salso a load of handyreferencecards, stickers and otherMongoDBfreebiesupfront!
  • 21. Thanks For Listening Any questions?