Gridfs and MongoDB

17,060 views

Published on

This is my 45 minute session on GridFs from MongoTorino, September 2011.

Published in: Technology, Education
0 Comments
20 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
17,060
On SlideShare
0
From Embeds
0
Number of Embeds
8,313
Actions
Shares
0
Downloads
1
Comments
0
Likes
20
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Gridfs and MongoDB

    1. 1. GridFSMitch PirtleCTO Sounday MusicMongoTorino, 2011-10-01
    2. 2. Who?
    3. 3. Who?Joomla! founder, OSM founder
    4. 4. Who?Joomla! founder, OSM founderNew Yorker, moved to Torino in May 2011
    5. 5. Who?Joomla! founder, OSM founderNew Yorker, moved to Torino in May 2011Skateboard, snowboard, bike, bass, guitar, drums, dad
    6. 6. Who?Joomla! founder, OSM founderNew Yorker, moved to Torino in May 2011Skateboard, snowboard, bike, bass, guitar, drums, dadCTO at Sounday Music
    7. 7. Who?Joomla! founder, OSM founderNew Yorker, moved to Torino in May 2011Skateboard, snowboard, bike, bass, guitar, drums, dadCTO at Sounday MusicContributor to MongoDB, evangelist for Lithium PHPFramework
    8. 8. Who?Joomla! founder, OSM founderNew Yorker, moved to Torino in May 2011Skateboard, snowboard, bike, bass, guitar, drums, dadCTO at Sounday MusicContributor to MongoDB, evangelist for Lithium PHPFrameworkYes, I am learning Italian :-)
    9. 9. About this presentation
    10. 10. How the web began
    11. 11. How the web began
    12. 12. How the web beganGrey pages
    13. 13. How the web beganGrey pagesBlack text
    14. 14. Added some stuff...
    15. 15. Added some stuff...
    16. 16. Added some stuff...Images
    17. 17. Added some stuff...ImagesColored backgrounds
    18. 18. Added some stuff...ImagesColored backgroundsBlinking text
    19. 19. More stuff...
    20. 20. More stuff...
    21. 21. More stuff... Javascript
    22. 22. More stuff... Javascript Flash
    23. 23. More stuff... Javascript Flash Streaming media
    24. 24. More stuff... Javascript Flash Streaming media Social media
    25. 25. Mess!
    26. 26. All the media types PNG MPEG JPG OGG GIF MP3 MOV / QT ...and so on FLA FLV AVI
    27. 27. Where does all this go?
    28. 28. Approach 1: Filesystem
    29. 29. Approach 1: FilesystemStore media locally on hard drive of webserver
    30. 30. Approach 1: FilesystemStore media locally on hard drive of webserverFast access
    31. 31. Approach 1: FilesystemStore media locally on hard drive of webserverFast accessSimple management
    32. 32. Approach 1: FilesystemStore media locally on hard drive of webserverFast accessSimple managementEasy for code
    33. 33. Approach 2: SAN
    34. 34. Approach 2: SANNetwork access to files from N webservers
    35. 35. Approach 2: SANNetwork access to files from N webserversRedundant
    36. 36. Approach 2: SANNetwork access to files from N webserversRedundantScalable
    37. 37. Approach 2: SANNetwork access to files from N webserversRedundantScalableHey, at least it’s not NFS
    38. 38. Approach 3: Database
    39. 39. Approach 3: DatabaseEasy access from application
    40. 40. Approach 3: DatabaseEasy access from applicationAdditional reporting possibilities
    41. 41. Why they all suck
    42. 42. 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?
    43. 43. New approach: GridFS
    44. 44. New approach: GridFSStores media in the database
    45. 45. New approach: GridFSStores media in the databaseAccess to sharding, replication
    46. 46. New approach: GridFSStores media in the databaseAccess to sharding, replicationNetwork access
    47. 47. New approach: GridFSStores media in the databaseAccess to sharding, replicationNetwork accessDocuments == metadata!
    48. 48. GridFS Documentationhttp://www.mongodb.org/display/DOCS/GridFS
    49. 49. It is a standard.
    50. 50. GridFS Specificationhttp://www.mongodb.org/display/DOCS/GridFS+Specification
    51. 51. Why GridFS is better
    52. 52. Why GridFS: AccessAvailable to networkSupport for many programming languagesAccess parts of larger files, or stream entire file
    53. 53. Why GridFS: It’s MongoDBMongoDB sharding == scaleReplica sets == redundancySlaves == reliability and performance
    54. 54. Why GridFS: Metadata
    55. 55. Why GridFS: MetadataSeparately stores metadata from actual file data
    56. 56. Why GridFS: MetadataSeparately stores metadata from actual file dataSchemaless, you can add attributes as you need
    57. 57. Why GridFS: MetadataSeparately stores metadata from actual file dataSchemaless, you can add attributes as you needOpens new possibilities for reporting, access, analytics
    58. 58. Sho me da money!(insert code)
    59. 59. Case study: Totsy
    60. 60. Case study: Sounday
    61. 61. Time for my favorite gameStump the Nerd™
    62. 62. Thanks!Email: mitch.pirtle@gmail.comTwitter: @mitchitizedWeb: http://about.me/mitchitizedSlides: slideshare.net/spacemonkeylabs

    ×