N✮SQLData-Storage jenseits von SQLJonathan WeissPeritor GmbH
Wer?Ruby-EntwicklerOpen-Source-Contributor (http://github.com/jweiss)@jweiss                                              ...
N✮SQL-Datenbanken?Built for the WebSkalierbarPerformantFlexibles Datenschema                        3
Riak           BigTable     Lotus Notes             Amazon S3                               Memcached         Redis       ...
Der Status-QuoRelationale DatenstrukturenSQLTransaktionssicherheitLocking                              5
Das Problem              6
Das Problem              7
Die Lösung   ”Simplicity is prerequisite for   reliability“   — Edsger W. Dijkstra                                     8
Die Lösung             key => “value”                              9
Dokumente            10
Integrität             11
Eventual Consistency                       12
Append-Only              13
Append-Only              Update                       14
Append-Only              Update                       15
Skalierbarkeit                 16
Tools        17
Tools             Riak          BigTable     Lotus Notes             Amazon S3                               Memcached    ...
Tools             Riak          BigTable     Lotus Notes             Amazon S3                               Memcached    ...
RedisSimpler Key-Value-StoreSpeichert Strings, Listen und SetsPersistenz über Snapshots oder Append-Logs                  ...
Redis        21
Redisset foo 4            Request1000+OK         Response                       22
ScalingMaster-Slave mittels SnapshotsMultiple Master mittels Hash Ring                     23
Einsatz-SzenarienPersistenter CacheSession-StoreRealtime-Data: Monitoring, Trading, ...Simple Message QueueShared State   ...
CouchDB     relax             25
CouchDBDokument-orientiert                      26
”CouchDB is built of the Web“— Jacob Kaplan-Moss                                27
CouchDB Document {     "_id":  "BCCD12CBB",     "_rev":  "1-­‐AB764C",     "type":  "person",     "name":  "Darth  Vader",...
CouchDB Document {     "_id":  "BCCD12CBB",     "_rev":  "1-­‐AB764C",     "type":  "person",     "name":  "Darth  Vader",...
CouchDB Document {     "_id":  "BCCD12CBB",     "_rev":  "1-­‐AB764C",     "type":  "person",     "name":  "Darth  Vader",...
CouchDB - CRUDErstellen/Aktualisieren:PUT /starwars/BCCD12CBBLesen:GET /starwars/BCCD12CBBLöschen:DELETE /starwars/BCCD12C...
CouchDBWie komme ich an meine Daten?                                32
CouchDB          Views!                   33
CouchDB function(doc)  {     if  (doc.headware)  {         for  (var  hat  in  doc.headware)  {             emit(hat,  1);...
CouchDB  function(keys,  values,  rereduce)  {      return  sum(values);  }                                          35
LibrariesSimplyStored: Ruby wrapper         Models                                   Associations                         ...
Libraries            37
B-Tree         38
Crash-Proof              39
Offline by default                    40
Replication              41
CouchDBPOST /_replication                     42
Und?Daten sind wieder König                          43
Aber!Kein goldener Hammer                       44
45
46
Peritor  Cloud-Management und -Deployment made easy              http://scalarium.com                                     ...
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...
Upcoming SlideShare
Loading in …5
×

NoSQL - Motivation and Overview

2,380 views
2,270 views

Published on

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

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,380
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
29
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

×