View
1.479
Download
0
Category
Preview:
DESCRIPTION
Präsentation von Jonathan Weiss (Folien von Mathias Meyer) auf dem BarCamp Nürnberg 2010 zu NoSQL und postrelationalen Datenbanken.
Citation preview
Jonathan Weiss, 20.02.2010Peritor GmbH
N✮SQLData-Storage jenseits von SQL
Saturday, February 20, 2010
Wer?
Ruby-Entwickler
Open-Source-Contributor (http://github.com/jweiss)
@jweiss
2
Saturday, February 20, 2010
N✮SQL-Datenbanken?
3
Built for the Web
Skalierbar
Performant
Flexibles Datenschema
Saturday, February 20, 2010
4
DynamoCouchDBDynomite
Tokyo Tyrant
MongoDB
Riak
Amazon SimpleDB
Redis Memcached
BigTableAmazon S3
Cassandra
Lotus Notes
Excel ;)Neo4j
Project Voldemort HBase
Saturday, February 20, 2010
Der Status-Quo
Relationale Datenstrukturen
SQL
Transaktionssicherheit
Locking
5
Saturday, February 20, 2010
Das Problem
6
Saturday, February 20, 2010
Das Problem
7
Saturday, February 20, 2010
Die Lösung
8
”Simplicity is prerequisite for reliability“— Edsger W. Dijkstra
Saturday, February 20, 2010
Die Lösung
key => “value”
9
Saturday, February 20, 2010
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
14
Update
Saturday, February 20, 2010
Append-Only
15
Update
Saturday, February 20, 2010
Skalierbarkeit
16
Saturday, February 20, 2010
Tools
17
Saturday, February 20, 2010
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
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
Redis
Simpler Key-Value-Store
Speichert Strings, Listen und Sets
Semi-Persistent
20
Saturday, February 20, 2010
Redis
21
Saturday, February 20, 2010
Redis
set foo 4
1000
+OK
22
Saturday, February 20, 2010
Redis
set foo 4
1000
+OK
22
Request
Response
Saturday, February 20, 2010
Amazon SimpleDB
Database as a Service
Hoch-Skaliert
Always On
HTTP-API
23
Saturday, February 20, 2010
Amazon SimpleDB
24
Saturday, February 20, 2010
Amazon SimpleDB
25
Saturday, February 20, 2010
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
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
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
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
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
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
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
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’
31
Saturday, February 20, 2010
Amazon SimpleDB
32
Simplizität durch Restriktionen
Saturday, February 20, 2010
Skalierung mit Eventual Consistency
33
Amazon SimpleDB
Saturday, February 20, 2010
34
CouchDBrelax
Saturday, February 20, 2010
CouchDB
Dokument-orientiert
35
Saturday, February 20, 2010
36
”CouchDB is built of the Web“— Jacob Kaplan-Moss
Saturday, February 20, 2010
CouchDB
37
{ "_id": "BCCD12CBB", "_rev": "1-AB764C", "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true}
Saturday, February 20, 2010
CouchDB
38
{ "_id": "BCCD12CBB", "_rev": "1-AB764C", "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true}
Saturday, February 20, 2010
CouchDB
39
{ "_id": "BCCD12CBB", "_rev": "1-AB764C", "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true}
Saturday, February 20, 2010
CouchDB - CRUD
Erstellen/Aktualisieren:
PUT /starwars/BCCD12CBB
Lesen:
GET /starwars/BCCD12CBB
Löschen:
DELETE /starwars/BCCD12CBB
40
Saturday, February 20, 2010
CouchDB
Wie komme ich an meine Daten?
41
Saturday, February 20, 2010
CouchDB
42
Views!
Saturday, February 20, 2010
CouchDB
43
function(doc) { if (doc.headware) { for (var hat in doc.headware) { emit(hat, 1); } }}
Saturday, February 20, 2010
CouchDB
44
function(keys, values, rereduce) { return sum(values);}
Saturday, February 20, 2010
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
54
Cloud-Management und -Deployment made easy
http://scalarium.com
Saturday, February 20, 2010
© 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: info@peritor.com
Saturday, February 20, 2010
Recommended