SlideShare a Scribd company logo
1 of 55
CouchDB
Guide: Prof.S.S.Shaikh
Presented by: Rashmi Agale
Department of Computer Engineering
AISSMS COE,Pune-01
 Introduction
 RDBMS vs NoSQL
 SQL vs NoSQL
 Types of NoSQL Database
 CouchDB
 Document oriented
 JSON document
 Map/Reduce
 HTTP API
 Replication
 Eventual consistency
Overview
 Features of CouchDB
 Pros and Cons of CouchDB
 Friends of CouchDB
 CouchDB vs MongoDB
 Screenshots
 References
Overview
RDBMS vs NoSQL
SQL vs NoSQL
Types of NoSQL Database
 First released in 2005 and later became Apache project in 2008
 Relax: Non-technical person can learn it
 Fault tolerant and failure occur in controlled environment
 Scaling: Growing and shrinking of hardware in your application is allowed
 CouchDB is written in Erlang, a functional programming language with a focus
on writing robust, fault tolerant and highly concurrent applications
 A document oriented NoSQL database
 Store data with JSON documents
 Uses JavaScript as a query language for Map/Reduce indexes
 HTTP for its API
 RESTful interface
 Eventual consistency
 Replication
CouchDB
Architecture of CouchDB
 It is a 2-tier architecture
 CouchDB uses HTTP as its main
programming interface and JSON for
data storage.
 As we have JavaScript on Client side,
performance will increase due to
compatibility of JSON with JavaScript
 CouchDB is compatible to platforms
such as Windows, Linux, Mac-iOS,
Android mobiles.
 CouchDB is more suitable for Client app
such as web applications.
 It is a computer program designed for storing, retrieving, and managing
document-oriented information, also known as semi-structured data
 Unlike a relational database, CouchDB does not store data and relationships
in tables. Instead, each database is a collection of independent documents.
Each document maintains its own data and self-contained schema. An
application may access multiple databases, such as one stored on a user's
mobile phone and another on a server.
 Document databases get their type information from the data itself, normally
store all related information together
 It allows every instance of data to be different from any other. This makes
them more flexible in dealing with change and optional values, maps more
easily into program objects and often reduces database size. This makes them
attractive for programming modern web applications, which are subject to
continual change in place, and speed of deployment is an important issue
Document oriented database
Document oriented database
JSON documents
 It is Java script object notation.
 It is a open standard format that uses human-readable text to transmit
data objects consisting of attribute–value pairs
 It is a light weight data format based on JavaScript syntax therefore
web
application is very good client of CouchDB
 It largely replaces XML
 In JSON document, curly braces ({}) wrap objects, and objects are
key/value lists. Keys are strings that are wrapped in double quotes ("").
Finally, a value is a string, an integer, an object, or an array ([]). Keys
and values are separated by a colon (:), and multiple keys and values by
comma (,).
JSON documents
 A MapReduce program is composed of
 Map(): procedure (method) that performs filtering and sorting (such as
sorting students by first name)
 Reduce() method that performs a summary operation (such as counting
the number of students, yielding name frequencies).
 CouchDB uses predefined map and reduce functions in a style known
as MapReduce.
 These functions provide great flexibility because they can adapt to
variations in document structure, and indexes for each document can be
computed independently and in parallel. The combination of a map and
a reduce function is called a view in CouchDB terminology.
Map/Reduce
Map/Reduce
 HTTP is most widely deployed end-user visible protocol in existence. It handles
everything from serving, routing, proxying, monitoring, measuring and debugging.
 The main way to do anything with CouchDB is via HTTP. Create a database: make
an HTTP request; create some data: make an HTTP request; query your data: make
an HTTP request; set up replication: make an HTTP request; configure the
database: make an HTTP request. You get the idea.
HTTP for API
Replication
Eventual consistency(CAP theorem)
Features of CouchDB
 Pros:
 We don't need to fit our data into one of those higher-order normal forms
 We can change the "schema" of our data at any time
 Our data will be indexed exactly for our queries, so we will get results in constant
time.
 We don’t require plugins such as Adobe Flash player or any.
 Cons:
 We need to create views for each and every query, i.e. ad-hoc like queries (such as
concatenating dynamic WHERE's and SORT's in an SQL),queries are not
available.
 We will either have redundant data, or we will end up implementing join and sort
