SlideShare una empresa de Scribd logo
1 de 62
GridFS
Mitch Pirtle
CTO Sounday Music
MongoTorino, 2011-10-01
Who?
Who?
Joomla! founder, OSM founder
Who?
Joomla! founder, OSM founder
New Yorker, moved to Torino in May 2011
Who?
Joomla! founder, OSM founder
New Yorker, moved to Torino in May 2011
Skateboard, snowboard, bike, bass, guitar, drums, dad
Who?
Joomla! founder, OSM founder
New Yorker, moved to Torino in May 2011
Skateboard, snowboard, bike, bass, guitar, drums, dad
CTO at Sounday Music
Who?
Joomla! founder, OSM founder
New Yorker, moved to Torino in May 2011
Skateboard, snowboard, bike, bass, guitar, drums, dad
CTO at Sounday Music
Contributor to MongoDB, evangelist for Lithium PHP
Framework
Who?
Joomla! founder, OSM founder
New Yorker, moved to Torino in May 2011
Skateboard, snowboard, bike, bass, guitar, drums, dad
CTO at Sounday Music
Contributor to MongoDB, evangelist for Lithium PHP
Framework
Yes, I am learning Italian :-)
About this presentation
How the web began
How the web began
How the web began


Grey pages
How the web began


Grey pages
Black text
Added some stuff...
Added some stuff...
Added some stuff...


Images
Added some stuff...


Images
Colored backgrounds
Added some stuff...


Images
Colored backgrounds
Blinking text
More stuff...
More stuff...
More stuff...


 Javascript
More stuff...


 Javascript
 Flash
More stuff...


 Javascript
 Flash
 Streaming media
More stuff...


 Javascript
 Flash
 Streaming media
 Social media
Mess!
All the media types
 PNG            MPEG
 JPG            OGG
 GIF            MP3
 MOV / QT       ...and so on
 FLA
 FLV
 AVI
Where does all this go?
Approach 1: Filesystem
Approach 1: Filesystem


Store media locally on hard drive of webserver
Approach 1: Filesystem


Store media locally on hard drive of webserver
Fast access
Approach 1: Filesystem


Store media locally on hard drive of webserver
Fast access
Simple management
Approach 1: Filesystem


Store media locally on hard drive of webserver
Fast access
Simple management
Easy for code
Approach 2: SAN
Approach 2: SAN


Network access to files from N webservers
Approach 2: SAN


Network access to files from N webservers
Redundant
Approach 2: SAN


Network access to files from N webservers
Redundant
Scalable
Approach 2: SAN


Network access to files from N webservers
Redundant
Scalable
Hey, at least it’s not NFS
Approach 3: Database
Approach 3: Database


Easy access from application
Approach 3: Database


Easy access from application
Additional reporting possibilities
Why they all suck
Why they all suck


 Filesystems are a pain to keep in sync
 NAS are €xpen$ive
 Media storage was an afterthought for databases
 Databases are the hardest part to scale right?
New approach: GridFS
New approach: GridFS


Stores media in the database
New approach: GridFS


Stores media in the database
Access to sharding, replication
New approach: GridFS


Stores media in the database
Access to sharding, replication
Network access
New approach: GridFS


Stores media in the database
Access to sharding, replication
Network access
Documents == metadata!
GridFS Documentation
http://www.mongodb.org/display/DOCS/GridFS
It is a standard.
GridFS Specification
http://www.mongodb.org/display/DOCS/GridFS
+Specification
Why GridFS is better
Why GridFS: Access


Available to network
Support for many programming languages
Access parts of larger files, or stream entire file
Why GridFS: It’s MongoDB


MongoDB sharding == scale
Replica sets == redundancy
Slaves == reliability and performance
Why GridFS: Metadata
Why GridFS: Metadata


Separately stores metadata from actual file data
Why GridFS: Metadata


Separately stores metadata from actual file data
Schemaless, you can add attributes as you need
Why GridFS: Metadata


Separately stores metadata from actual file data
Schemaless, you can add attributes as you need
Opens new possibilities for reporting, access, analytics
Sho me da money!
(insert code)
Case study: Totsy
Case study: Sounday
Time for my favorite game
Stump the Nerd™
Thanks!
Email: mitch.pirtle@gmail.com
Twitter: @mitchitized
Web: http://about.me/mitchitized
Slides: slideshare.net/spacemonkeylabs

