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.

NOSQL Session GlueCon May 2010

4,974 views

Published on

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

Published in: Technology
  • Be the first to comment

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 />

×