• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Mihai Plesa - CouchDB
 

Mihai Plesa - CouchDB

on

  • 1,093 views

 

Statistics

Views

Total Views
1,093
Views on SlideShare
968
Embed Views
125

Actions

Likes
0
Downloads
4
Comments
0

3 Embeds 125

http://mihaiplesa.ro 113
http://www.linkedin.com 7
https://www.linkedin.com 5

Accessibility

Categories

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.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
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?