rd mongo-meetup-2013-05-21
TRANSCRIPT
![Page 1: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/1.jpg)
Meteor & Mongo, a Case StudyPresented by: David Wihl
![Page 2: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/2.jpg)
What is Meteor?
• a 14 month old very ambitious JavaScript framework
• Include client and server side• Uses Mongo as default / only persistence
![Page 3: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/3.jpg)
Meteor Highlights
• Reactivity• Super easy data sync• Client and server consistency• Hot Code Pushes• Smart packages / NPM happiness
![Page 4: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/4.jpg)
Gander
• Next-gen mobile email triage client• Hoped to use HTML5 to be multiplatform
Ref: http://www.emailmonday.com/mobile-email-usage-statistics
![Page 5: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/5.jpg)
Gander Demo
![Page 6: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/6.jpg)
Our Experience with Meteor
• Started as UX prototype only in Sept• After security added in Oct, added real users• By no means experts at Mongo• Pushing platform pretty hard
![Page 7: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/7.jpg)
Gander Architecture
![Page 8: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/8.jpg)
We Mongo
• Centerpiece of our app• Myriad of hosting and on prem options
– Currently using MongoHQ + EC2
• Changed schema numerous times• Good for semi-structured data like email
![Page 9: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/9.jpg)
Goodness of Meteor
• Easy to prototype• Symmetric on client and server (minimongo)• Nice pub/sub model, DDP• Great bunch of guys, moving quickly• Easy deploy, wrapped Mongo• All open source
![Page 10: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/10.jpg)
Not so Goodness
• Work in progress: 0.6.3 < 1.0• Performance
– cf. findOne
• Missing Mongo features, e.g Replica set
![Page 11: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/11.jpg)
Here Be Dragons…
• Doesn’t use Mongo security model• Uses Fibers to wrap async node calls
– Can still access Mongo directly
• Young MVC Design Patterns• Need to host Mongo elsewhere than
meteor.com for direct access
![Page 12: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/12.jpg)
Aggregation Example
![Page 13: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/13.jpg)
Meteor Corp Biz Model
• Eventually enter the hosting biz via Galaxy• How will that relate to Mongo’s advanced
options and current hosting choices?• What about on-prem?
![Page 14: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/14.jpg)
Learn More
• www.meteor.com• http://www.discovermeteor.com/• http://www.ripariandata.com/blog/meteor-resources
• SO, Google Groups (meteor-core, meteor-talk), Google+
![Page 15: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/15.jpg)
Questions for the Audience
• Should we store attachments in S3 or GridFS?• What gotchas exist in a REST front end to
Mongo? Node.js or Rails?• Anyone used Mongo 2.4 full text search yet?
![Page 16: Rd mongo-meetup-2013-05-21](https://reader030.vdocuments.site/reader030/viewer/2022032503/55bde3c2bb61ebe3558b4676/html5/thumbnails/16.jpg)
Conclusions
• In our opinion, Meteor is the best JS framework out there
• Symmetric data is super useful• It’s a work-in-progress with great potential• Worth trying some prototype apps