57
CouchDB Apache

CouchDB - erlang- · PDF fileStorage Engine Append-Only Reliable & Concurrent Hot Backups Compaction

  • Upload
    lekhue

  • View
    235

  • Download
    3

Embed Size (px)

Citation preview

Page 1: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

CouchDBApache

Page 2: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Relax

Page 3: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

http://www.flickr.com/photos/mcpig/872293700/

“Ground Computing”@jhuggins

Page 4: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

http://www.flickr.com/photos/shane-h/280084650

Offline by Default

Page 5: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Data Portabilityby Default

Page 6: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

http://jacobian.org/writing/of-the-web/

http://apod.nasa.gov/apod/ap050930.html

“Of the Web”

Page 7: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 8: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 9: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

! !

Stuart Langridge - Canonical

Page 10: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 11: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

SimpleDB

CouchDB

Page 12: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Robust

Replication

JSON

Map Reduce

HTTP

Page 13: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Storage Engine

http://www.longnow.org/projects/clock/orrery/

Append-OnlyReliable & Concurrent

Hot BackupsCompaction

Page 14: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

http://www.longnow.org/projects/clock/

Storage Engine

Page 15: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Replication

Page 16: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

curl -X POSThttp://127.0.0.1:5984/_replicate

-d '{"source":"http://couch.example.com:5984/remote-db",

"target":"local-db"

}'

Page 17: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

curl -X POSThttp://127.0.0.1:5984/_replicate

-d '{"source":"http://couch.example.com:5984/remote-db",

"target":"local-db"

}'

Page 18: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 19: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 20: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 21: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 22: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 23: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 24: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 25: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

{ "_id": "BC4ea69ce1a73aa7d21d23b608d221d0", "_rev": "1-967a00dff5e02add41819138abb3284d",

"type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true}

JSON Documents

Page 26: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

{ "_id": "BC4ea69ce1a73aa7d21d23b608d221d0", "_rev": "1-967a00dff5e02add41819138abb3284d",

"type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true}

JSON Documents

Page 27: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

{ "_id": "BC4ea69ce1a73aa7d21d23b608d221d0", "_rev": "2-41819138abb32967a00dff5e02add84d",

"type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": “More CoWbell!”}

JSON Documents

Page 28: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

INCREMENTALMap Reduce

Page 30: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 31: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

http://www.flickr.com/photos/calliope/3573471166

restful httpYou Already Know the APIUse Existing ToolsTalk Directly to the Browser

Page 33: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Scaling Down

Page 34: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 35: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 36: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 37: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

http://www.sics.se/~joe/apachevsyaws.html

Erlang

Page 38: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Browser CouchJavaScript port

Uses HTML5 storage

Replicates with CouchDB

http://hg.toolness.com/browser-couch/

Page 39: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 40: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Gives Control to Users

CC-BY-SA http://www.flickr.com/photos/kelleys/492253912/

Page 41: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction
Page 42: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Local Web Platform

http://github.com/jchris/taskr/

Page 43: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Conflict resolution by example

A B

Page 44: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Conflict resolution by example

A B

Page 45: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

❦❦

Conflict resolution by example

A B

Page 46: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

❦ ❦

Conflict resolution by example

A B

Page 47: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Conflict resolution by example

A B

Page 48: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Conflict resolution by example

A B

❦ ✿

Page 49: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Conflict resolution by example

A B

❦ ✿♪

Page 50: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

✿♪

Conflict resolution by example

A B

Page 51: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

✿♪

Conflict resolution by example

A B

Page 52: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

✿♪

Conflict resolution by example

A B

Page 53: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

✿♪

Conflict resolution by example

A B

Page 54: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Thanks!

Page 55: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

Resources@CouchDB

http://couchdb.apache.org/

Dress like a Couch: http://shop.couchdb.com

http://planet.couchdb.org/

https://peepcode.com/products/couchdb-with-rails

Page 56: CouchDB - erlang- · PDF fileStorage Engine   Append-Only Reliable & Concurrent Hot Backups Compaction

http://books.couchdb.org/relax

@couchdbinaction