More Related Content Similar to NoSQL - Post-Relational Databases - BarCamp Ruhr3 (15) More from Jonathan Weiss (20) NoSQL - Post-Relational Databases - BarCamp Ruhr31. N✮SQL
Data-Storage jenseits von SQL
Jonathan Weiss, 20.03.2010
Peritor GmbH
Saturday, March 20, 2010
2. Wer?
Ruby-Entwickler
Open-Source-Contributor (http://github.com/jweiss)
@jweiss
2
Saturday, March 20, 2010
3. N✮SQL-Datenbanken?
Built for the Web
Skalierbar
Performant
Flexibles Datenschema
3
Saturday, March 20, 2010
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, March 20, 2010
5. Der Status-Quo
Relationale Datenstrukturen
SQL
Transaktionssicherheit
Locking
5
Saturday, March 20, 2010
8. Die Lösung
”Simplicity is prerequisite for
reliability“
— Edsger W. Dijkstra
8
Saturday, March 20, 2010
9. Die Lösung
key => “value”
9
Saturday, March 20, 2010
20. Tools
17
Saturday, March 20, 2010
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, March 20, 2010
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, March 20, 2010
23. Redis
Simpler Key-Value-Store
Speichert Strings, Listen und Sets
Persistenz über Snapshots oder Append-Logs
20
Saturday, March 20, 2010
24. Redis
21
Saturday, March 20, 2010
25. Redis
set foo 4
1000
+OK
22
Saturday, March 20, 2010
26. Redis
set foo 4
Request
1000
+OK Response
22
Saturday, March 20, 2010
27. Scaling
Master-Slave
mittels Snapshots
Multiple Master
mittels Hash Ring
23
Saturday, March 20, 2010
28. Einsatz-Szenarien
Persistenter Cache
Session-Store
Realtime-Data: Monitoring, Trading, ...
Shared State
24
Saturday, March 20, 2010
29. CouchDB
relax
25
Saturday, March 20, 2010
30. CouchDB
Dokument-orientiert
26
Saturday, March 20, 2010
32. CouchDB Document
{
"_id": "BCCD12CBB",
"_rev": "1-AB764C",
"type": "person",
"name": "Darth Vader",
"age": 63,
"headware": ["Helmet", "Sombrero"],
"dark_side": true
}
28
Saturday, March 20, 2010
33. CouchDB Document
{
"_id": "BCCD12CBB",
"_rev": "1-AB764C",
"type": "person",
"name": "Darth Vader",
"age": 63,
"headware": ["Helmet", "Sombrero"],
"dark_side": true
}
29
Saturday, March 20, 2010
34. CouchDB Document
{
"_id": "BCCD12CBB",
"_rev": "1-AB764C",
"type": "person",
"name": "Darth Vader",
"age": 63,
"headware": ["Helmet", "Sombrero"],
"dark_side": true
}
30
Saturday, March 20, 2010
35. CouchDB - CRUD
Erstellen/Aktualisieren:
PUT /starwars/BCCD12CBB
Lesen:
GET /starwars/BCCD12CBB
Löschen:
DELETE /starwars/BCCD12CBB
31
Saturday, March 20, 2010
36. CouchDB
Wie komme ich an meine Daten?
32
Saturday, March 20, 2010
37. CouchDB
Views!
33
Saturday, March 20, 2010
38. CouchDB
function(doc) {
if (doc.headware) {
for (var hat in doc.headware) {
emit(hat, 1);
}
}
}
34
Saturday, March 20, 2010
39. CouchDB
function(keys, values, rereduce) {
return sum(values);
}
35
Saturday, March 20, 2010
40. Libraries
SimplyStored: Ruby wrapper Models
Associations
Callbacks
Validations
Dynamic finder
S3 attachments
Paranoid delete
http://github.com/peritor/simply_stored
36
Saturday, March 20, 2010
42. B-Tree
38
Saturday, March 20, 2010
46. CouchDB
POST /_replication
42
Saturday, March 20, 2010
47. Und?
Daten sind wieder König
43
Saturday, March 20, 2010
48. Aber!
Kein goldener Hammer
44
Saturday, March 20, 2010
51. Peritor
Cloud-Management und -Deployment made easy
http://scalarium.com
47
Saturday, March 20, 2010
52. 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, March 20, 2010