Intro Couchdb
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Intro Couchdb

on

  • 2,682 views

 

Statistics

Views

Total Views
2,682
Views on SlideShare
2,680
Embed Views
2

Actions

Likes
0
Downloads
41
Comments
0

1 Embed 2

http://www.slideshare.net 2

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

Intro Couchdb Presentation Transcript

  • 1. Introducing CouchDB Tuesday November 11, 2009 Hatem Ben Yacoub
  • 2. Who am I ? ● Hatem Ben Yacoub ● IT Consultant ● Senior Systems Architect ● PHP Expert ● e-Government Specialist ● Energy Engineer ● Open Source Evangelist ● http://phpmagazine.net ● hatem@php.net / @hatem / http://hatem.tel
  • 3. How to build faster, bigger, reliable websites...
  • 4. Scalability
  • 5. Scalability ~== Database optimization
  • 6. RDBMS … old fashion
  • 7. … new fashion ??
  • 8. NoSQL “Not Only SQL”
  • 9. Scaling writes & Scaling reads
  • 10. NoSQL Non-Distributed databases Distributed Databases (Redis, MongoDB, (Cassandra, Hbase, CouchDB, Neo4j, Riak, Scalaris...) Tokyo cabinet ...)
  • 11. CouchDB is NOT ● A relational database. ● A replacement for relational databases. ● An object-oriented database.
  • 12. 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
  • 13. 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
  • 14. Test installation
  • 15. CouchDB port 5984
  • 16. CouchDB Management interface (Futon)
  • 17. Create database test
  • 18. Firebug
  • 19. 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
  • 20. How to request this document ? // response is also in JSON : // {"_id":"323409622afb6477e7108684785256b8", "_rev":"1-3182c819b0f98858c54ad920d6c44498", "Name":"Makkah", "Zip":21955}
  • 21. What about updating ? // notice in the response we have revision changed to 2 // {"ok":true, "id":"323409622afb6477e7108684785256b8", "rev":"2-03779debc847f783493a69e61bd98560"}
  • 22. 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
  • 23. Easy ?!
  • 24. 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
  • 25. Who's using CouchDB ?
  • 26. Relax
  • 27. Ubuntu One Ubuntu : 10 million desktops worldwide
  • 28. Lounge proxy-based partitioning/clustering framework
  • 29. Mozilla Raindrop New messaging platform built on top of CouchDB
  • 30. Thank you
  • 31. Read more ... ● http://couchdb.org ● http://planet.couchdb.org ● http://horicky.blogspot.com/2008/10/couchdb-imple ● http://jan.prima.de ● http://damienkatz.net/ ● http://jchrisa.net
  • 32. Questions ?