Más contenido relacionado

Destacado

MongoDB- Crud Operation
MongoDB- Crud OperationMongoDB- Crud Operation
MongoDB- Crud Operation
Edureka!
 
Suplemento La Ley Universidad Austral 27 junio 2014
Suplemento La Ley Universidad Austral 27 junio 2014Suplemento La Ley Universidad Austral 27 junio 2014
Suplemento La Ley Universidad Austral 27 junio 2014
Susy Inés Bello Knoll
 
199 Pens‚es Et Citations Sp‚ciales Pour Acqu‚rir Un Plus Grand Bien Etre A To...
199 Pens‚es Et Citations Sp‚ciales Pour Acqu‚rir Un Plus Grand Bien Etre A To...199 Pens‚es Et Citations Sp‚ciales Pour Acqu‚rir Un Plus Grand Bien Etre A To...
199 Pens‚es Et Citations Sp‚ciales Pour Acqu‚rir Un Plus Grand Bien Etre A To...
CENTRAFRIQUE WORLD COMMUNICATE
 
Environmental Tracking: Global 800 2013 Carbon Rankings
Environmental Tracking: Global 800 2013 Carbon RankingsEnvironmental Tracking: Global 800 2013 Carbon Rankings
Environmental Tracking: Global 800 2013 Carbon Rankings
Sustainable Brands
 
121224 st13 konzept
121224 st13 konzept121224 st13 konzept
121224 st13 konzept
Nina
 
Catalogo decanter 2012
Catalogo decanter 2012Catalogo decanter 2012
Catalogo decanter 2012
Isidro More
 
ENSEÑANZAS DEPORTIVAS.pptx
ENSEÑANZAS DEPORTIVAS.pptxENSEÑANZAS DEPORTIVAS.pptx
ENSEÑANZAS DEPORTIVAS.pptx
cexfod
 
PXIE-brochure-A4 smaller
PXIE-brochure-A4 smallerPXIE-brochure-A4 smaller
PXIE-brochure-A4 smaller
Imaginos NDE
 

Destacado (20)

MongoDB Operations for Developers
MongoDB Operations for DevelopersMongoDB Operations for Developers
MongoDB Operations for Developers
 
MongoDB Internals
MongoDB InternalsMongoDB Internals
MongoDB Internals
 
MongoDB
MongoDBMongoDB
MongoDB
 
Get expertise with mongo db
Get expertise with mongo dbGet expertise with mongo db
Get expertise with mongo db
 
Warum 'ne Datenbank, wenn wir Elasticsearch haben?
Warum 'ne Datenbank, wenn wir Elasticsearch haben?Warum 'ne Datenbank, wenn wir Elasticsearch haben?
Warum 'ne Datenbank, wenn wir Elasticsearch haben?
 
MongoDB- Crud Operation
MongoDB- Crud OperationMongoDB- Crud Operation
MongoDB- Crud Operation
 
MongoDB on EC2 and EBS
MongoDB on EC2 and EBSMongoDB on EC2 and EBS
MongoDB on EC2 and EBS
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDB
 
Suplemento La Ley Universidad Austral 27 junio 2014
Suplemento La Ley Universidad Austral 27 junio 2014Suplemento La Ley Universidad Austral 27 junio 2014
Suplemento La Ley Universidad Austral 27 junio 2014
 
199 Pens‚es Et Citations Sp‚ciales Pour Acqu‚rir Un Plus Grand Bien Etre A To...
199 Pens‚es Et Citations Sp‚ciales Pour Acqu‚rir Un Plus Grand Bien Etre A To...199 Pens‚es Et Citations Sp‚ciales Pour Acqu‚rir Un Plus Grand Bien Etre A To...
199 Pens‚es Et Citations Sp‚ciales Pour Acqu‚rir Un Plus Grand Bien Etre A To...
 
Environmental Tracking: Global 800 2013 Carbon Rankings
Environmental Tracking: Global 800 2013 Carbon RankingsEnvironmental Tracking: Global 800 2013 Carbon Rankings
Environmental Tracking: Global 800 2013 Carbon Rankings
 
Alma de dios tarea 1-enfoques pedagogicos
Alma de dios tarea 1-enfoques pedagogicosAlma de dios tarea 1-enfoques pedagogicos
Alma de dios tarea 1-enfoques pedagogicos
 
