SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Conhecendo o




Henrique Gogó - www.gogs.com.br
Bancos de dados NoSQL
Por que CouchDB?
Escalabilidade
Replicação
Master/Master
MVCC (Multiversion concurrency control)
Schema free
HTTP / RESTful
JavaScript
Futon
Controle de usuário

    Validação

    CouchApp

      Nuvem
API RESTful
JSON
GET http://localhost:5984/
{"couchdb":"Welcome","version":"1.0.1"}
Criar banco de dados


PUT http://localhost:5984/database

            {"ok":true}
Deletar banco de dados

DELETE http://localhost:5984/database

             {"ok":true}
Criar documento

 PUT http://localhost:5984/database/doc
-d '{"nome":"Henrique","apelido":"Gogó"}'

    {"ok":true,"id":"doc","rev":"1-
446a0c701e94053b4c3baaa5ef3fe68c"}
Criar documento gerando
  o id automaticamente
  POST http://localhost:5984/database/
  -d '{"site":"http://www.gogs.com.br"}'
   -H "Content-Type: application/json"

{"ok":true,"id":"468df12f72c2629fd9319b6
            dfd0009dd","rev":"1-
  0a48dec3e05fc52dae8b2943a4a55864"}
Ver documento

 GET http://localhost:5984/database/doc

         {"_id":"doc","_rev":"1-
446a0c701e94053b4c3baaa5ef3fe68c","no
 me":"Henrique","apelido":"Gogu00f3"}
Atualizar documento
PUT http://localhost:5984/database/doc
-d '{"_rev":"1-446a0c701e94053b4c3baaa5ef3fe68c",
                  "apelido":"Gogs"}'

     {"ok":true,"id":"doc","rev":"2-
191182436ca9a532ec1124aa91b5a8da"}
Deletar documento
                  DELETE
http://localhost:5984/database/doc?rev=2-
  191182436ca9a532ec1124aa91b5a8da

      {"ok":true,"id":"doc","rev":"3-
 4c1033574d7d38e57fe92a1b51fc667d"}
Map
Reduce
Map
function(doc) {
  if (doc.city == "Fortaleza")
  emit(doc.title,
        doc.month+"/"+doc.year);
}
Map
Map
Reduce

function(keys, values) {
  return values;
}
Reduce
Reduce
NoSQL CouchDB

Mais conteúdo relacionado

Mais procurados

PhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaPhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaHenrique Gogó
 
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Felipe Blini
 
Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Jonata Weber
 
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference BrasilConstruindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference BrasilAndré Paulovich
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasWaldemar Neto
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsSuissa
 
Tunando o Wordpress para sites de alta visitação
Tunando o Wordpress para sites de alta visitaçãoTunando o Wordpress para sites de alta visitação
Tunando o Wordpress para sites de alta visitaçãoIsrael Cefrin
 

Mais procurados (12)

Let's log!
Let's log!Let's log!
Let's log!
 
PhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaPhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha Camarada
 
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
 
Conhecendo mundo Node.js
Conhecendo mundo Node.jsConhecendo mundo Node.js
Conhecendo mundo Node.js
 
JavaScript Hacks
JavaScript HacksJavaScript Hacks
JavaScript Hacks
 
Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)
 
Construindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference BrasilConstruindo apps com SignalR - AspNet Conference Brasil
Construindo apps com SignalR - AspNet Conference Brasil
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscas
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webapps
 
Tunando o Wordpress para sites de alta visitação
Tunando o Wordpress para sites de alta visitaçãoTunando o Wordpress para sites de alta visitação
Tunando o Wordpress para sites de alta visitação
 
Git - Visão Geral
Git - Visão GeralGit - Visão Geral
Git - Visão Geral
 
Talk at QConSP
Talk at QConSPTalk at QConSP
Talk at QConSP
 

Destaque (11)

Aplicações no Contexto de Big Data
Aplicações no Contexto de Big DataAplicações no Contexto de Big Data
Aplicações no Contexto de Big Data
 
CouchDB Presentation
CouchDB PresentationCouchDB Presentation
CouchDB Presentation
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
Curso AngularJS - Parte 2
Curso AngularJS - Parte 2Curso AngularJS - Parte 2
Curso AngularJS - Parte 2
 
noSQL com CouchDb e PHP
noSQL com CouchDb e PHPnoSQL com CouchDb e PHP
noSQL com CouchDb e PHP
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
Palestra CouchDB III ENSOL
Palestra CouchDB III ENSOLPalestra CouchDB III ENSOL
Palestra CouchDB III ENSOL
 
MongoDB e Bancos de Dados Orientados a Documentos
MongoDB e Bancos de Dados Orientados a DocumentosMongoDB e Bancos de Dados Orientados a Documentos
MongoDB e Bancos de Dados Orientados a Documentos
 
CouchDB
CouchDBCouchDB
CouchDB
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
An introduction to CouchDB
An introduction to CouchDBAn introduction to CouchDB
An introduction to CouchDB
 

Semelhante a NoSQL CouchDB

Workshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaWorkshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaSensedia
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com AjaxAdler Medrado
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EERodrigo Cândido da Silva
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2Thyago Maia
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedoresJardel Weyrich
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Fabrízio Mello
 
Tony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics ArtifactsTony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics Artifactstonyrodrigues
 
Construindo APIs RESTful com Spring
Construindo APIs RESTful com SpringConstruindo APIs RESTful com Spring
Construindo APIs RESTful com SpringMateus Malaquias
 
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )João Moura
 
Javascript no SAPO e libsapojs
Javascript no SAPO e libsapojsJavascript no SAPO e libsapojs
Javascript no SAPO e libsapojscodebits
 
Zabbix Conference LatAm 2019 - Automação: Ganhando produtividade
Zabbix Conference LatAm 2019 - Automação: Ganhando produtividadeZabbix Conference LatAm 2019 - Automação: Ganhando produtividade
Zabbix Conference LatAm 2019 - Automação: Ganhando produtividadeIgor Nicoli
 
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSAplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSJackson F. de A. Mafra
 

Semelhante a NoSQL CouchDB (20)

Rest workshop
Rest workshopRest workshop
Rest workshop
 
Workshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaWorkshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha Básica
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com Ajax
 
Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1Treinamento Elasticsearch - Parte 1
Treinamento Elasticsearch - Parte 1
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 2
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores
 
Design de APIs REST
Design de APIs RESTDesign de APIs REST
Design de APIs REST
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010
 
Tony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics ArtifactsTony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics Artifacts
 
Construindo APIs RESTful com Spring
Construindo APIs RESTful com SpringConstruindo APIs RESTful com Spring
Construindo APIs RESTful com Spring
 
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
 
Javascript no SAPO e libsapojs
Javascript no SAPO e libsapojsJavascript no SAPO e libsapojs
Javascript no SAPO e libsapojs
 
Web Performance Client Side
Web Performance Client SideWeb Performance Client Side
Web Performance Client Side
 
Python 08
Python 08Python 08
Python 08
 
PHP no Windows Azure
PHP no Windows AzurePHP no Windows Azure
PHP no Windows Azure
 
Aula 2
Aula 2Aula 2
Aula 2
 
Zabbix Conference LatAm 2019 - Automação: Ganhando produtividade
Zabbix Conference LatAm 2019 - Automação: Ganhando produtividadeZabbix Conference LatAm 2019 - Automação: Ganhando produtividade
Zabbix Conference LatAm 2019 - Automação: Ganhando produtividade
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSAplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
 

Mais de Henrique Gogó

JavaScript Model-View no Frontend
JavaScript Model-View no FrontendJavaScript Model-View no Frontend
JavaScript Model-View no FrontendHenrique Gogó
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosHenrique Gogó
 
Backbone.js - A espinha dorsal de aplicações web
Backbone.js - A espinha dorsal de aplicações webBackbone.js - A espinha dorsal de aplicações web
Backbone.js - A espinha dorsal de aplicações webHenrique Gogó
 
Criando aplicações JavaScript com CouchApp + Sammy.js
Criando aplicações JavaScript com CouchApp + Sammy.jsCriando aplicações JavaScript com CouchApp + Sammy.js
Criando aplicações JavaScript com CouchApp + Sammy.jsHenrique Gogó
 
Urls amigáveis em JavaScript com Sammy JS
Urls amigáveis em JavaScript com Sammy JSUrls amigáveis em JavaScript com Sammy JS
Urls amigáveis em JavaScript com Sammy JSHenrique Gogó
 

Mais de Henrique Gogó (8)

Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
Introdução React.js
Introdução React.jsIntrodução React.js
Introdução React.js
 
JavaScript Model-View no Frontend
JavaScript Model-View no FrontendJavaScript Model-View no Frontend
JavaScript Model-View no Frontend
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectados
 
Backbone.js - A espinha dorsal de aplicações web
Backbone.js - A espinha dorsal de aplicações webBackbone.js - A espinha dorsal de aplicações web
Backbone.js - A espinha dorsal de aplicações web
 
NoSQL + Node.js
NoSQL + Node.jsNoSQL + Node.js
NoSQL + Node.js
 
Criando aplicações JavaScript com CouchApp + Sammy.js
Criando aplicações JavaScript com CouchApp + Sammy.jsCriando aplicações JavaScript com CouchApp + Sammy.js
Criando aplicações JavaScript com CouchApp + Sammy.js
 
Urls amigáveis em JavaScript com Sammy JS
Urls amigáveis em JavaScript com Sammy JSUrls amigáveis em JavaScript com Sammy JS
Urls amigáveis em JavaScript com Sammy JS
 

NoSQL CouchDB