Your SlideShare is downloading. ×
0
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Why NoSQL Makes Sense
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Why NoSQL Makes Sense

3,853

Published on

Dwight Merriman's keynote on

Dwight Merriman's keynote on

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

No Downloads
Views
Total Views
3,853
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
24
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Why NoSQL Makes Senseand when to use something else?<br />Dwight Merriman / 10gen / MongoDB<br />
  • 2. The Scaling ImperativeIt already was needed but now...<br />
  • 3. cloud<br />commodity<br />http://www.globalnerdy.com/2007/09/07/multicore-musings/<br />
  • 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. Scaling Out<br />distribution & query models<br />Consistent hashing<br />Order preserving range<br /> chunking<br />Scatter gather<br />
  • 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.
  • 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. { <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. { <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. { <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. { <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. { <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. 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. 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. 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. 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. 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 />

×