Wig flexible working
Wig flexible workingWig flexible working
Wig flexible working
 
Catálogo de novedades abril 2015. Biblioteca Provincial A Coruña
Catálogo de novedades abril 2015. Biblioteca Provincial A CoruñaCatálogo de novedades abril 2015. Biblioteca Provincial A Coruña
Catálogo de novedades abril 2015. Biblioteca Provincial A Coruña
 
121224 st13 konzept
121224 st13 konzept121224 st13 konzept
121224 st13 konzept
 
Catalogo decanter 2012
Catalogo decanter 2012Catalogo decanter 2012
Catalogo decanter 2012
 
ENSEÑANZAS DEPORTIVAS.pptx
ENSEÑANZAS DEPORTIVAS.pptxENSEÑANZAS DEPORTIVAS.pptx
ENSEÑANZAS DEPORTIVAS.pptx
 
Motherboard
MotherboardMotherboard
Motherboard
 
PXIE-brochure-A4 smaller
PXIE-brochure-A4 smallerPXIE-brochure-A4 smaller
PXIE-brochure-A4 smaller
 
Eular grafo-y-digrafo
Eular grafo-y-digrafoEular grafo-y-digrafo
Eular grafo-y-digrafo
 

Similar a Gridfs and MongoDB

Victoria presentation notes
Victoria   presentation notesVictoria   presentation notes
Victoria presentation notes
Oxford Trainees
 
The Effectiveness Of WordPress Against Traditional...
The  Effectiveness Of WordPress Against Traditional...The  Effectiveness Of WordPress Against Traditional...
The Effectiveness Of WordPress Against Traditional...
Kristen Wilson
 
MongoDB at ex.fm
MongoDB at ex.fmMongoDB at ex.fm
MongoDB at ex.fm
MongoDB
 
RMLL 2013 : Build Your Personal Search Engine using Crawlzilla
RMLL 2013 : Build Your Personal Search Engine using CrawlzillaRMLL 2013 : Build Your Personal Search Engine using Crawlzilla
RMLL 2013 : Build Your Personal Search Engine using Crawlzilla
Jazz Yao-Tsung Wang
 

Similar a Gridfs and MongoDB (20)

How's it Going?
How's it Going?How's it Going?
How's it Going?
 
Podcasting101
Podcasting101Podcasting101
Podcasting101
 
Semweb at the BBC
Semweb at the BBCSemweb at the BBC
Semweb at the BBC
 
Operational MongoDB
Operational MongoDBOperational MongoDB
Operational MongoDB
 
Joomla - an Overview
Joomla - an OverviewJoomla - an Overview
Joomla - an Overview
 
Victoria presentation notes
Victoria   presentation notesVictoria   presentation notes
Victoria presentation notes
 
The Effectiveness Of WordPress Against Traditional...
The  Effectiveness Of WordPress Against Traditional...The  Effectiveness Of WordPress Against Traditional...
The Effectiveness Of WordPress Against Traditional...
 
Using visualization tools to access HDF data via OPeNDAP
Using visualization tools to access HDF data via OPeNDAP Using visualization tools to access HDF data via OPeNDAP
Using visualization tools to access HDF data via OPeNDAP
 
Mongodb and Totsy - E-commerce Case Study
Mongodb and Totsy - E-commerce Case StudyMongodb and Totsy - E-commerce Case Study
Mongodb and Totsy - E-commerce Case Study
 
Avoiding the tragedy of the commons: some lessons from the Software Heritage ...
Avoiding the tragedy of the commons: some lessons from the Software Heritage ...Avoiding the tragedy of the commons: some lessons from the Software Heritage ...
Avoiding the tragedy of the commons: some lessons from the Software Heritage ...
 
The computer science behind a modern disributed data store
The computer science behind a modern disributed data storeThe computer science behind a modern disributed data store
The computer science behind a modern disributed data store
 
Nicolas Pastorino - The Open-source roar in the eZ Community
Nicolas Pastorino - The Open-source roar in the eZ CommunityNicolas Pastorino - The Open-source roar in the eZ Community
Nicolas Pastorino - The Open-source roar in the eZ Community
 
MongoDB at ex.fm
MongoDB at ex.fmMongoDB at ex.fm
MongoDB at ex.fm
 
MOSP Walkthrough 2009
MOSP Walkthrough 2009MOSP Walkthrough 2009
MOSP Walkthrough 2009
 