logic on "client-side"
Pros and Cons of CouchDB
 PouchDB
 It is the newest project on the scene. PouchDB is a pure JavaScript implementation of
CouchDB targeted at the browser. Simply called CouchDB in JavaScript for the browser.
 PouchDB is the oldest idea, but it took the longest to realize because browsers weren’t
ready for it. Now is the time though that we can build and ship a CouchDB compatible
data store and replication engine that lives entirely in your browser. If you want to build
web apps that can seamlessly synchronize data between a laptop, a phone and a server
and not treat one as a “master” and the other as “slaves”, PouchDB is your solution.
 TouchDB
 TouchDB i-OSand Android are Objective-C and Java implementations of the same idea,
but for mobile phone platforms. They natively integrate into your iOS and Android
applications and allow synchronization between themselves, multiple devices,
Friends Of CouchDB
CouchDB vs MongoDB
Example
SCREENSHOTS
SQL vs NoSQL
SQL vs NoSQL
SQL vs NoSQL
SQL vs NoSQL
SQL vs NoSQL
SQL vs NoSQL
 To open built-in web interface of CouchDB visit
http://127.0.0.1:5984/
 If everything goes fine then it show output as
{
"couchdb":"Welcome","uuid":"4ba9012bcbbaeaead6808245e5a758fe",
"version":"1.6.1",
"vendor":{
"version":"1.6.1","name":"The Apache Software Foundation”
}
}
 You can interact with the CouchDB web interface by using the following url
−http://127.0.0.1:5984/_utils/
 This shows you the index page of Futon, which is the web interface of CouchDB
Map function
 function(doc) {
var Name,Department,Address;
if(doc.Name && doc.Department){
Address=doc.Address;
Department=doc.Department;
Name=doc.Name;
emit(Name, Department);
}
}
 http://couchdb.apache.org
http://guide.couchdb.org/draft/tour.html#figure/7
Manual of CouchDB
CouchDB-The Definitive Guide,J.Chris Anderson,
Jan Lehnardt and Noah Slater
References
THANK YOU

More Related Content

What's hot

Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
Derek Stainer
 

What's hot (20)

Mongo db intro.pptx
Mongo db intro.pptxMongo db intro.pptx
Mongo db intro.pptx
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDB
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 
The Basics of MongoDB
The Basics of MongoDBThe Basics of MongoDB
The Basics of MongoDB
 
Tutorial On Database Management System
Tutorial On Database Management SystemTutorial On Database Management System
Tutorial On Database Management System
 
Introduction to mongodb
Introduction to mongodbIntroduction to mongodb
Introduction to mongodb
 
SQL vs MongoDB
SQL vs MongoDBSQL vs MongoDB
SQL vs MongoDB
 
Mongodb vs mysql
Mongodb vs mysqlMongodb vs mysql
Mongodb vs mysql
 
Non relational databases-no sql
Non relational databases-no sqlNon relational databases-no sql
Non relational databases-no sql
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Database
 
MongoDB
MongoDBMongoDB
MongoDB
 
Basics of MongoDB
Basics of MongoDB Basics of MongoDB
Basics of MongoDB
 
Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architecture
 
NOSQL Databases types and Uses
NOSQL Databases types and UsesNOSQL Databases types and Uses
NOSQL Databases types and Uses
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
 
CouchDB
CouchDBCouchDB
CouchDB
 
Spark SQL
Spark SQLSpark SQL
Spark SQL
 
Mongo DB Presentation
Mongo DB PresentationMongo DB Presentation
Mongo DB Presentation
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 

Viewers also liked

Couch Db In 60 Minutes
Couch Db In 60 MinutesCouch Db In 60 Minutes
Couch Db In 60 Minutes
George Ang
 
Couch db@nosql+taiwan
Couch db@nosql+taiwanCouch db@nosql+taiwan
Couch db@nosql+taiwan
Kenzou Yeh
 
CSense: A Stream-Processing Toolkit for Robust and High-Rate Mobile Sensing A...
CSense: A Stream-Processing Toolkit for Robust and High-Rate Mobile Sensing A...CSense: A Stream-Processing Toolkit for Robust and High-Rate Mobile Sensing A...
CSense: A Stream-Processing Toolkit for Robust and High-Rate Mobile Sensing A...
Farley Lai
 

