Your SlideShare is downloading. ×
0
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
CouchDB Google
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

CouchDB Google

3,217

Published on

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,217
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. Apache CouchDB
  2. Hello Chris Anderson jchris@apache.org / @jchris Apache CouchDB Committer REST and JavaScript enthusiast Director, couch.io
  3. I’m here to answer the question: What is CouchDB? (from an app devs perspective - and some implementor) How many of you have: built an application around a key value store? written map reduce functions? used Erlang in an application?
  4. Relax - easy to reason about - reliable - your data is safe with us. - honda accord, not a ferrari - as a debating point among developers
  5. Bandwidth Explosion
  6. “no bars”
  7. http://www.flickr.com/photos/hercwad/2290378571/
  8. Latency Sucks speed of light drawback to cloud computing
  9. What is CouchDB? - k/v store with map reduce - http database written in erlang
  10. Local Web Local Web Platform Platform - on your device, local network, in a browser plugin - replication: it just works. makes data portable. - real-time remote backups, ad hoc topologies.
  11. “Ground Computing” @jhuggins http://www.flickr.com/photos/mcpig/872293700/ - local to the user, more like desktop web than like Gears - local http server - browser apps - same application on the client and server or the cloud
  12. Offline by Default http://www.flickr.com/photos/shane-h/280084650 - low latency & reliable - 2 tier applications
  13. http://apod.nasa.gov/apod/ap050930.html “Of the Web” http://jacobian.org/writing/of-the-web/ Let me tell you something: Django may be built for the Web, but CouchDB is built of the Web. I've never seen software that so completely embraces the philosophies behind HTTP. ... this is what the software of the future looks like. Jacob Kaplan-Moss -- October, 2007 perfect spot - discovered not invented
  14. - lower barrier for contribution - validate installations - foster interop (CouchDB as a protocol)
  15. Learning Curve - doc modeling (mvcc / concurrency) - etags / Functional style of REST - eventual consistency
  16. http://www.longnow.org/projects/clock/ http://www.longnow.org/projects/clock/orrery/
  17. Robust - single file - append only - no fixup phase - minimizes seeks
  18. Robust - when britain is burning - Enda Farrell - bbc
  19. { "_id": "BC4ea69ce1a73aa7d21d23b608d221d "_rev": "1-967a00dff5e02add41819138abb32 JSON Documents "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true } - denormalize - natural data behavior - evolve formats with your application - easier to bootstrap in your mind
  20. { "_id": "BC4ea69ce1a73aa7d21d23b608d221d "_rev": "1-967a00dff5e02add41819138abb32 JSON Documents "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true } - 2 patterns - document update - event log
  21. { "_id": "BC4ea69ce1a73aa7d21d23b608d221d "_rev": "2-41819138abb32967a00dff5e02ad JSON Documents "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": “More CoWbell!” } - MVCC - model for concurrency
  22.  Map Reduce
  23. http://horicky.blogspot.com/2008/10/couchdb-implementation.html
  24. ful  http://www.flickr.com/photos/calliope/3573471166
  25. db  http://code.google.com/p/couchdb-lounge/ http://www.flickr.com/photos/aussiegall/658457636
  26. curl -X POST http://127.0.0.1:5984/_replicate -d '{ "source": "http://couch.example.com:5984/remote-db", "target": "local-db" }'
  27. curl -X POST http://127.0.0.1:5984/_replicate -d '{ "source": "http://couch.example.com:5984/remote-db", "target": "local-db" }'
  28. periodic, notifier system
  29. “In the fullness of time there is only one CouchDB”
  30. standalone CouchDB applications
  31. Scaling Down
  32. Browser Couch JavaScript port Uses HTML5 storage Replicates with CouchDB http://hg.toolness.com/browser-couch/
  33. Gives Control to Users CC-BY-SA http://www.flickr.com/photos/kelleys/492253912/ - want to get kids in trouble for programming too much claris
  34. Stuart Langridge - Canonical ! !
  35. - good because it's the status quo - easy to address with URLs - bad because users are depending on a remote resource for low latency responses - centralized, so traffic spikes impact all users, who might start refreshing
  36. - local requests are fast - easier to tune for throughput - plays to the strengths of mobile connections
  37. - users can run different applications on the same dataset deployment Independent Personal - dark matter of the information universe
  38. messaging peer discovery identity Can we trust intermediate servers?
  39. “Obvious.” web architecture
  40. Local Web Platform
  41. anks!
  42. 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
  43. @couchdbinaction http://books.couchdb.org/relax
  44. Robust JSON HTTP Local
  45. Conflict resolution by example A B couch.io
  46. Conflict resolution by example A B ❦ couch.io
  47. Conflict resolution by example A B ❦ couch.io
  48. Conflict resolution by example A B ❦ ❦ couch.io
  49. Conflict resolution by example A B ❦ ❦ couch.io
  50. Conflict resolution by example A B ❦ ✿ ❦ couch.io
  51. Conflict resolution by example A B ❦ ✿ ❦ couch.io
  52. Conflict resolution by example A B ✿ couch.io
  53. Conflict resolution by example A B ✿ couch.io
  54. Conflict resolution by example A B ✿ couch.io
  55. Conflict resolution by example A B ✿ couch.io
  56. CC-by-nd http://www.flic.kr/photos/eifelyeti110/273939759/

×