NOSQL Session GlueCon May 2010

4,783 views
4,694 views

Published on

Overview of NoSQL at GlueCon. Talk given by Dwight from 10gen/MongoDB.

Published in: Technology
0 Comments
24 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,783
On SlideShare
0
From Embeds
0
Number of Embeds
357
Actions
Shares
0
Downloads
68
Comments
0
Likes
24
Embeds 0
No embeds

No notes for slide

NOSQL Session GlueCon May 2010

  1. 1. NoSQL : Channeling the Data Explosion<br />Dwight MerrimanCEO, 10gen<br />@dmerr dmerr.tumblr.com<br />GlueCon 2010<br />
  2. 2. The database world is changingNo longer one-size-fits-all<br />
  3. 3. NoSQL = <br />Non-relational next generation operation data stores and databases<br />
  4. 4. Scaling Out<br />no joins +<br />light transactional semantics = <br /> horizontally scalable architectures<br />
  5. 5. Why?<br />cloud<br />commodity<br />http://www.globalnerdy.com/2007/09/07/multicore-musings/<br />
  6. 6. How the NoSQL Products Vary<br />What’s the same<br />No joins<br />No complex transactions<br />What varies<br />Scale-out model<br />Consistency model<br />Data model<br />
  7. 7. Scaling Out<br />distribution & query models<br />Consistent hashing<br />Order preserving range<br /> chunking<br />Scatter gather<br />
  8. 8. 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 />
  9. 9. Data Models<br />Key/value<br />Column-oriented “bigtable-style”<br />Document-oriented (JSON)<br />
  10. 10. Data Models<br />{ title: ‘Too Big to Fail’,<br /> author: ‘John S’,<br />ts: Date(“05-Nov-09 10:33”),<br /> comments: [ { author: 'Ian White', <br /> comment: 'Great article!' },<br /> { author: 'Joe Smith', <br /> comment: 'But how fast is it?',<br /> replies: [ {author: 'Jane Smith',<br /> comment: 'scalable?'} ]<br /> }<br /> ]<br /> ],<br /> tags: [‘finance’, ‘economy’]<br />}<br />
  11. 11. { title: ‘Too Big to Fail’,<br /> author: ‘John S’,<br />ts: Date(“05-Nov-09 10:33”),<br /> comments: [ { author: 'Ian White', <br /> comment: 'Great article!' },<br /> { author: 'Joe Smith', <br /> comment: 'But how fast is it?',<br /> replies: [ {author: 'Jane Smith',<br /> comment: 'scalable?'} ]<br /> }<br /> ]<br /> ],<br /> tags: [‘finance’, ‘economy’]<br />}<br />db.posts.find( { tags : ‘economy’ } )<br /> .sort({ts:-1}).limit(10).skip(10)<br />db.posts.find( { “comments.author” : “Ian White” } )<br />
  12. 12. Influences<br />
  13. 13. CAP<br /> It is impossible in the asynchronous network model to implement a read/write data object that guarantees the following properties:• Availability• Atomic consistency in all fair executions (including those in which messages are lost).<br />
  14. 14. Consistency Models - CAP<br />Choices are AP or CP<br />Write Availability, not Read Availability, is the Main Question<br />It’s not all about CAP<br />Eventual consistency makes these non-availability aspects better:<br />Multi data center<br />Speed<br />Even load distribution<br />
  15. 15. Eventual Consistency<br />
  16. 16. Eventual Consistency<br />Read(x) : 1, 2, 2, 4, 4, 4, 4 …<br />
  17. 17. Could we get this?<br />Read(x) : 1, 2, 1, 4, 2, 4, 4, 4 …<br />
  18. 18. Terms<br />R<br />W<br />N<br />R+W>N has nice properties<br />Sloppy quorum<br />
  19. 19. R+W>N<br />If R+W > N, we can’t have both fast local reads and writes at the same time if all the data centers are equal peers?<br />
  20. 20. Network Partitions<br />
  21. 21. Trivial Network Partitions<br />
  22. 22.
  23. 23. Sometimes we need global state / more consistency<br />Unique key constraints<br />User registration<br />ACL changes<br />Are we surprising the user?<br />read-your-own-writes<br />
  24. 24. Could it be the case that…<br />uptime( CP + average developer ) <br /> >= <br />uptime( AP + average developer )<br />where uptime:= system is up and non-buggy?<br />
  25. 25. Predictions<br />JSON will be the most popular building block for non-relational data models<br />Tunable consistency in all the products<br />Some SQL in these products!<br />
  26. 26. Questions?Thank you<br />dwight@10gen.com<br />@dmerr<br />dmerr.tumblr.com<br />@mongodb<br />Download : www.mongodb.org<br />10gen is hiring in SF and NYC – info@10gen.com<br />

×