SlideShare a Scribd company logo
CouchDB
(replicated data store for distributed
            proxy server)

              @tkramar
Distributed proxy server
●   Manipulates
    ●   request/response headers/bodies
●   Recommend new pages based on browsing
    patterns
●   Insert new search results based on what similar
    users found relevant
●   Your next idea..
We want..
●   .. to have multiple proxies
    ●   localization services
    ●   high availability
CouchDB: replicated data store for distributed proxy server
CouchDB
●   Document database
●   JSON
●   _id
●   _rev
CouchDB: replicated data store for distributed proxy server
Views
●   JavaScript MapReduce
●   “SELECT”, “JOIN”
●   B-tree
●   persistent
Pagination
●   Slow
    ●   skip, limit
    ●   http://127.0.0.1:5984/proxy/_design/access_logs/_vi
        ew/by-user-and-timestamp?limit=5&skip=5

●   Fast
    ●   startdoc, limit
    ●   http://127.0.0.1:5984/proxy/_design/access_logs/_vi
        ew/by-user-and-timestamp?startkey=3456&skip=5
●   http://guide.couchdb.org/index.html

More Related Content

CouchDB: replicated data store for distributed proxy server

  • 1. CouchDB (replicated data store for distributed proxy server) @tkramar
  • 2. Distributed proxy server ● Manipulates ● request/response headers/bodies ● Recommend new pages based on browsing patterns ● Insert new search results based on what similar users found relevant ● Your next idea..
  • 3. We want.. ● .. to have multiple proxies ● localization services ● high availability
  • 5. CouchDB ● Document database ● JSON ● _id ● _rev
  • 7. Views ● JavaScript MapReduce ● “SELECT”, “JOIN” ● B-tree ● persistent
  • 8. Pagination ● Slow ● skip, limit ● http://127.0.0.1:5984/proxy/_design/access_logs/_vi ew/by-user-and-timestamp?limit=5&skip=5 ● Fast ● startdoc, limit ● http://127.0.0.1:5984/proxy/_design/access_logs/_vi ew/by-user-and-timestamp?startkey=3456&skip=5
  • 9. http://guide.couchdb.org/index.html