25
Gavin Cooper

Introduction to CouchDB

Embed Size (px)

Citation preview

Gavin Cooper

Magicseaweed.com

@gavincoop

Who?

Awesome Scalability

http://www.flickr.com/photos/thetodd717/5126328291/

Schema Free (JSON Doc’s)

http://www.flickr.com/photos/josefgrunig/1732787905/

{“_id”: “ABCD”,“_rev”: “3-ABCD32432”,

“type”: “user”,“name”: “Gavin Cooper”

}

• CreatePUT /dbname/

• ReadGET /dbname/docid

• UpdatePUT /dbname/docid

• DeleteDELETE /dbname/docid

RESTful Interface

http://www.flickr.com/photos/odreiuqzide/3289073079/

Futon

JavaScript Map/Reduce

http://www.flickr.com/photos/nyuhuhuu/3367743012/

Map extracts data

http://www.flickr.com/photos/cobalt/4720536135/

Reduce aggregates data

http://www.flickr.com/photos/zkorb/1445131889/

“the more you know Oracle (or any RDBMS) the harder it is to

pick up” - Simon Metson

http://www.flickr.com/photos/antoaneta/4903441211/

Map/Reduce Views = Data Pool

http://www.flickr.com/photos/charliebrewer/1466724792/

function (doc) {if (doc.type === “user” && doc.name) {emit(doc.name, doc);}}

Map

function (keys, values) {return sum(values);}

Reduce

Map/Reduce Tasks

http://www.flickr.com/photos/koisny/5395521966/

Awesome Replication

http://www.flickr.com/photos/jaumebonet/5249483963/

Latency Sucks

http://www.flickr.com/photos/basegreen/1397798304/

Bring The Couch Closer

http://www.flickr.com/photos/basegreen/1397798304/

CouchDB Runs on Android

http://www.flickr.com/photos/appletv/4920964839/

Replication Filters

http://www.flickr.com/photos/mbiskoping/298129486/

delicious.com/gavincoop/couchdb

Resources

http://www.flickr.com/photos/jiscinfonet/391917876/