Introducing CouchDB

  • 2,401 views
Uploaded on

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • a good start
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,401
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
98
Comments
1
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introducing CouchDB Tuesday November 11, 2009 Hatem Ben Yacoub
  • 2. Who am I ?
    • Hatem Ben Yacoub
    • 3. IT Consultant
    • 4. Senior Systems Architect
    • 5. PHP Expert
    • 6. e-Government Specialist
    • 7. Energy Engineer
    • 8. Open Source Evangelist
    • 9. http://phpmagazine.net
    • 10. [email_address] / @hatem / http://hatem.tel
  • 11. How to build faster, bigger, reliable websites...
  • 12. Scalability
  • 13. Scalability ~== Database optimization
  • 14. RDBMS … old fashion
  • 15. … new fashion ??
  • 16. NoSQL “ Not Only SQL”
  • 17. Scaling writes & Scaling reads
  • 18. NoSQL Non-Distributed databases (Redis, MongoDB, CouchDB , Neo4j, Tokyo cabinet ...) Distributed Databases (Cassandra, Hbase, Riak, Scalaris...)
  • 19.  
  • 20. CouchDB is NOT
    • A relational database.
    • 21. A replacement for relational databases.
    • 22. An object-oriented database.
  • 23. CouchDB is
    • OpenSource Database
    • 24. RESTful API
    • 25. Schema-less document store (document in JSON format)
    • 26. Multi-Version-Concurrency-Control model
    • 27. User-defined query structured as map/reduce
    • 28. Incremental Index Update mechanism
    • 29. Multi-Master Replication model
    • 30. Written in Erlang
  • 31. 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
  • 32. Test installation
  • 33. CouchDB port 5984
  • 34. CouchDB Management interface (Futon)
  • 35. Create database test
  • 36. Firebug
  • 37. 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
  • 38. How to request this document ? // response is also in JSON : // {"_id":"323409622afb6477e7108684785256b8", "_rev":"1-3182c819b0f98858c54ad920d6c44498", "Name":"Makkah", "Zip":21955}
  • 39. What about updating ? // notice in the response we have revision changed to 2 // {"ok":true, "id":"323409622afb6477e7108684785256b8", "rev":"2-03779debc847f783493a69e61bd98560"}
  • 40. 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
  • 41. Easy ?!
  • 42. Why CouchDB
    • Easy to use data storage (NoSQL)
    • 43. Easy to integrate with web applications : JavaScript, JSON
    • 44. Scalability for large web applications : Incremental Replication, bi-directional conflict detection and management
    • 45. Query-able and index-able
    • 46. Offline by default
  • 47. Who's using CouchDB ?
  • 48. Relax
  • 49.  
  • 50. Ubuntu One Ubuntu : 10 million desktops worldwide
  • 51.  
  • 52. Lounge proxy-based partitioning/clustering framework
  • 53. Mozilla Raindrop New messaging platform built on top of CouchDB
  • 54. Thank you
  • 55. Read more ...
    • http://couchdb.org
    • 56. http://planet.couchdb.org
    • 57. http://horicky.blogspot.com/2008/10/couchdb-implementation.html
    • 58. http://jan.prima.de
    • 59. http://damienkatz.net/
    • 60. http://jchrisa.net
  • 61. Questions ?