NoSQL - Motivation and Overview

2,712 views

Published on

Introduction to NoSQL, Redis and CouchDB presented by Jonathan Weiss at BarCampRuhr4

Published in: Technology, Business
  • Be the first to comment

NoSQL - Motivation and Overview

  1. 1. N✮SQLData-Storage jenseits von SQLJonathan WeissPeritor GmbH
  2. 2. Wer?Ruby-EntwicklerOpen-Source-Contributor (http://github.com/jweiss)@jweiss 2
  3. 3. N✮SQL-Datenbanken?Built for the WebSkalierbarPerformantFlexibles Datenschema 3
  4. 4. Riak BigTable Lotus Notes Amazon S3 Memcached Redis Cassandra MongoDB Dynamo Dynomite CouchDBAmazon SimpleDB Excel ;) Tokyo Tyrant Neo4j Project Voldemort HBase 4
  5. 5. Der Status-QuoRelationale DatenstrukturenSQLTransaktionssicherheitLocking 5
  6. 6. Das Problem 6
  7. 7. Das Problem 7
  8. 8. Die Lösung ”Simplicity is prerequisite for reliability“ — Edsger W. Dijkstra 8
  9. 9. Die Lösung key => “value” 9
  10. 10. Dokumente 10
  11. 11. Integrität 11
  12. 12. Eventual Consistency 12
  13. 13. Append-Only 13
  14. 14. Append-Only Update 14
  15. 15. Append-Only Update 15
  16. 16. Skalierbarkeit 16
  17. 17. Tools 17
  18. 18. Tools Riak BigTable Lotus Notes Amazon S3 Memcached Redis Cassandra MongoDB Dynamo Dynomite CouchDBAmazon SimpleDB Excel ;) Tokyo Tyrant Neo4j Project Voldemort HBase 18
  19. 19. Tools Riak BigTable Lotus Notes Amazon S3 Memcached Redis Cassandra MongoDB Dynamo Dynomite CouchDBAmazon SimpleDB Excel ;) Tokyo Tyrant Neo4j Project Voldemort HBase 19
  20. 20. RedisSimpler Key-Value-StoreSpeichert Strings, Listen und SetsPersistenz über Snapshots oder Append-Logs 20
  21. 21. Redis 21
  22. 22. Redisset foo 4 Request1000+OK Response 22
  23. 23. ScalingMaster-Slave mittels SnapshotsMultiple Master mittels Hash Ring 23
  24. 24. Einsatz-SzenarienPersistenter CacheSession-StoreRealtime-Data: Monitoring, Trading, ...Simple Message QueueShared State 24
  25. 25. CouchDB relax 25
  26. 26. CouchDBDokument-orientiert 26
  27. 27. ”CouchDB is built of the Web“— Jacob Kaplan-Moss 27
  28. 28. CouchDB Document {    "_id":  "BCCD12CBB",    "_rev":  "1-­‐AB764C",    "type":  "person",    "name":  "Darth  Vader",    "age":  63,    "headware":  ["Helmet",  "Sombrero"],    "dark_side":  true } 28
  29. 29. CouchDB Document {    "_id":  "BCCD12CBB",    "_rev":  "1-­‐AB764C",    "type":  "person",    "name":  "Darth  Vader",    "age":  63,    "headware":  ["Helmet",  "Sombrero"],    "dark_side":  true } 29
  30. 30. CouchDB Document {    "_id":  "BCCD12CBB",    "_rev":  "1-­‐AB764C",    "type":  "person",    "name":  "Darth  Vader",    "age":  63,    "headware":  ["Helmet",  "Sombrero"],    "dark_side":  true } 30
  31. 31. CouchDB - CRUDErstellen/Aktualisieren:PUT /starwars/BCCD12CBBLesen:GET /starwars/BCCD12CBBLöschen:DELETE /starwars/BCCD12CBB 31
  32. 32. CouchDBWie komme ich an meine Daten? 32
  33. 33. CouchDB Views! 33
  34. 34. CouchDB function(doc)  {    if  (doc.headware)  {        for  (var  hat  in  doc.headware)  {            emit(hat,  1);        }    } } 34
  35. 35. CouchDB function(keys,  values,  rereduce)  {    return  sum(values); } 35
  36. 36. LibrariesSimplyStored: Ruby wrapper Models Associations Callbacks Validations Dynamic finder S3 attachments Paranoid deletehttp://github.com/peritor/simply_stored 36
  37. 37. Libraries 37
  38. 38. B-Tree 38
  39. 39. Crash-Proof 39
  40. 40. Offline by default 40
  41. 41. Replication 41
  42. 42. CouchDBPOST /_replication 42
  43. 43. Und?Daten sind wieder König 43
  44. 44. Aber!Kein goldener Hammer 44
  45. 45. 45
  46. 46. 46
  47. 47. Peritor Cloud-Management und -Deployment made easy http://scalarium.com 47
  48. 48. Peritor GmbHBlücherstr. 22, Hof III Aufgang 610961 BerlinTel.: +49 (0)30 69 20 09 84 0Fax: +49 (0)30 69 20 09 84 9Internet: www.peritor.comE-Mail: info@peritor.com© Peritor GmbH - Alle Rechte Vorbehalten

×