applications MongoDB 1 Monday, 9 May 2011 Mongo is a NoSQL database - document database Who is using MongoDB a project now? Fourqusare is using it - so (if you’re a hipster) you’re using it now Our app is written in Ruby on Rails Examples as based on our experience with MongoDB - Your milage may vary
new and interesting so I’m excited about it… 4 Monday, 9 May 2011 Others feel a bit too new - unfamiliar Felt it would take too long to get up to speed Or I would need to study database theory for months
new and interesting so I’m excited about it… as well as features that I’m familiar with so it’s not too different 4 Monday, 9 May 2011 Others feel a bit too new - unfamiliar Felt it would take too long to get up to speed Or I would need to study database theory for months
first 5 Monday, 9 May 2011 A lot is to be said for getting up to speed quickly, and enjoying it on the way After all this is what made Rails popular at first
some people first 5 Monday, 9 May 2011 A lot is to be said for getting up to speed quickly, and enjoying it on the way After all this is what made Rails popular at first
to convince some people first 5 Monday, 9 May 2011 A lot is to be said for getting up to speed quickly, and enjoying it on the way After all this is what made Rails popular at first
lot of it ★ Language support is good 6 Monday, 9 May 2011 Other NoSQL have poor documentation - or tool support is minimal OK once you’re experienced - but make the learning curve steeper
structure which matches the logic the application Application code is simpler easier to read 8 Monday, 9 May 2011 No join tables - for tagging objects Simpler code = more reliable
May 2011 This is what the RDBMS schema would have looked look Complicated - Confusing (the new guy isn’t going to understand)- Slow lots of code == lots of bugs
like this… 9 Monday, 9 May 2011 This is what the RDBMS schema would have looked look Complicated - Confusing (the new guy isn’t going to understand)- Slow lots of code == lots of bugs
table Join table Join table Join table Our schema may have looked like this… 9 Monday, 9 May 2011 This is what the RDBMS schema would have looked look Complicated - Confusing (the new guy isn’t going to understand)- Slow lots of code == lots of bugs
table Join table Join table Join table Our schema may have looked like this… 9 Monday, 9 May 2011 This is what the RDBMS schema would have looked look Complicated - Confusing (the new guy isn’t going to understand)- Slow lots of code == lots of bugs
still treat schema changes with caution/respect 12 Monday, 9 May 2011 Legacy documents may not have attributes that your code expects This bit us - fortunately is was early in the project
some caution Harder to test in isolation 13 Monday, 9 May 2011 We like to write tests to exercise our code Callbacks - before/after validation after delete
some caution Harder to test in isolation Model callbacks may not work as you’d expect 13 Monday, 9 May 2011 We like to write tests to exercise our code Callbacks - before/after validation after delete
some caution Harder to test in isolation Model callbacks may not work as you’d expect Limit the number of embedded docs 13 Monday, 9 May 2011 We like to write tests to exercise our code Callbacks - before/after validation after delete