2011 05-12 nosql-fritidsresor
Upcoming SlideShare
Loading in...5
×
 

2011 05-12 nosql-fritidsresor

on

  • 1,033 views

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.

Statistics

Views

Total Views
1,033
Views on SlideShare
798
Embed Views
235

Actions

Likes
0
Downloads
5
Comments
0

1 Embed 235

http://teskm49t7294ckk5lbbi99ck1slm2jju-a-sites-opensocial.googleusercontent.com 235

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \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

2011 05-12 nosql-fritidsresor 2011 05-12 nosql-fritidsresor Presentation Transcript

  • NoSQL Mårten GustafsonBrown bag lunch @ TUI / Fritidsresor Stockholm 2011-08-31
  • Not Only SQL
  • Disclaimer I don’t know any and all products by heart I’m trying to illustrate my broad reasoning
  • “NoSQL is a movement promoting a looselydefined class of non-relational data storesthat break with a long history of relationaldatabases” - Wikipedia
  • “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
  • “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
  • “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
  • “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
  • Example reasoning“...so our RDBMS is a SPoF that won’t scale”
  • Example reasoning“...so our RDBMS is a SPoF that won’t scale” move to? Multi-master
  • Example reasoning“...so our RDBMS is a SPoF that won’t scale” move to? Multi-master sacrifices? Atomicity
  • Example reasoning“...so our RDBMS is a SPoF that won’t scale” move to? Multi-master sacrifices? gives? Atomicity Distribution / replication
  • Example reasoning“...so our RDBMS is a SPoF that won’t scale” requires? move to?De-normalization Multi-master sacrifices? gives? Atomicity Distribution / replication
  • 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
  • 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
  • There is no free lunch.
  • Key aspects
  • Key aspects• Type of data
  • Key aspects• Type of data • Graph
  • Key aspects• Type of data • Graph • Documents & key/value-pairs
  • Key aspects• Type of data • Graph • Documents & key/value-pairs• Operational aspect
  • Key aspects• Type of data • Graph • Documents & key/value-pairs• Operational aspect • Resilient
  • Key aspects• Type of data • Graph • Documents & key/value-pairs• Operational aspect • Resilient • Atomic
  • Example Atomic Resilient Neo4J Graph ? InfiniteGraph CouchDB Riak Document & RavenDB Voldemortkey/value-paris Redis Cassandra
  • Sample cases
  • 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
  • Case A: Data from user Atomic Resilient Neo4J Graph ? InfiniteGraph CouchDB Riak Document & RavenDB Voldemortkey/value-pairs Redis Cassandra
  • 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)
  • Case B: configuration• Data set... • ...is JSON(access by alternating keys) • ...on all nodes • ...seldom updated (read only) • ...consistent and replicated on demand
  • Case B: configuration Atomic Resilient Neo4J Graph ? InfiniteGraph CouchDB Riak Document & RavenDB Voldemortkey/value-pairs Redis Cassandra
  • 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
  • priorities & trade-offs
  • does it fit with current data structures?
  • ease of adoption?
  • search and reporting?
  • does it speak HTTP?
  • availability and redundancy?
  • can you monitor it?
  • performance?
  • ease of scaling in and out?
  • commercial support available?
  • does it run on your preferred OS?
  • is it properly packaged?
  • do you understand it?
  • is your data safe?
  • there is no universal solution
  • Thx.Mårten Gustafson@martengustafsonhttp://marten.gustafson.pp.se/marten.gustafson@gmail.com