Viewers also liked (20)

Couch db
Couch dbCouch db
Couch db
 
CouchDB
CouchDBCouchDB
CouchDB
 
CouchDB – A Database for the Web
CouchDB – A Database for the WebCouchDB – A Database for the Web
CouchDB – A Database for the Web
 
Real World CouchDB
Real World CouchDBReal World CouchDB
Real World CouchDB
 
An introduction to CouchDB
An introduction to CouchDBAn introduction to CouchDB
An introduction to CouchDB
 
CouchDB
CouchDBCouchDB
CouchDB
 
CouchDB at its Core: Global Data Storage and Rich Incremental Indexing at Clo...
CouchDB at its Core: Global Data Storage and Rich Incremental Indexing at Clo...CouchDB at its Core: Global Data Storage and Rich Incremental Indexing at Clo...
CouchDB at its Core: Global Data Storage and Rich Incremental Indexing at Clo...
 
ZendCon 2011 Learning CouchDB
ZendCon 2011 Learning CouchDBZendCon 2011 Learning CouchDB
ZendCon 2011 Learning CouchDB
 
Migrating to CouchDB
Migrating to CouchDBMigrating to CouchDB
Migrating to CouchDB
 
CouchDB-Lucene
CouchDB-LuceneCouchDB-Lucene
CouchDB-Lucene
 
Couch Db In 60 Minutes
Couch Db In 60 MinutesCouch Db In 60 Minutes
Couch Db In 60 Minutes
 
CouchDB at New York PHP
CouchDB at New York PHPCouchDB at New York PHP
CouchDB at New York PHP
 
Couch db@nosql+taiwan
Couch db@nosql+taiwanCouch db@nosql+taiwan
Couch db@nosql+taiwan
 
Intro To Couch Db
Intro To Couch DbIntro To Couch Db
Intro To Couch Db
 
Google - Bigtable
Google - BigtableGoogle - Bigtable
Google - Bigtable
 
Casos de puesta en valor de de la tecnología de Big Data con NoSQL orientada ...
Casos de puesta en valor de de la tecnología de Big Data con NoSQL orientada ...Casos de puesta en valor de de la tecnología de Big Data con NoSQL orientada ...
Casos de puesta en valor de de la tecnología de Big Data con NoSQL orientada ...
 
Amazon Dynamo
Amazon DynamoAmazon Dynamo
Amazon Dynamo
 
CSense: A Stream-Processing Toolkit for Robust and High-Rate Mobile Sensing A...
CSense: A Stream-Processing Toolkit for Robust and High-Rate Mobile Sensing A...CSense: A Stream-Processing Toolkit for Robust and High-Rate Mobile Sensing A...
CSense: A Stream-Processing Toolkit for Robust and High-Rate Mobile Sensing A...
 
Big table
Big tableBig table
Big table
 
Couch db
Couch dbCouch db
Couch db
 

Similar to Couch db

Dbms & prog lang
Dbms & prog langDbms & prog lang
Dbms & prog lang
Tech_MX
 
DynamoDB Gluecon 2012
DynamoDB Gluecon 2012DynamoDB Gluecon 2012
DynamoDB Gluecon 2012
Appirio
 
CouchDB and Rails on the Cloud
CouchDB and Rails on the CloudCouchDB and Rails on the Cloud
CouchDB and Rails on the Cloud
rockyjaiswal
 

Similar to Couch db (20)

Selecting best NoSQL
Selecting best NoSQL Selecting best NoSQL
Selecting best NoSQL
 
Introduction to mean and mern || Event by DSC UNIDEB
Introduction to mean and mern || Event by DSC UNIDEBIntroduction to mean and mern || Event by DSC UNIDEB
Introduction to mean and mern || Event by DSC UNIDEB
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDB
 
Dbms & prog lang
Dbms & prog langDbms & prog lang
Dbms & prog lang
 
What is mean stack?
What is mean stack?What is mean stack?
What is mean stack?
 
RDBMS and Hadoop
RDBMS and HadoopRDBMS and Hadoop
RDBMS and Hadoop
 
Oslo bekk2014
Oslo bekk2014Oslo bekk2014
Oslo bekk2014
 
