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