Your SlideShare is downloading. ×
Introducing CouchDB
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Introducing CouchDB

2,455
views

Published 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

Published in: Technology

1 Comment
7 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,455
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
100
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 ?