Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Why NoSQL Makes Senseand when to use something else?<br />Dwight Merriman / 10gen / MongoDB<br />
The Scaling ImperativeIt already was needed but now...<br />
cloud<br />commodity<br />http://www.globalnerdy.com/2007/09/07/multicore-musings/<br />
NoSQL = <br />Non-relational next generation operation data stores and databases<br />no joins +<br />light transactional ...
Scaling Out<br />distribution & query models<br />Consistent hashing<br />Order preserving range<br />   chunking<br />Sca...
Data models<br />no joins +<br />light transactional semantics = <br />    horizontally scalable architectures<br />Import...
{ <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />a...
{ <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />a...
{ <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />a...
{ <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />a...
{ <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />a...
{ <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />a...
the db space 2000 - 2010<br />+ great for complex transactions<br />+ great for tabular data<br />+ ad hoc queries easy<br...
the db space 2000 - 2010<br />+ great for complex transactions<br />+ great for tabular data<br />+ ad hoc queries easy<br...
the db space 2000 - 2010<br />+ great for complex transactions<br />+ great for tabular data<br />+ ad hoc queries easy<br...
the db space<br />+ fits OO programming well<br />+ agile<br />+ speed/scale<br />- querying a little less add hoc<br />- ...
Thanks<br />Dwight Merriman<br />CEO 10gen<br />http://blog.mongodb.org/<br />@mongodb<br />me - @dmerr<br />jobs@10gen.co...
Upcoming SlideShare
Loading in …5
×

Why NoSQL Makes Sense

1,071 views

Published on

Dwight Merriman's keynote at

Published in: Technology
  • Be the first to comment

Why NoSQL Makes Sense

  1. 1. Why NoSQL Makes Senseand when to use something else?<br />Dwight Merriman / 10gen / MongoDB<br />
  2. 2. The Scaling ImperativeIt already was needed but now...<br />
  3. 3. cloud<br />commodity<br />http://www.globalnerdy.com/2007/09/07/multicore-musings/<br />
  4. 4. NoSQL = <br />Non-relational next generation operation data stores and databases<br />no joins +<br />light transactional semantics = <br /> horizontally scalable architectures<br />
  5. 5. Scaling Out<br />distribution & query models<br />Consistent hashing<br />Order preserving range<br /> chunking<br />Scatter gather<br />
  6. 6. Data models<br />no joins +<br />light transactional semantics = <br /> horizontally scalable architectures<br />Important side effect : <br /> new data models = <br /> improved ways to develop apps<br /> (“Agility”)<br />
  7. 7.
  8. 8. { <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />author : “joe”,<br />text : “blah”<br />}<br />
  9. 9. { <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />author : “joe”,<br />text : “blah”,<br />tags : [“business”, “news”, “north america”]<br />}<br />> db.posts.find( { tags : “news” } )<br />
  10. 10. { <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />author : “joe”,<br />text : “blah”,<br />tags : [“business”, “news”, “north america”],<br />votes : 3,<br />voters : [“dmerr”, “sj”, “jane” ]<br />}<br />
  11. 11. { <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />author : “joe”,<br />text : “blah”,<br />tags : [“business”, “news”, “north america”],<br />votes : 3,<br />voters : [“dmerr”, “sj”, “jane” ],<br />comments : [<br />{ by : “tim157”, text : “great story” },<br />{ by : “gora”, text : “i don’t think so” },<br />{ by : “dmerr”, text : “also check out...” }<br />]<br />}<br />
  12. 12. { <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />author : “joe”,<br />text : “blah”,<br />tags : [“business”, “news”, “north america”],<br />votes : 3,<br />voters : [“dmerr”, “sj”, “jane” ],<br />comments : [<br />{ by : “tim157”, text : “great story” },<br />{ by : “gora”, text : “i don’t think so” },<br />{ by : “dmerr”, text : “also check out...” }<br />]<br />}<br />> db.posts.find({title:”Too Big to Fail”})<br />`<br />
  13. 13. { <br />_id : ObjectId("4e2e3f92268cdda473b628f6"),<br />title : “Too Big to Fail”,<br />when : Date(“2011-07-26”),<br />author : “joe”,<br />text : “blah”,<br />tags : [“business”, “news”, “north america”],<br />votes : 3,<br />voters : [“dmerr”, “sj”, “jane” ],<br />comments : [<br />{ by : “tim157”, text : “great story” },<br />{ by : “gora”, text : “i don’t think so” },<br />{ by : “dmerr”, text : “also check out...” }<br />]<br />}<br />> db.posts.find( { “comments.by” : “gora” } )<br />> db.posts.ensureIndex( { “comments.by” : 1 } )<br />
  14. 14. the db space 2000 - 2010<br />+ great for complex transactions<br />+ great for tabular data<br />+ ad hoc queries easy<br />- O<->R mapping hard<br />- speed/scale challenges<br />- not super agile<br />+ ad hoc queries easy<br />+ SQL gives us a standard protocol for the interface between clients and servers<br />+ scales horizontally better than operational dbs. some scale limits at massive scale<br />- schemas are rigid<br />- real time is hard; very good at bulk nightly data loads<br />
  15. 15. the db space 2000 - 2010<br />+ great for complex transactions<br />+ great for tabular data<br />+ ad hoc queries easy<br />- O<->R mapping hard<br />- speed/scale challenges<br />- not super agile<br />+ ad hoc queries easy<br />+ SQL gives us a standard protocol for the interface between clients and servers<br />+ scales horizontally better than operational dbs. some scale limits at massive scale<br />- schemas are rigid<br />- real time is hard; very good at bulk nightly data loads<br />
  16. 16. the db space 2000 - 2010<br />+ great for complex transactions<br />+ great for tabular data<br />+ ad hoc queries easy<br />- O<->R mapping hard<br />- speed/scale challenges<br />- not super agile<br />+ ad hoc queries easy<br />+ SQL gives us a standard protocol for the interface between clients and servers<br />+ scales horizontally better than operational dbs. some scale limits at massive scale<br />- schemas are rigid<br />- real time is hard; very good at bulk nightly data loads<br />
  17. 17. the db space<br />+ fits OO programming well<br />+ agile<br />+ speed/scale<br />- querying a little less add hoc<br />- not super transactional<br />- not sql<br />
  18. 18. Thanks<br />Dwight Merriman<br />CEO 10gen<br />http://blog.mongodb.org/<br />@mongodb<br />me - @dmerr<br />jobs@10gen.com<br />www.mongodb.org<br />www.mongodb.org/display/DOCS/Events<br />

×