CouchDB is awesome.
A quick history on the NoSQL database, it's Erlang origin, what it does, and quick examples on using curl to interact with Curl.
Includes how we use CouchDB for Atmail R&D projects and why we like it!
2. CouchDB History
Founded by Damien
Katz (Former IBM/Lotus)
in 2005
Apache project in Feb
2008
Various commercial
forks ( CouchBase,
Cloudant )
Thursday, 3 April 14
3. Whaaaat, written in Erlang?
CouchDB is written in Erlang,
a language pioneered by
Ericsson
Erlang scales really well -
Whatsapp backend written in
Erlang. Serious tuning.
Erlang has a love/hate type
community
Thursday, 3 April 14
4. So, like, what does it do?
Classic NoSQL database
Brilliant replication out of the box
All data stored as JSON - There is no schema as such
All communication via your app to Couch is via JSON/
HTTP(S)
Can write map-reduce functions to sort/query/filter data
It’s faster then a traditional SQL DB (well, depends...)
Oh, and why we like developing with it.
Thursday, 3 April 14
6. Simple query crash course.
Create a DB:
curl -X PUT http://couchhost:5984/mydb
Create a document:
curl -X POST http://couchhost:5984/mydb -H 'Content-Type:
application/json' -d
'{"FirstName":"Isabella","FamilyName":"Huegdon","Age":2,"Likes":
["noise","animals","chocolate","kicking Milly","throwing tantrums"]}'
Get a document:
curl -X GET http://couchhost:5984/mydb/docID
Examples to play with CouchDB
Thursday, 3 April 14
7. CouchDB + NodeJS
Bringing the power of Node + Couch together
Using NodeJS with CouchDB makes
developing modern apps easier
Using web-sockets from the browser to
NodeJS, and pushing live data changes from
Couch, makes developing fun!
npm install nano - Best module for NodeJS
Thursday, 3 April 14