couchdb apache in 20 minutes - perconawho’s talking? • jan lehnardt / [email protected] / @janl •...
TRANSCRIPT
![Page 1: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/1.jpg)
CouchDBApache
In 20 Minutes
Wednesday, 22 April 2009
![Page 2: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/2.jpg)
RelaxWednesday, 22 April 2009
![Page 3: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/3.jpg)
Who’s Talking?
• Jan Lehnardt / [email protected] / @janl
• “Open Source Dude”• Director, CouchDB Ltd.
Wednesday, 22 April 2009
![Page 4: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/4.jpg)
Damien KatzWassat?
Wednesday, 22 April 2009
What’s CouchDB?
![Page 5: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/5.jpg)
Features• Schema Free (JSON)
• Document Oriented, Not Relational
• Highly Concurrent
• RESTful HTTP API
• JavaScript Powered Map/Reduce
• N-Master Replication
• Robust Storage
Wednesday, 22 April 2009
![Page 6: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/6.jpg)
Features• Schema Free (JSON)
• Document Oriented, Not Relational
• Highly Concurrent
• RESTful HTTP API
• JavaScript Powered Map/Reduce
• N-Master Replication
• Robust Storage
Wednesday, 22 April 2009
![Page 7: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/7.jpg)
Schema Free ( JSON){ "_id": "BCCD12CBB", "_rev": "AB764C",
"type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true}
Wednesday, 22 April 2009
![Page 8: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/8.jpg)
Schema Free ( JSON){ "_id": "BCCD12CBB", "_rev": "AB764C",
"type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true}
Wednesday, 22 April 2009
![Page 9: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/9.jpg)
Schema Free ( JSON){ "_id": "BCCD12CBB", "_rev": "AB764C",
"type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true}
Wednesday, 22 April 2009
Access Tokens for MVCC
![Page 10: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/10.jpg)
Schema Free ( JSON){ "_id": "BCCD12CBB", "_rev": "AB764C",
"type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true}
Wednesday, 22 April 2009
Access Tokens for MVCC
![Page 11: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/11.jpg)
Features• Schema Free (JSON)
• Document Oriented, Not Relational
• Highly Concurrent
• RESTful HTTP API
• JavaScript Powered Map/Reduce
• N-Master Replication
• Robust Storage
Wednesday, 22 April 2009
![Page 12: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/12.jpg)
Document Oriented• Documents in the Real World™
• Bills, letters, tax forms…
• Same type != same structure
• Can be out of date (so what?)
• No references
Not Relational
Wednesday, 22 April 2009
![Page 13: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/13.jpg)
Document Oriented• Documents in the Real World™
• Bills, letters, tax forms…
• Same type != same structure
• Can be out of date (so what?)
• No references
Not Relational
Natural Data Behaviour
Wednesday, 22 April 2009
![Page 14: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/14.jpg)
Features• Schema Free (JSON)
• Document Oriented, Not Relational
• Highly Concurrent
• RESTful HTTP API
• JavaScript Powered Map/Reduce
• N-Master Replication
• Robust Storage
Wednesday, 22 April 2009
![Page 15: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/15.jpg)
Highly ConcurrentErlang Praising
Wednesday, 22 April 2009
![Page 16: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/16.jpg)
Highly Concurrent
• Parallelism built into the language
Erlang Praising
Wednesday, 22 April 2009
![Page 17: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/17.jpg)
Highly Concurrent
• Parallelism built into the language
• Makes programming multi-core easy(er)
Erlang Praising
Wednesday, 22 April 2009
![Page 18: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/18.jpg)
Highly Concurrent
• Parallelism built into the language
• Makes programming multi-core easy(er)
• Easy to create fault-tolerant systems
Erlang Praising
Wednesday, 22 April 2009
![Page 19: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/19.jpg)
Highly ConcurrentApache vs. YAWS
Wednesday, 22 April 2009
![Page 20: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/20.jpg)
Features• Schema Free (JSON)
• Document Oriented, Not Relational
• Highly Concurrent
• RESTful HTTP API
• JavaScript Powered Map/Reduce
• N-Master Replication
• Robust Storage
Wednesday, 22 April 2009
![Page 21: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/21.jpg)
ful • Create
HTTP PUT /db/mydocid
• ReadHTTP GET /db/mydocid
• UpdateHTTP PUT /db/mydocid
• DeleteHTTP DELETE /db/mydocid
CRUD
Wednesday, 22 April 2009
![Page 22: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/22.jpg)
couch = CouchRest.database!("http://127.0.0.1:5984/tweets")
tweets_url = "http://twitter.com/statuses/user_timeline.json"
tweets = http.get(tweets_url)couch.bulk_save(tweets)
ful Example
Wednesday, 22 April 2009
![Page 23: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/23.jpg)
Features• Schema Free (JSON)
• Document Oriented, Not Relational
• Highly Concurrent
• RESTful HTTP API
• JavaScript Powered Map/Reduce
• N-Master Replication
• Robust Storage
Wednesday, 22 April 2009
![Page 24: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/24.jpg)
JavaScript powered Map/Reduce
• Map functions extract data from your documents & reduce functions aggregate intermediate values.
• The kicker: Incremental b-tree storage.
Wednesday, 22 April 2009
![Page 25: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/25.jpg)
Features• Schema Free (JSON)
• Document Oriented, Not Relational
• Highly Concurrent
• RESTful HTTP API
• JavaScript Powered Map/Reduce
• N-Master Replication
• Robust Storage
Wednesday, 22 April 2009
![Page 26: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/26.jpg)
Wednesday, 22 April 2009
![Page 27: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/27.jpg)
Wednesday, 22 April 2009
![Page 28: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/28.jpg)
Wednesday, 22 April 2009
![Page 29: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/29.jpg)
Wednesday, 22 April 2009
![Page 30: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/30.jpg)
Wednesday, 22 April 2009
![Page 31: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/31.jpg)
Wednesday, 22 April 2009
![Page 32: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/32.jpg)
Wednesday, 22 April 2009
![Page 33: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/33.jpg)
Wednesday, 22 April 2009
periodic, notifier system
![Page 34: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/34.jpg)
Wednesday, 22 April 2009
![Page 35: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/35.jpg)
Wednesday, 22 April 2009
P2P apps
![Page 36: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/36.jpg)
Features• Schema Free (JSON)
• Document Oriented, Not Relational
• Highly Concurrent
• RESTful HTTP API
• JavaScript Powered Map/Reduce
• N-Master Replication
• Robust Storage
Wednesday, 22 April 2009
![Page 37: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/37.jpg)
Robust Storage
Append Only File Structure
Designed to Crash
Instant-On
Wednesday, 22 April 2009
![Page 38: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/38.jpg)
Resources• Twitter: @CouchDB & http://couchdb.org/
• Dress like a Couch:http://shop.couchdb.com
• http://planet.couchdb.org/
• http://blog.racklabs.com/?p=74
• https://peepcode.com/products/couchdb-with-rails
Wednesday, 22 April 2009
![Page 39: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/39.jpg)
CouchDB Factory•http://short.ie/couchdbconf•Next Friday, Palo Alto•Come and relax
Wednesday, 22 April 2009
![Page 40: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/40.jpg)
couch.ioBerlin – London – Portland
If you need professional CouchDB support talk to the dimwit on stage
Wednesday, 22 April 2009
![Page 41: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/41.jpg)
anks!Wednesday, 22 April 2009
![Page 42: CouchDB Apache In 20 Minutes - PerconaWho’s Talking? • Jan Lehnardt / jan@apache.org / @janl • “Open Source Dude” • Director, CouchDB Ltd. Wednesday, 22 April 2009](https://reader031.vdocument.in/reader031/viewer/2022030410/5a9b91a37f8b9a30358e342a/html5/thumbnails/42.jpg)
Wednesday, 22 April 2009