Successfully reported this slideshow.
Your SlideShare is downloading. ×

Databases and agile development - Dwight Merriman (MongoDB)

Ad

Databases and Agile
Development
Dwight Merriman
MongoDB

Ad

• What is the first thing you think of when you
hear “RDBMS”?
• What is the first thing you think of when you
hear “SQL”?
...

Ad

New data models create an
opportunity to innovate

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Upcoming SlideShare
Data 101 for authors  wd 2013
Data 101 for authors wd 2013
Loading in …3
×

Check these out next

1 of 16 Ad
1 of 16 Ad

Databases and agile development - Dwight Merriman (MongoDB)

Download to read offline

Presented as a keynote at JAX London 2013

Much has been made of scalability as a driver for choosing a database, but the choice of a database influences much more than the scaling architecture. Different database choices drive different data models which in turn influence the development process.

Presented as a keynote at JAX London 2013

Much has been made of scalability as a driver for choosing a database, but the choice of a database influences much more than the scaling architecture. Different database choices drive different data models which in turn influence the development process.

Advertisement
Advertisement

More Related Content

Viewers also liked (17)

More from jaxLondonConference (15)

Advertisement

Databases and agile development - Dwight Merriman (MongoDB)

  1. 1. Databases and Agile Development Dwight Merriman MongoDB
  2. 2. • What is the first thing you think of when you hear “RDBMS”? • What is the first thing you think of when you hear “SQL”? • What is the first thing you think of when you hear “NoSQL”?
  3. 3. New data models create an opportunity to innovate
  4. 4. Dynamic schemas Facilitate agile But there is a schema! It evolves some of course
  5. 5. { _id : “too_big_to_fail”, title : “Too Big to Fail”, author : “joe123”, when : “2008-12-03”, body_text : “…”, }
  6. 6. { _id : “too_big_to_fail”, title : “Too Big to Fail”, author : “joe123”, when : “2008-12-03”, body_text : “…”, comments : [ { who:”jane”, comment:”I don’t think so…”, when:”2008-12-04” }, … ] }
  7. 7. { _id : “too_big_to_fail”, title : “Too Big to Fail”, author : “joe123”, when : “2008-12-03”, body_text : “…”, comments : [ { who:”jane”, comment:”I don’t think so…”, when:”2008-12-04” }, … ] } db.posts.find( { “who”:”jane” } )
  8. 8. { _id : “too_big_to_fail”, title : “Too Big to Fail”, author : “joe123”, when : “2008-12-03”, body_text : “…”, comments : [ { who:”jane”, comment:”I don’t think so…”, when:”2008-12-04” }, … ], votes : 3, voters : [‘joe123’,’kblm’,’dwight’] }
  9. 9. { _id : “too_big_to_fail”, title : “Too Big to Fail”, author : “joe123”, when : “2008-12-03”, body_text : “…”, comments : [ { who:”jane”, comment:”I don’t think so…”, when:”2008-12-04” }, … ], votes : 3, voters : [‘joe123’,’kblm’,’dwight’] } db.posts.update( {_id:“too_big_to_fail” , voters:{$ne:”jjelm”}}, {$inc:{votes:1}, $push:{voters:”jjelm”} } )
  10. 10. Static vs Dynamic int x = “abc”; // java var x = “abc”; // javascript
  11. 11. Static vs Dynamic int x = “abc”; // java var x = “abc”; // javascript UPDATE items SET x = “abc”
  12. 12. SOA & Agile B A C { x : 3, desc : “thing” } D
  13. 13. SOA & Agile B A C { x : 3, desc : “thing”, loc : [20.3, 24.732] } D
  14. 14. Further thoughts on writing apps today Store first, ask questions later “speculative storage”
  15. 15. Further thoughts on writing apps today Default to real-time
  16. 16. Thanks

×