NoSQL in Perspective

811
-1

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
811
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

NoSQL in Perspective

  1. 1. NoSQL in Perspective Jeff Smith jeffreyksmithjr@gmail.com
  2. 2. NoSQL on Wikipedia92 databases8 types6 sub-types
  3. 3. Easy QuestionsIs this a graph?Do I already have XML or JSON?Is this a caching problem?
  4. 4. Paul Grahamon Programming Languages Lisp C
  5. 5. Math ProblemLisp is just math.Math doesnt get stale.What in databases is just math?
  6. 6. Putting the R in RDBMSes Relation Attributes Tuples
  7. 7. Database AnalogyC is to LispasRelational Algebra is to Relational CalculusC: Lisp::Relational Algebra: Relational Calculus
  8. 8. Relational Algebra in ActionRelational Algebra:R ⋉S = { t : t R, s S, Fun (t s) }SQL:SELECT * FROM audience WHERE clue > 0;
  9. 9. Relational Calculus in Action?Relational Calculus:{ t : {name} | ∃ s : {name, wage} ( Employee(s) ∧ s.wage = 50.000 ∧ t.name = s.name ) }Relevant Implemented Language:This space under construction.
  10. 10. Relational Model UtilityEssentially, all models are wrong, but some are useful.- George E. P. Box
  11. 11. When relations are wrongSparse dataIrregular dataPoorly understood interrelationshipsNo definable indexesBig dataNo vertically scalable hardware
  12. 12. Papers Read Around the WorldGoogles BigTable: http://research.google.com/archive/ bigtable.htmlAmazons Dynamo: http://www.allthingsdistributed.com/ 2007/10/amazons_dynamo.html
  13. 13. Lessons from Functional ProgrammingMapReduce: http://research.google.com/archive/ mapreduce.html
  14. 14. MapReducemap(String key, String value):// key: document name// value: document contentsfor each word w in value: EmitIntermediate(w, "1");reduce(String key, Iterator values):// key: a word// values: a list of countsint result = 0;for each v in values: result += ParseInt(v);Emit(AsString(result)); [1]
  15. 15. CAP TheoremConsistencyAvailabilityPartition tolerance
  16. 16. CAP Theorem? Availability Consistency Partition Tolerance
  17. 17. Sacrifice Availability Consistency Partition Tolerance
  18. 18. Then, sacrifice what? Availability Availability Consistency Partition Tolerance
  19. 19. PACELCIn the event of a Partition, does the system prioritize Availability or ConsistencyElse does the system prioritize Latency or Consistency?
  20. 20. PACELC as a Tree Partition ElseAvailability Consistency Latency Consistency
  21. 21. Traditional RDBMSes: PC/EC Partition Else Consistency Consistency
  22. 22. Eventually Consistent: PA/EL Partition ElseAvailability Latency
  23. 23. ELC: Replication Options1. Update all nodes2. Update the master node first3. Update an arbitrary node first
  24. 24. Best of both worlds? SQL
  25. 25. HadoopDB
  26. 26. MySQL Cluster
  27. 27. Riak DemoN: persisted copiesR: read copiesW: write copiesStrong Consistency: R+W>N
  28. 28. Thanks Jeff Smith jeffreyksmithjr@gmail.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×