This document provides an introduction and overview of CouchDB including:
- Background on the creators and history of CouchDB's development
- An explanation of how CouchDB differs from traditional SQL databases through its use of RESTful HTTP, schemaless JSON documents, map/reduce views, and incremental replication
- A description of CouchDB's internal architecture and key modules
- An invitation for readers to get involved with the CouchDB community
Report
Share
Report
Share
1 of 25
Download to read offline
More Related Content
CouchDB Talk JChris NYC
2. Hello
• Chris Anderson <jchris@apache.org>
• Blog: http://jchris.mfdz.com
• Founder, Grabb.it (web analytics for music)
• Ruby on Rails veteran
• CouchDB committer
3. And You?
• Used CouchDB (for fun)
• Evaluating or using it (for a project)
• Interested in contributing?
• Just here for the pizza?
4. 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
5. 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
6. This Talk
• How is CouchDB different (from RDBMS)?
• Example HTML/Javascript application
• Quick tour of the internals
7. How Is CouchDB Different?
RESTful HTTP
Schemaless JSON Documents
Map/Reduce Views
Incremental Replication
9. RESTful HTTP
Built for the web
Javascript Test Suite
Standard HTTP Clients,
Proxies, Load Balancers & Caches
10. RESTful HTTP
Built for the web
Enterprisey
Javascript Test Suite
Battle Hardened
Standard HTTP Clients,
Proxies, Load Balancers & Caches
Protocol Specific Tools
23. 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.
24. Join Us
• #couchdb on irc.freenode.net
• http://couchdb.org
• mailing lists
• links to wiki and subversion checkout