Mihai Plesa - CouchDB
Upcoming SlideShare
Loading in...5

Mihai Plesa - CouchDB






Total Views
Views on SlideShare
Embed Views



3 Embeds 127

http://mihaiplesa.ro 113
http://www.linkedin.com 8
https://www.linkedin.com 6



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Mihai Plesa - CouchDB Mihai Plesa - CouchDB Presentation Transcript

  • CouchDB
  • meetup@cluj.rb ~$ whoami
  • ls -l /couchdb/● intro● demo
  • view /couchdb/lol
  • head /couchdb/about Apache CouchDB is a document-orienteddatabase that can be queried and indexed using JavaScript in a MapReduce fashion.CouchDB also offers incremental replication withbi-directional conflict detection and resolution.
  • cat /couchdb/aboutCouchDB provides a RESTful JSON API than canbe accessed from any environment that allows HTTP requests.CouchDB’s built in Web admin console speaksdirectly to the database using HTTP requests issued from your browser.
  • tail /couchdb/aboutCouchDB is written in Erlang, a robust functional programming language ideal for building concurrent distributed systems.Erlang allows for a flexible design that is easily scalable and readily extensible.
  • cat /couchdb/history started in 2005 by Damien Katzbecame an Apache project in 2008 currently at version 1.1.1
  • head /couchdb/how CouchDB is a document oriented database data is stored in “documents” and not in “relations” like in an RDBMSnon-locking MVCC and ACID compliant data store
  • view /couchdb/how
  • view /couchdb/how
  • cat /couchdb/how no SQL querying is done using “views”views are defined using Map/Reduce functionsdata is indexed using these views as it is stored in the DB
  • cat /couchdb/howMap functions emit (key, value) interpretation of the dataReduce functions aggregate data emitted by map functionsMap/Reduce functions are written in JavaScript or CoffeeScript
  • head /couchdb/use good for:storing documents – or any data which is document-like hosting entire applications
  • cat /couchdb/whyvery easy to program with – no SQL, no schema, no ORMschema-less means very easy to deploy changeseasy to administer, backup, replicate, can work offline
  • tail /couchdb/use not suitable for: storing data which is relational in naturebe careful with data that needs to have unique values
  • view /couchdb/lol
  • vi /couchdb/doc{ “_id”: ”BCCD12CBB”, “_rev”: ”AB764C”, “type”: ”person”, “name”: ”Darth Vader”, “age”: 63, “headware”: [“Helmet”, “Sombrero”], “dark_side”: true}
  • cat /couchdb/rest/howcreate: HTTP POST /db/BCCD12CBB read: HTTP GET /db/BCCD12CBB update: HTTP PUT /db/BCCD12CBBdelete: HTTP DELETE /db/BCCD12CBB
  • head /couchdb/rest/usage$ curl -X GET http://server/database/document {“_id”:”ABC”,“_rev”:”1D4”,”data”:...}
  • cat /couchdb/testssilly read-only benchmark with memory saturation2,500 req/s sustained on a 2Ghz dual core Athlon using 9.8 mb RAM
  • exec /couchdb/demo lets get dirty!
  • view /couchdb/lol
  • sudo halt Q?