2011 05-12 nosql-fritidsresor

  • 853 views
Uploaded on

Brown bag lunch presentation given at TUI / Fritidsresor in Stockholm on approaching and evaluating the NoSQL field.

Brown bag lunch presentation given at TUI / Fritidsresor in Stockholm on approaching and evaluating the NoSQL field.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
853
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

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
  • \n
  • \n
  • NoSQL tends crammed with religious zealots\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • (No)SQL for me is very much about trade offs\n
  • Don’t underestimate the exercise of making your data “fit” a certain nosql product\n
  • Client libraries?\nDoes it require driver libraries?\n
  • What access patterns do you have today? Tomorrow?\nWhat kind of reports will customers or management require?\n
  • For us at Hitta.se this is important since almost everything we do is HTTP based\n
  • What kinds of availability?\nHow does it handle node failures? Network partitions?\n
  • How and with what?\n
  • Out-of-the-box vs. vertical vs. horizontal?\n
  • What’s required to add additional nodes?\nHow do you remove a node temporarily or permanently?\n
  • And how is the community?\n
  • \n
  • Proper install packages?\nSane defaults in terms of service accounts and privileges?\n
  • Don’t underestimate this\n
  • Is your data really durable on disk -- assuming that’s what you need\n
  • \n
  • \n

Transcript

  • 1. NoSQL Mårten GustafsonBrown bag lunch @ TUI / Fritidsresor Stockholm 2011-08-31
  • 2. Not Only SQL
  • 3. Disclaimer I don’t know any and all products by heart I’m trying to illustrate my broad reasoning
  • 4. “NoSQL is a movement promoting a looselydefined class of non-relational data storesthat break with a long history of relationaldatabases” - Wikipedia
  • 5. “NoSQL is a movement promoting a looselydefined class of non-relational data storesthat break with a long history of relationaldatabases” - Wikipedia• Not one single technique
  • 6. “NoSQL is a movement promoting a looselydefined class of non-relational data storesthat break with a long history of relationaldatabases” - Wikipedia• Not one single technique• Not one type of data
  • 7. “NoSQL is a movement promoting a looselydefined class of non-relational data storesthat break with a long history of relationaldatabases” - Wikipedia• Not one single technique• Not one type of data• Not one type of use case
  • 8. “NoSQL is a movement promoting a looselydefined class of non-relational data storesthat break with a long history of relationaldatabases” - Wikipedia• Not one single technique• Not one type of data• Not one type of use case
  • 9. Example reasoning“...so our RDBMS is a SPoF that won’t scale”
  • 10. Example reasoning“...so our RDBMS is a SPoF that won’t scale” move to? Multi-master
  • 11. Example reasoning“...so our RDBMS is a SPoF that won’t scale” move to? Multi-master sacrifices? Atomicity
  • 12. Example reasoning“...so our RDBMS is a SPoF that won’t scale” move to? Multi-master sacrifices? gives? Atomicity Distribution / replication
  • 13. Example reasoning“...so our RDBMS is a SPoF that won’t scale” requires? move to?De-normalization Multi-master sacrifices? gives? Atomicity Distribution / replication
  • 14. Example reasoning“...so our RDBMS is a SPoF that won’t scale” requires? move to?De-normalization Multi-master dissolves? sacrifices? gives? Integrity Atomicity Distribution / replication
  • 15. Example reasoning“...so our RDBMS is a SPoF that won’t scale” requires? move to?De-normalization Multi-master dissolves? sacrifices? gives? IntegrityQuerying toughens? Atomicity Distribution / replication
  • 16. There is no free lunch.
  • 17. Key aspects
  • 18. Key aspects• Type of data
  • 19. Key aspects• Type of data • Graph
  • 20. Key aspects• Type of data • Graph • Documents & key/value-pairs
  • 21. Key aspects• Type of data • Graph • Documents & key/value-pairs• Operational aspect
  • 22. Key aspects• Type of data • Graph • Documents & key/value-pairs• Operational aspect • Resilient
  • 23. Key aspects• Type of data • Graph • Documents & key/value-pairs• Operational aspect • Resilient • Atomic
  • 24. Example Atomic Resilient Neo4J Graph ? InfiniteGraph CouchDB Riak Document & RavenDB Voldemortkey/value-paris Redis Cassandra
  • 25. Sample cases
  • 26. Case A: Data from user• Data set... • ...mix of binary & JSON (access by known key) • ...replicated to all nodes on best effort • ...allows read & write on any node • individual nodes may be unavailable
  • 27. Case A: Data from user Atomic Resilient Neo4J Graph ? InfiniteGraph CouchDB Riak Document & RavenDB Voldemortkey/value-pairs Redis Cassandra
  • 28. Case A: Data from user• Riak due to... • outstanding packaging & community • simple on both server and workstations • serious and dedicated engineering team • Lots of statistics • HTTP API • Everything’s tunable (much per request)
  • 29. Case B: configuration• Data set... • ...is JSON(access by alternating keys) • ...on all nodes • ...seldom updated (read only) • ...consistent and replicated on demand
  • 30. Case B: configuration Atomic Resilient Neo4J Graph ? InfiniteGraph CouchDB Riak Document & RavenDB Voldemortkey/value-pairs Redis Cassandra
  • 31. Case B: configuration• CouchDB due to... • simple on both server and workstations • HTTP API • Views for alternating keys • Lots of statistics • Dead simple “one-click” push replication
  • 32. priorities & trade-offs
  • 33. does it fit with current data structures?
  • 34. ease of adoption?
  • 35. search and reporting?
  • 36. does it speak HTTP?
  • 37. availability and redundancy?
  • 38. can you monitor it?
  • 39. performance?
  • 40. ease of scaling in and out?
  • 41. commercial support available?
  • 42. does it run on your preferred OS?
  • 43. is it properly packaged?
  • 44. do you understand it?
  • 45. is your data safe?
  • 46. there is no universal solution
  • 47. Thx.Mårten Gustafson@martengustafsonhttp://marten.gustafson.pp.se/marten.gustafson@gmail.com