CouchDB Talk JChris NYC

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    4 Favorites

    CouchDB Talk JChris NYC - Presentation Transcript

    1. Hello • Chris Anderson <jchris@apache.org> • Blog: http://jchris.mfdz.com • Founder, Grabb.it (web analytics for music) • Ruby on Rails veteran • CouchDB committer
    2. And You? • Used CouchDB (for fun) • Evaluating or using it (for a project) • Interested in contributing? • Just here for the pizza?
    3. History • Damien Katz <http://damienkatz.net/> • Worked on Lotus Notes & MySQL • Started in 2005: C++ and XML, on Windows • 2006: Moved to Erlang, JSON, and POSIX • 0.7.0 first release of today’s CouchDB • Version 1.0 Planned for the end of 2008
    4. Why CouchDB? • Common use cases no longer fit RDBMS • Native to web applications • Peer-based replication for freedom • Takes today’s scalability lessons to heart
    5. This Talk • How is CouchDB different (from RDBMS)? • Example HTML/Javascript application • Quick tour of the internals
    6. How Is CouchDB Different? RESTful HTTP Schemaless JSON Documents Map/Reduce Views Incremental Replication
    7. How Is CouchDB Different? (from SQL RDBMS) RESTful HTTP Binary Protocol Schemaless JSON Documents Typed Columns & Primary Keys Map/Reduce Views Ad-hoc Queries Incremental Replication Replication Logs
    8. RESTful HTTP Built for the web Javascript Test Suite Standard HTTP Clients, Proxies, Load Balancers & Caches
    9. RESTful HTTP Built for the web Enterprisey Javascript Test Suite Battle Hardened Standard HTTP Clients, Proxies, Load Balancers & Caches Protocol Specific Tools
    10. Schemaless JSON Documents Flat Namespace Arbitrary JSON Structures Identified By URIs Optimistic Locking (ACID/MVCC)
    11. Schemaless JSON Documents Flat Namespace Tables Arbitrary JSON Structures Typed Columns and Key Constraints Identified By URIs Primary Keys Optimistic Locking (ACID/MVCC) Row or Column Level Locking
    12. Map/Reduce Views Functional Javascript Incremental Updates Predefined High-Performance Reads
    13. Map/Reduce Views Functional Javascript SQL Statements Incremental Updates Independent Predefined Ad-hoc and Complex High-Performance Reads Indexes Computed on Writes
    14. Incremental Replication User Triggered Offline Clients Resilient & Restartable HTTP
    15. Incremental Replication User Triggered Continuous Offline Clients Master/Slave Resilient & Restartable Critical Path HTTP Log Based
    16. CouchDB A new way to write web applications. HTML / Javascript _design Documents p2p Replication
    17. Live Code! http://169.254.251.59:5984/_utils/
    18. CouchDB Internals • couch_httpd.erl • Request Dispatch • Create Database • Get Document • Other Modules
    19. Request Dispatch
    20. Create Database
    21. Get Document
    22. Other Modules • couch_btree.erl • The heart of the storage module (stores Erlang terms sorted by key using user specified sort funtions) • couch_db_updater.erl • Translates document requests into Btree actions. • couch_query_servers.erl • Communicates with the external (Javascript etc) view servers.
    23. Join Us • #couchdb on irc.freenode.net • http://couchdb.org • mailing lists • links to wiki and subversion checkout
    24. Thank You! Any Questions?

    + Chris AndersonChris Anderson, 2 years ago

    custom

    2153 views, 4 favs, 3 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2153
      • 1698 on SlideShare
      • 455 from embeds
    • Comments 0
    • Favorites 4
    • Downloads 31
    Most viewed embeds
    • 345 views on http://jchris.mfdz.com
    • 109 views on http://jchrisa.net
    • 1 views on http://jchris.mfdz.com:5984

    more

    All embeds
    • 345 views on http://jchris.mfdz.com
    • 109 views on http://jchrisa.net
    • 1 views on http://jchris.mfdz.com:5984

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories