CouchDB + .NET - Relax in Style

2,084 views

Published on

Alex Pedenko's presentation on CouchDB from .NET code. Go to http://chicagoalt.net/event/October2009Meeting-GetComfyWithCouchDB for more details and video.

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

  • Be the first to like this

No Downloads
Views
Total views
2,084
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

CouchDB + .NET - Relax in Style

  1. 1. CouchDB + .NET Relax in style
  2. 2. What CouchDB is <ul><li>Document-Oriented database </li></ul><ul><li>RESTful JSON API </li></ul><ul><li>Map/Reduce Views </li></ul>
  3. 3. What CouchDB isn’t <ul><li>A relational database </li></ul><ul><li>A replacement for relational databases </li></ul><ul><li>An object-oriented database </li></ul>
  4. 4. Data in CouchDB <ul><li>Data stored as JSON Documents </li></ul><ul><li>Each document has unique id and revision number </li></ul>
  5. 5. Querying without SQL <ul><li>Data is queried through “views” </li></ul><ul><ul><li>A view is a map and (optional) reduce function, applied to all documents </li></ul></ul>
  6. 6. Map/Reduce isn’t just for Google <ul><li>Map/Reduce lets you perform complex computations over large sets of data incrementally. </li></ul><ul><ul><li>As new data comes in, the view index is updated with just the new data, and the reduce function is run over the results of the previous iteration, plus the new data </li></ul></ul>
  7. 7. Building for scale <ul><li>CouchDB has native support for bidirectional replication and conflict detection and resolution </li></ul><ul><li>HTTP-based API makes additional scalability via sharding easy to implement </li></ul>
  8. 8. Replication for high read <ul><li>HTTP-based API allows simple load balancing, using standard tools </li></ul>
  9. 9. Clustering for high write <ul><li>Marginally intelligent HTTP proxy spreads documents across multiple databases </li></ul><ul><li>View collation rules allow aggregation in fixed memory space </li></ul>
  10. 10. Dynamic Growth <ul><li>Since each proxy repeats inbound commands, proxies can be nested </li></ul><ul><li>Hash-based partitioning and view aggregation rules don’t change </li></ul>

×