NoSQL Databases Introduction - UTN 2013
NoSQL Databases Introduction - UTN 2013NoSQL Databases Introduction - UTN 2013
NoSQL Databases Introduction - UTN 2013
 
Benchmarking Couchbase Server for Interactive Applications
Benchmarking Couchbase Server for Interactive ApplicationsBenchmarking Couchbase Server for Interactive Applications
Benchmarking Couchbase Server for Interactive Applications
 
No sql databases
No sql databasesNo sql databases
No sql databases
 
Fyp presentation 2 (SQL Converter)
Fyp presentation 2 (SQL Converter)Fyp presentation 2 (SQL Converter)
Fyp presentation 2 (SQL Converter)
 
Deep Dive on ArangoDB
Deep Dive on ArangoDBDeep Dive on ArangoDB
Deep Dive on ArangoDB
 
DynamoDB Gluecon 2012
DynamoDB Gluecon 2012DynamoDB Gluecon 2012
DynamoDB Gluecon 2012
 
Gluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDBGluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDB
 
JS App Architecture
JS App ArchitectureJS App Architecture
JS App Architecture
 
CouchDB and Rails on the Cloud
CouchDB and Rails on the CloudCouchDB and Rails on the Cloud
CouchDB and Rails on the Cloud
 
MEAN Stack: What and Why
MEAN Stack: What and WhyMEAN Stack: What and Why
MEAN Stack: What and Why
 
In15orlesss hadoop
In15orlesss hadoopIn15orlesss hadoop
In15orlesss hadoop
 
Node Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js TutorialNode Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js Tutorial
 
Performance evaluation and estimation model using regression method for hadoo...
Performance evaluation and estimation model using regression method for hadoo...Performance evaluation and estimation model using regression method for hadoo...
Performance evaluation and estimation model using regression method for hadoo...
 

More from Rashmi Agale (8)

Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Patterns And Applications
Cloud Patterns And ApplicationsCloud Patterns And Applications
Cloud Patterns And Applications
 
DATA IN CLOUD
DATA IN CLOUDDATA IN CLOUD
DATA IN CLOUD
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
QUALITY OF SERVICE(QoS) OF CLOUD
QUALITY OF SERVICE(QoS)OFCLOUDQUALITY OF SERVICE(QoS)OFCLOUD
QUALITY OF SERVICE(QoS) OF CLOUD
 
Cloud Security
Cloud SecurityCloud Security
Cloud Security
 
realtime- transaction Processing System
 realtime- transaction Processing System realtime- transaction Processing System
realtime- transaction Processing System
 
Multimedia database
Multimedia databaseMultimedia database
Multimedia database
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 

Recently uploaded (20)

Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 

