No SQL - BarCamp Nürnberg 2010

Post on 15-Jan-2015

1.479 views 0 download

description

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

Transcript of No SQL - BarCamp Nürnberg 2010

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