OSDC 2018 | The Computer science behind a modern distributed data store by Ma...
OSDC 2018 | The Computer science behind a modern distributed data store by Ma...OSDC 2018 | The Computer science behind a modern distributed data store by Ma...
OSDC 2018 | The Computer science behind a modern distributed data store by Ma...
 
FileSender, TNC2011, Prague, May 2011
FileSender, TNC2011, Prague, May 2011FileSender, TNC2011, Prague, May 2011
FileSender, TNC2011, Prague, May 2011
 
Cassandra nyc
Cassandra nycCassandra nyc
Cassandra nyc
 
Ell Podcast
Ell PodcastEll Podcast
Ell Podcast
 
TYPO3 at UNESCO.org
TYPO3 at UNESCO.orgTYPO3 at UNESCO.org
TYPO3 at UNESCO.org
 
RMLL 2013 : Build Your Personal Search Engine using Crawlzilla
RMLL 2013 : Build Your Personal Search Engine using CrawlzillaRMLL 2013 : Build Your Personal Search Engine using Crawlzilla
RMLL 2013 : Build Your Personal Search Engine using Crawlzilla
 

Más de Mitch Pirtle

Más de Mitch Pirtle (20)

Cloudy with a chance of scale
Cloudy with a chance of scaleCloudy with a chance of scale
Cloudy with a chance of scale
 
My life with MongoDB
My life with MongoDBMy life with MongoDB
My life with MongoDB
 
PHP Cloud Deployment Toolkits
PHP Cloud Deployment ToolkitsPHP Cloud Deployment Toolkits
PHP Cloud Deployment Toolkits
 
MongoDB, Node.js, and You: PART III
MongoDB, Node.js, and You: PART IIIMongoDB, Node.js, and You: PART III
MongoDB, Node.js, and You: PART III
 
MongoDB, Node.js And You: PART II
MongoDB, Node.js And You: PART IIMongoDB, Node.js And You: PART II
MongoDB, Node.js And You: PART II
 
Mongodb, Node.js and You: PART I
Mongodb, Node.js and You: PART IMongodb, Node.js and You: PART I
Mongodb, Node.js and You: PART I
 
MongoDB, Development and You
MongoDB, Development and YouMongoDB, Development and You
MongoDB, Development and You
 
MongoTorino 2013 Opening Keynote
MongoTorino 2013 Opening KeynoteMongoTorino 2013 Opening Keynote
MongoTorino 2013 Opening Keynote
 
Data as Documents: Overview and intro to MongoDB
Data as Documents: Overview and intro to MongoDBData as Documents: Overview and intro to MongoDB
Data as Documents: Overview and intro to MongoDB
 
Cloud conference - mongodb
Cloud conference - mongodbCloud conference - mongodb
Cloud conference - mongodb
 
Unified Content Model and Joomla!
Unified Content Model and Joomla!Unified Content Model and Joomla!
Unified Content Model and Joomla!
 
Joomla Extreme Performance
Joomla Extreme PerformanceJoomla Extreme Performance
Joomla Extreme Performance
 
Joomla and MongoDB
Joomla and MongoDBJoomla and MongoDB
Joomla and MongoDB
 
Mongodb and Totsy: An e-commerce case study
Mongodb and Totsy: An e-commerce case studyMongodb and Totsy: An e-commerce case study
Mongodb and Totsy: An e-commerce case study
 
PHP, Lithium and MongoDB
PHP, Lithium and MongoDBPHP, Lithium and MongoDB
PHP, Lithium and MongoDB
 
Content Management Systems and MongoDB
Content Management Systems and MongoDBContent Management Systems and MongoDB
Content Management Systems and MongoDB
 
MongoDB: Built for Speed
MongoDB: Built for SpeedMongoDB: Built for Speed
MongoDB: Built for Speed
 
Content Mangement Systems and MongoDB
Content Mangement Systems and MongoDBContent Mangement Systems and MongoDB
Content Mangement Systems and MongoDB
 
Joomla For Entrepreneurs
Joomla For EntrepreneursJoomla For Entrepreneurs
Joomla For Entrepreneurs
 
Thin Server Architecture
Thin Server ArchitectureThin Server Architecture
Thin Server Architecture
 

Último

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
giselly40
 

Último (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Gridfs and MongoDB

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n