Couch db

  • 1. CouchDB Guide: Prof.S.S.Shaikh Presented by: Rashmi Agale Department of Computer Engineering AISSMS COE,Pune-01
  • 2.  Introduction  RDBMS vs NoSQL  SQL vs NoSQL  Types of NoSQL Database  CouchDB  Document oriented  JSON document  Map/Reduce  HTTP API  Replication  Eventual consistency Overview
  • 3.  Features of CouchDB  Pros and Cons of CouchDB  Friends of CouchDB  CouchDB vs MongoDB  Screenshots  References Overview
  • 6. Types of NoSQL Database
  • 7.  First released in 2005 and later became Apache project in 2008  Relax: Non-technical person can learn it  Fault tolerant and failure occur in controlled environment  Scaling: Growing and shrinking of hardware in your application is allowed  CouchDB is written in Erlang, a functional programming language with a focus on writing robust, fault tolerant and highly concurrent applications  A document oriented NoSQL database  Store data with JSON documents  Uses JavaScript as a query language for Map/Reduce indexes  HTTP for its API  RESTful interface  Eventual consistency  Replication CouchDB
  • 8. Architecture of CouchDB  It is a 2-tier architecture  CouchDB uses HTTP as its main programming interface and JSON for data storage.  As we have JavaScript on Client side, performance will increase due to compatibility of JSON with JavaScript  CouchDB is compatible to platforms such as Windows, Linux, Mac-iOS, Android mobiles.  CouchDB is more suitable for Client app such as web applications.
  • 9.  It is a computer program designed for storing, retrieving, and managing document-oriented information, also known as semi-structured data  Unlike a relational database, CouchDB does not store data and relationships in tables. Instead, each database is a collection of independent documents. Each document maintains its own data and self-contained schema. An application may access multiple databases, such as one stored on a user's mobile phone and another on a server.  Document databases get their type information from the data itself, normally store all related information together  It allows every instance of data to be different from any other. This makes them more flexible in dealing with change and optional values, maps more easily into program objects and often reduces database size. This makes them attractive for programming modern web applications, which are subject to continual change in place, and speed of deployment is an important issue Document oriented database
  • 11. JSON documents  It is Java script object notation.  It is a open standard format that uses human-readable text to transmit data objects consisting of attribute–value pairs  It is a light weight data format based on JavaScript syntax therefore web application is very good client of CouchDB  It largely replaces XML  In JSON document, curly braces ({}) wrap objects, and objects are key/value lists. Keys are strings that are wrapped in double quotes (""). Finally, a value is a string, an integer, an object, or an array ([]). Keys and values are separated by a colon (:), and multiple keys and values by comma (,).
  • 13.  A MapReduce program is composed of  Map(): procedure (method) that performs filtering and sorting (such as sorting students by first name)  Reduce() method that performs a summary operation (such as counting the number of students, yielding name frequencies).  CouchDB uses predefined map and reduce functions in a style known as MapReduce.  These functions provide great flexibility because they can adapt to variations in document structure, and indexes for each document can be computed independently and in parallel. The combination of a map and a reduce function is called a view in CouchDB terminology. Map/Reduce
  • 15.  HTTP is most widely deployed end-user visible protocol in existence. It handles everything from serving, routing, proxying, monitoring, measuring and debugging.  The main way to do anything with CouchDB is via HTTP. Create a database: make an HTTP request; create some data: make an HTTP request; query your data: make an HTTP request; set up replication: make an HTTP request; configure the database: make an HTTP request. You get the idea. HTTP for API
  • 19.  Pros:  We don't need to fit our data into one of those higher-order normal forms  We can change the "schema" of our data at any time  Our data will be indexed exactly for our queries, so we will get results in constant time.  We don’t require plugins such as Adobe Flash player or any.  Cons:  We need to create views for each and every query, i.e. ad-hoc like queries (such as concatenating dynamic WHERE's and SORT's in an SQL),queries are not available.  We will either have redundant data, or we will end up implementing join and sort logic on "client-side" Pros and Cons of CouchDB
  • 20.  PouchDB  It is the newest project on the scene. PouchDB is a pure JavaScript implementation of CouchDB targeted at the browser. Simply called CouchDB in JavaScript for the browser.  PouchDB is the oldest idea, but it took the longest to realize because browsers weren’t ready for it. Now is the time though that we can build and ship a CouchDB compatible data store and replication engine that lives entirely in your browser. If you want to build web apps that can seamlessly synchronize data between a laptop, a phone and a server and not treat one as a “master” and the other as “slaves”, PouchDB is your solution.  TouchDB  TouchDB i-OSand Android are Objective-C and Java implementations of the same idea, but for mobile phone platforms. They natively integrate into your iOS and Android applications and allow synchronization between themselves, multiple devices, Friends Of CouchDB
  • 25.
  • 29.
  • 30.
  • 33.
  • 34.  To open built-in web interface of CouchDB visit http://127.0.0.1:5984/  If everything goes fine then it show output as { "couchdb":"Welcome","uuid":"4ba9012bcbbaeaead6808245e5a758fe", "version":"1.6.1", "vendor":{ "version":"1.6.1","name":"The Apache Software Foundation” } }
  • 35.  You can interact with the CouchDB web interface by using the following url −http://127.0.0.1:5984/_utils/  This shows you the index page of Futon, which is the web interface of CouchDB
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52. Map function  function(doc) { var Name,Department,Address; if(doc.Name && doc.Department){ Address=doc.Address; Department=doc.Department; Name=doc.Name; emit(Name, Department); } }
  • 53.
  • 54.  http://couchdb.apache.org http://guide.couchdb.org/draft/tour.html#figure/7 Manual of CouchDB CouchDB-The Definitive Guide,J.Chris Anderson, Jan Lehnardt and Noah Slater References