SlideShare a Scribd company logo
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
●   hatem@php.net / @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
Distributed Databases              (Redis, MongoDB,
 (Cassandra, Hbase,                CouchDB, Neo4j,
   Riak, Scalaris...)               Tokyo cabinet ...)
Intro Couchdb
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
Intro Couchdb
Ubuntu One
Ubuntu : 10 million desktops worldwide
Intro Couchdb
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-imple
●   http://jan.prima.de
●   http://damienkatz.net/
●   http://jchrisa.net
Questions ?

More Related Content

PDF
MySQL on AWS RDS
PDF
Mongo db3.0 wired_tiger_storage_engine
PDF
MongoDB WiredTiger Internals
PPTX
The Basics of MongoDB
PPTX
A faster web
PDF
Introduction to new high performance storage engines in mongodb 3.0
PDF
David Fetter, Disqus
PDF
Something about node basics
MySQL on AWS RDS
Mongo db3.0 wired_tiger_storage_engine
MongoDB WiredTiger Internals
The Basics of MongoDB
A faster web
Introduction to new high performance storage engines in mongodb 3.0
David Fetter, Disqus
Something about node basics

What's hot (20)

PDF
11 schema design & crud
PPTX
Storage Services
PPT
ODP
Draft slide of Demystifying DHT in GlusterFS
PDF
Using ZFS file system with MySQL
PPTX
Insight on MongoDB Change Stream - Abhishek.D, Mydbops Team
PDF
MySQL Rebuild using Logical Backups
PPTX
Intro To Mongo Db
PDF
U C2007 My S Q L Performance Cookbook
PDF
Pump up the JAM with Gatsby (2019)
PDF
Drupal performance
PPTX
Windows Azure Drive
PPTX
Understanding and tuning WiredTiger, the new high performance database engine...
PPT
Federation with foreign_data_wrappers_pg_conf_eu_20131031
PPTX
Azure Recovery Services
PDF
Putting rails and couch db on the cloud - Indicthreads cloud computing confe...
PDF
Mongo performance tuning: tips and tricks
PDF
CouchDB: replicated data store for distributed proxy server
PPTX
Microsoft Azure Media Services
PDF
MongoDB Evenings Boston - An Update on MongoDB's WiredTiger Storage Engine
11 schema design & crud
Storage Services
Draft slide of Demystifying DHT in GlusterFS
Using ZFS file system with MySQL
Insight on MongoDB Change Stream - Abhishek.D, Mydbops Team
MySQL Rebuild using Logical Backups
Intro To Mongo Db
U C2007 My S Q L Performance Cookbook
Pump up the JAM with Gatsby (2019)
Drupal performance
Windows Azure Drive
Understanding and tuning WiredTiger, the new high performance database engine...
Federation with foreign_data_wrappers_pg_conf_eu_20131031
Azure Recovery Services
Putting rails and couch db on the cloud - Indicthreads cloud computing confe...
Mongo performance tuning: tips and tricks
CouchDB: replicated data store for distributed proxy server
Microsoft Azure Media Services
MongoDB Evenings Boston - An Update on MongoDB's WiredTiger Storage Engine
Ad

Viewers also liked (7)

PDF
Eniscope
DOC
Bct Terms 1 3 Finished
PPTX
Защита от целевых атак. Практика применения решений в крупной организации
PPT
Delysium Events
PPTX
Thesis Brief012510
PPTX
Thesis Brief012510
PDF
Unix commands
Eniscope
Bct Terms 1 3 Finished
Защита от целевых атак. Практика применения решений в крупной организации
Delysium Events
Thesis Brief012510
Thesis Brief012510
Unix commands
Ad

Similar to Intro Couchdb (20)

ODP
Introducing CouchDB
PPTX
Cluster of unreliable commodity hardware (couchdb) (2)
PPTX
Couch DB
PDF
CouchDB
PPTX
CouchDB
PDF
Couch db
KEY
OSCON 2011 Learning CouchDB
PPT
Couch db
PPTX
Couch db
PPT
No sql Database
PDF
Python-CouchDB Training at PyCon PL 2012
KEY
NoSQL: Why, When, and How
PDF
CouchDB Mobile - From Couch to 5K in 1 Hour
PDF
Igor Davydenko
PPT
CouchDB and Rails on the Cloud
PDF
Manuel Hurtado. Couchbase paradigma4oct
PDF
Couchbase overview033113long
PDF
Couchbase overview033113long
KEY
Couchdb: No SQL? No driver? No problem
Introducing CouchDB
Cluster of unreliable commodity hardware (couchdb) (2)
Couch DB
CouchDB
CouchDB
Couch db
OSCON 2011 Learning CouchDB
Couch db
Couch db
No sql Database
Python-CouchDB Training at PyCon PL 2012
NoSQL: Why, When, and How
CouchDB Mobile - From Couch to 5K in 1 Hour
Igor Davydenko
CouchDB and Rails on the Cloud
Manuel Hurtado. Couchbase paradigma4oct
Couchbase overview033113long
Couchbase overview033113long
Couchdb: No SQL? No driver? No problem

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Electronic commerce courselecture one. Pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Cloud computing and distributed systems.
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Big Data Technologies - Introduction.pptx
PDF
KodekX | Application Modernization Development
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
cuic standard and advanced reporting.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
Chapter 3 Spatial Domain Image Processing.pdf
Approach and Philosophy of On baking technology
Electronic commerce courselecture one. Pdf
Programs and apps: productivity, graphics, security and other tools
Digital-Transformation-Roadmap-for-Companies.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Cloud computing and distributed systems.
Dropbox Q2 2025 Financial Results & Investor Presentation
Understanding_Digital_Forensics_Presentation.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Big Data Technologies - Introduction.pptx
KodekX | Application Modernization Development
Per capita expenditure prediction using model stacking based on satellite ima...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
cuic standard and advanced reporting.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Intro Couchdb

  • 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...
  • 5. Scalability ~== Database optimization
  • 6. RDBMS … old fashion
  • 9. Scaling writes & Scaling reads
  • 10. NoSQL Non-Distributed databases Distributed Databases (Redis, MongoDB, (Cassandra, Hbase, CouchDB, Neo4j, Riak, Scalaris...) Tokyo cabinet ...)
  • 12. CouchDB is NOT ● A relational database. ● A replacement for relational databases. ● An object-oriented database.
  • 13. 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
  • 14. 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
  • 20. 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
  • 21. How to request this document ? // response is also in JSON : // {"_id":"323409622afb6477e7108684785256b8", "_rev":"1-3182c819b0f98858c54ad920d6c44498", "Name":"Makkah", "Zip":21955}
  • 22. What about updating ? // notice in the response we have revision changed to 2 // {"ok":true, "id":"323409622afb6477e7108684785256b8", "rev":"2-03779debc847f783493a69e61bd98560"}
  • 23. 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
  • 25. 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
  • 27. Relax
  • 29. Ubuntu One Ubuntu : 10 million desktops worldwide
  • 32. Mozilla Raindrop New messaging platform built on top of CouchDB
  • 34. 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