• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introducing CouchDB
 

Introducing CouchDB

on

  • 3,837 views

An introduction to CouchDB for the first Jeddah Geeks meetup on 13/Nov/2009

An introduction to CouchDB for the first Jeddah Geeks meetup on 13/Nov/2009

Statistics

Views

Total Views
3,837
Views on SlideShare
3,795
Embed Views
42

Actions

Likes
7
Downloads
97
Comments
1

3 Embeds 42

http://www.hbyconsultancy.com 34
http://www.slideshare.net 5
http://www.techgig.com 3

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

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

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • a good start
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introducing CouchDB Introducing CouchDB Presentation Transcript

    • Introducing CouchDB Tuesday November 11, 2009 Hatem Ben Yacoub
    • Who am I ?
      • Hatem Ben Yacoub
      • IT Consultant
      • Senior Systems Architect
      • PHP Expert
      • e-Government Specialist
      • Energy Engineer
      • Open Source Evangelist
      • http://phpmagazine.net
      • [email_address] / @hatem / http://hatem.tel
    • How to build faster, bigger, reliable websites...
    • Scalability
    • Scalability ~== Database optimization
    • RDBMS … old fashion
    • … new fashion ??
    • NoSQL “ Not Only SQL”
    • Scaling writes & Scaling reads
    • NoSQL Non-Distributed databases (Redis, MongoDB, CouchDB , Neo4j, Tokyo cabinet ...) Distributed Databases (Cassandra, Hbase, Riak, Scalaris...)
    •  
    • CouchDB is NOT
      • A relational database.
      • A replacement for relational databases.
      • An object-oriented database.
    • CouchDB is
      • OpenSource Database
      • RESTful API
      • Schema-less document store (document in JSON format)
      • Multi-Version-Concurrency-Control model
      • User-defined query structured as map/reduce
      • Incremental Index Update mechanism
      • Multi-Master Replication model
      • Written in Erlang
    • Let's give it a try Ubuntu 9.10 already uses couchdb (all POSIX systems supported) Install the database server : $sudo apt-get install couchdb
    • Test installation
    • CouchDB port 5984
    • CouchDB Management interface (Futon)
    • Create database test
    • Firebug
    • Creating a document with jQuery // server respond with JSON also : // {"ok":true, "id":"323409622afb6477e7108684785256b8", "rev":"1-3182c819b0f98858c54ad920d6c44498"} // including the document id and revision, and a confirmation variable ok=true
    • How to request this document ? // response is also in JSON : // {"_id":"323409622afb6477e7108684785256b8", "_rev":"1-3182c819b0f98858c54ad920d6c44498", "Name":"Makkah", "Zip":21955}
    • What about updating ? // notice in the response we have revision changed to 2 // {"ok":true, "id":"323409622afb6477e7108684785256b8", "rev":"2-03779debc847f783493a69e61bd98560"}
    • What about creating a view ? // Server respond with {"ok":true, "id":"_design/render", "rev":"1-f95a9b997f1081043fda1a34be76c47e" } http://127.0.0.1:5984/test/_design/render/_show/code/480f17c996bcbd174ac64b976de47f79
    • Easy ?!
    • Why CouchDB
      • Easy to use data storage (NoSQL)
      • Easy to integrate with web applications : JavaScript, JSON
      • Scalability for large web applications : Incremental Replication, bi-directional conflict detection and management
      • Query-able and index-able
      • Offline by default
    • Who's using CouchDB ?
    • Relax
    •  
    • Ubuntu One Ubuntu : 10 million desktops worldwide
    •  
    • Lounge proxy-based partitioning/clustering framework
    • Mozilla Raindrop New messaging platform built on top of CouchDB
    • Thank you
    • Read more ...
      • http://couchdb.org
      • http://planet.couchdb.org
      • http://horicky.blogspot.com/2008/10/couchdb-implementation.html
      • http://jan.prima.de
      • http://damienkatz.net/
      • http://jchrisa.net
    • Questions ?