couchdb awesomeness - history, the basics and how we use it
DESCRIPTION
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!TRANSCRIPT
CouchDB awesomenessOur adventures in Atmail R&D with CouchDB
Ben Duncan - 2nd April
Thursday, 3 April 14
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
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
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
CouchDB FutonInbuilt WebUI for managing CouchDB + your data
Thursday, 3 April 14
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
CouchDB + NodeJSBringing the power of Node + Couch together
Using NodeJS with CouchDB makes developing modern apps easierUsing 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
R&D - http://glidr.io/Pushing messaging data between multiple devices
Thursday, 3 April 14
R&D - Email MigrationBackground daemon migrating messages, pushing status to CouchDB and live push to browser
Thursday, 3 April 14
Learn more, plz!- CouchDB Home:http://couchdb.apache.org/
- Scaling Erlang for WhatsApp:http://www.erlang-factory.com/conference/SFBay2012/speakers/RickReed
- Intro to CouchDB views/MapReducehttps://wiki.apache.org/couchdb/Introduction_to_CouchDB_views
Thursday, 3 April 14