N✮SQL
                Data-Storage jenseits von SQL




                Jonathan Weiss, 20.02.2010
                Peritor...
Wer?


     Ruby-Entwickler
     Open-Source-Contributor (http://github.com/jweiss)
     @jweiss




                     ...
N✮SQL-Datenbanken?


     Built for the Web
     Skalierbar
     Performant
     Flexibles Datenschema




               ...
Riak        BigTable
                     Lotus Notes                Amazon S3
                                           ...
Der Status-Quo


     Relationale Datenstrukturen
     SQL
     Transaktionssicherheit
     Locking




                  ...
Das Problem




                              6

Saturday, February 20, 2010
Das Problem




                              7

Saturday, February 20, 2010
Die Lösung



                    ”Simplicity is prerequisite for
                    reliability“
                    — E...
Die Lösung




                              key => “value”



                                               9

Saturday,...
Dokumente




                              10

Saturday, February 20, 2010
Dokumente




                              10

Saturday, February 20, 2010
Dokumente




                              10

Saturday, February 20, 2010
Dokumente




                              10

Saturday, February 20, 2010
Integrität




                              11

Saturday, February 20, 2010
Eventual Consistency




                              12

Saturday, February 20, 2010
Append-Only




                              13

Saturday, February 20, 2010
Append-Only




                              Update




                                       14

Saturday, February 20,...
Append-Only




                              Update




                                       15

Saturday, February 20,...
Skalierbarkeit




                              16

Saturday, February 20, 2010
Tools




                              17

Saturday, February 20, 2010
Tools

                                  Riak        BigTable
                     Lotus Notes                Amazon S3
  ...
Tools

                                  Riak        BigTable
                     Lotus Notes                Amazon S3
  ...
Redis



     Simpler Key-Value-Store
     Speichert Strings, Listen und Sets
     Semi-Persistent




                   ...
Redis




                              21

Saturday, February 20, 2010
Redis

        set foo 4
        1000
        +OK




                              22

Saturday, February 20, 2010
Redis

        set foo 4
                              Request
        1000
        +OK                   Response




   ...
Amazon SimpleDB



     Database as a Service
     Hoch-Skaliert
     Always On
     HTTP-API




                        ...
Amazon SimpleDB




                              24

Saturday, February 20, 2010
Amazon SimpleDB




                              25

Saturday, February 20, 2010
Amazon SimpleDB


                                          Memberships
                                              Item...
Amazon SimpleDB
                                                 Domain

                                          Members...
Amazon SimpleDB


                                          Memberships
                                              Item...
Amazon SimpleDB
                              Item
                                             Memberships
              ...
Amazon SimpleDB


                                          Memberships
                                              Item...
Amazon SimpleDB
                                 Attribute
                                          Memberships
         ...
Amazon SimpleDB
                                 Attribute                            Value
                              ...
Amazon SimpleDB




     Wie komme ich an die Daten?




                                   29

Saturday, February 20, 2010
Amazon SimpleDB




     GetAttributes: ItemName=1




                                 30

Saturday, February 20, 2010
Amazon SimpleDB




     select * from memberships where Name = ‘Paul’




                                               ...
Amazon SimpleDB




                              Simplizität durch Restriktionen




                                    ...
Amazon SimpleDB




     Skalierung mit Eventual Consistency




                                           33

Saturday, ...
CouchDB
                                   relax
                                           34

Saturday, February 20, 2010
CouchDB




     Dokument-orientiert




                              35

Saturday, February 20, 2010
”CouchDB is built of the Web“
                              — Jacob Kaplan-Moss




                                      ...
CouchDB


              {
                  "_id": "BCCD12CBB",
                  "_rev": "1-AB764C",
                  "t...
CouchDB


              {
                  "_id": "BCCD12CBB",
                  "_rev": "1-AB764C",
                  "t...
CouchDB


              {
                  "_id": "BCCD12CBB",
                  "_rev": "1-AB764C",
                  "t...
CouchDB - CRUD
     Erstellen/Aktualisieren:
     PUT /starwars/BCCD12CBB


     Lesen:
     GET /starwars/BCCD12CBB


   ...
CouchDB




     Wie komme ich an meine Daten?




                                     41

Saturday, February 20, 2010
CouchDB




                              Views!


                                       42

Saturday, February 20, 2010
CouchDB


          function(doc) {
            if (doc.headware) {
              for (var hat in doc.headware) {
        ...
CouchDB



                   function(keys, values, rereduce) {
                     return sum(values);
                ...
CouchDB




                              45

Saturday, February 20, 2010
CouchDB




                              46

Saturday, February 20, 2010
CouchDB




                              47

Saturday, February 20, 2010
CouchDB




                              48

Saturday, February 20, 2010
CouchDB




     POST /_replication




                              49

Saturday, February 20, 2010
Und?




     Daten sind wieder König




                               50

Saturday, February 20, 2010
Aber!




     Kein goldener Hammer




                              51

Saturday, February 20, 2010
52

Saturday, February 20, 2010
53

Saturday, February 20, 2010
Peritor




               Cloud-Management und -Deployment made easy
                              http://scalarium.com

...
Peritor GmbH
                Blücherstr. 22, Hof III Aufgang 6
                10961 Berlin
                Tel.: +49 (0)3...
Upcoming SlideShare
Loading in …5
×

No SQL - BarCamp Nürnberg 2010

1,852 views

Published on

Präsentation von Jonathan Weiss (Folien von Mathias Meyer) auf dem BarCamp Nürnberg 2010 zu NoSQL und postrelationalen Datenbanken.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,852
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
22
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

No SQL - BarCamp Nürnberg 2010

  1. 1. N✮SQL Data-Storage jenseits von SQL Jonathan Weiss, 20.02.2010 Peritor GmbH Saturday, February 20, 2010
  2. 2. Wer? Ruby-Entwickler Open-Source-Contributor (http://github.com/jweiss) @jweiss 2 Saturday, February 20, 2010
  3. 3. N✮SQL-Datenbanken? Built for the Web Skalierbar Performant Flexibles Datenschema 3 Saturday, February 20, 2010
  4. 4. Riak BigTable Lotus Notes Amazon S3 Memcached Redis Cassandra MongoDB Dynamo Dynomite CouchDB Amazon SimpleDB Excel ;) Tokyo Tyrant Neo4j Project Voldemort HBase 4 Saturday, February 20, 2010
  5. 5. Der Status-Quo Relationale Datenstrukturen SQL Transaktionssicherheit Locking 5 Saturday, February 20, 2010
  6. 6. Das Problem 6 Saturday, February 20, 2010
  7. 7. Das Problem 7 Saturday, February 20, 2010
  8. 8. Die Lösung ”Simplicity is prerequisite for reliability“ — Edsger W. Dijkstra 8 Saturday, February 20, 2010
  9. 9. Die Lösung key => “value” 9 Saturday, February 20, 2010
  10. 10. Dokumente 10 Saturday, February 20, 2010
  11. 11. Dokumente 10 Saturday, February 20, 2010
  12. 12. Dokumente 10 Saturday, February 20, 2010
  13. 13. Dokumente 10 Saturday, February 20, 2010
  14. 14. Integrität 11 Saturday, February 20, 2010
  15. 15. Eventual Consistency 12 Saturday, February 20, 2010
  16. 16. Append-Only 13 Saturday, February 20, 2010
  17. 17. Append-Only Update 14 Saturday, February 20, 2010
  18. 18. Append-Only Update 15 Saturday, February 20, 2010
  19. 19. Skalierbarkeit 16 Saturday, February 20, 2010
  20. 20. Tools 17 Saturday, February 20, 2010
  21. 21. Tools Riak BigTable Lotus Notes Amazon S3 Memcached Redis Cassandra MongoDB Dynamo Dynomite CouchDB Amazon SimpleDB Excel ;) Tokyo Tyrant Neo4j Project Voldemort HBase 18 Saturday, February 20, 2010
  22. 22. Tools Riak BigTable Lotus Notes Amazon S3 Memcached Redis Cassandra MongoDB Dynamo Dynomite CouchDB Amazon SimpleDB Excel ;) Tokyo Tyrant Neo4j Project Voldemort HBase 19 Saturday, February 20, 2010
  23. 23. Redis Simpler Key-Value-Store Speichert Strings, Listen und Sets Semi-Persistent 20 Saturday, February 20, 2010
  24. 24. Redis 21 Saturday, February 20, 2010
  25. 25. Redis set foo 4 1000 +OK 22 Saturday, February 20, 2010
  26. 26. Redis set foo 4 Request 1000 +OK Response 22 Saturday, February 20, 2010
  27. 27. Amazon SimpleDB Database as a Service Hoch-Skaliert Always On HTTP-API 23 Saturday, February 20, 2010
  28. 28. Amazon SimpleDB 24 Saturday, February 20, 2010
  29. 29. Amazon SimpleDB 25 Saturday, February 20, 2010
  30. 30. Amazon SimpleDB Memberships Item #1 Name: Paul, Address: 234 Performance Rd. Item #2 Name: John, Address: 567 Couch St. Item #3 Name: Frank, Address: 321 Cloud Ave. Item #4 Name: Tom, Address: 123 Scale St. 26 Saturday, February 20, 2010
  31. 31. Amazon SimpleDB Domain Memberships Item #1 Name: Paul, Address: 234 Performance Rd. Item #2 Name: John, Address: 567 Couch St. Item #3 Name: Frank, Address: 321 Cloud Ave. Item #4 Name: Tom, Address: 123 Scale St. 26 Saturday, February 20, 2010
  32. 32. Amazon SimpleDB Memberships Item #1 Name: Paul, Address: 234 Performance Rd. Item #2 Name: John, Address: 567 Couch St. Item #3 Name: Frank, Address: 321 Cloud Ave. Item #4 Name: Tom, Address: 123 Scale St. 27 Saturday, February 20, 2010
  33. 33. Amazon SimpleDB Item Memberships Item #1 Name: Paul, Address: 234 Performance Rd. Item #2 Name: John, Address: 567 Couch St. Item #3 Name: Frank, Address: 321 Cloud Ave. Item #4 Name: Tom, Address: 123 Scale St. 27 Saturday, February 20, 2010
  34. 34. Amazon SimpleDB Memberships Item #1 Name: Paul, Address: 234 Performance Rd. Item #2 Name: John, Address: 567 Couch St. Item #3 Name: Frank, Address: 321 Cloud Ave. Item #4 Name: Tom, Address: 123 Scale St. 28 Saturday, February 20, 2010
  35. 35. Amazon SimpleDB Attribute Memberships Item #1 Name: Paul, Address: 234 Performance Rd. Item #2 Name: John, Address: 567 Couch St. Item #3 Name: Frank, Address: 321 Cloud Ave. Item #4 Name: Tom, Address: 123 Scale St. 28 Saturday, February 20, 2010
  36. 36. Amazon SimpleDB Attribute Value Memberships Item #1 Name: Paul, Address: 234 Performance Rd. Item #2 Name: John, Address: 567 Couch St. Item #3 Name: Frank, Address: 321 Cloud Ave. Item #4 Name: Tom, Address: 123 Scale St. 28 Saturday, February 20, 2010
  37. 37. Amazon SimpleDB Wie komme ich an die Daten? 29 Saturday, February 20, 2010
  38. 38. Amazon SimpleDB GetAttributes: ItemName=1 30 Saturday, February 20, 2010
  39. 39. Amazon SimpleDB select * from memberships where Name = ‘Paul’ 31 Saturday, February 20, 2010
  40. 40. Amazon SimpleDB Simplizität durch Restriktionen 32 Saturday, February 20, 2010
  41. 41. Amazon SimpleDB Skalierung mit Eventual Consistency 33 Saturday, February 20, 2010
  42. 42. CouchDB relax 34 Saturday, February 20, 2010
  43. 43. CouchDB Dokument-orientiert 35 Saturday, February 20, 2010
  44. 44. ”CouchDB is built of the Web“ — Jacob Kaplan-Moss 36 Saturday, February 20, 2010
  45. 45. CouchDB { "_id": "BCCD12CBB", "_rev": "1-AB764C", "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true } 37 Saturday, February 20, 2010
  46. 46. CouchDB { "_id": "BCCD12CBB", "_rev": "1-AB764C", "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true } 38 Saturday, February 20, 2010
  47. 47. CouchDB { "_id": "BCCD12CBB", "_rev": "1-AB764C", "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true } 39 Saturday, February 20, 2010
  48. 48. CouchDB - CRUD Erstellen/Aktualisieren: PUT /starwars/BCCD12CBB Lesen: GET /starwars/BCCD12CBB Löschen: DELETE /starwars/BCCD12CBB 40 Saturday, February 20, 2010
  49. 49. CouchDB Wie komme ich an meine Daten? 41 Saturday, February 20, 2010
  50. 50. CouchDB Views! 42 Saturday, February 20, 2010
  51. 51. CouchDB function(doc) { if (doc.headware) { for (var hat in doc.headware) { emit(hat, 1); } } } 43 Saturday, February 20, 2010
  52. 52. CouchDB function(keys, values, rereduce) { return sum(values); } 44 Saturday, February 20, 2010
  53. 53. CouchDB 45 Saturday, February 20, 2010
  54. 54. CouchDB 46 Saturday, February 20, 2010
  55. 55. CouchDB 47 Saturday, February 20, 2010
  56. 56. CouchDB 48 Saturday, February 20, 2010
  57. 57. CouchDB POST /_replication 49 Saturday, February 20, 2010
  58. 58. Und? Daten sind wieder König 50 Saturday, February 20, 2010
  59. 59. Aber! Kein goldener Hammer 51 Saturday, February 20, 2010
  60. 60. 52 Saturday, February 20, 2010
  61. 61. 53 Saturday, February 20, 2010
  62. 62. Peritor Cloud-Management und -Deployment made easy http://scalarium.com 54 Saturday, February 20, 2010
  63. 63. Peritor GmbH Blücherstr. 22, Hof III Aufgang 6 10961 Berlin Tel.: +49 (0)30 69 20 09 84 0 Fax: +49 (0)30 69 20 09 84 9 Internet: www.peritor.com E-Mail: info@peritor.com © Peritor GmbH - Alle Rechte Vorbehalten Saturday, February 20, 2010

×