SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Einführung in CouchDB

CouchDB

Zurücklehnen und entspannen!
http://slog.io
Thomas Schrader (@slogmen) 12/2010
REST-Interface
• API über http GET, PUT, POST, DELETE
• Browser und curl sind unsere Freunde:
➜ curl http://localhost:5984/demo/1dc6eece6526ad34c376a04dad0019e2
{"_id": "1dc6eece6526ad34c376a04dad0019e2",
"_rev": "1-09ef435d312bbc80136ec750025a44d1",
"urgency": "3",
"request": "init"}

Einführung in CouchDB
Zurücklehnen und entspannen!
Dokument anlegen
➜ curl -X POST -H 'Content-Type: application/json'
-d '{"request": "init", "urgency": 3}'
http://name:pw@localhost:5984/demo

HTTP/1.1 201 Created
{"ok": true,
"id": "5fe5c3d8731379a5d0b4d4ae0e0046da",
"rev": "1-09ef435d312bbc80136ec750025a44d1"}

Einführung in CouchDB
Zurücklehnen und entspannen!
Dokument mit ID
➜ curl -X POST -H 'Content-Type: application/json'
-d '{"request": "init", "urgency": 3}'
http://name:pw@localhost:5984/demo/very-urgent

HTTP/1.1 201 Created
{"ok": true,
"id": "very-urgent",
"rev": "1-09ef435d312bbc80136ec750025a44d1"}

Einführung in CouchDB
Zurücklehnen und entspannen!
Konflikt
➜ curl -X PUT -H 'Content-Type: application/json'
-d '{"request": "init", "urgency": 10}'
http://name:pw@localhost:5984/demo/very-urgent

HTTP/1.1 409 Conflict
{"error": "conflict",
"reason": "Document update conflict."}

Einführung in CouchDB
Zurücklehnen und entspannen!
Überschreiben
➜ curl -X PUT -H 'Content-Type: application/json'
-d '{"request": "init", "urgency": 10,
"_rev": "1-09ef435d312bbc80136ec750025a44d1" }'
http://name:pw@localhost:5984/demo/very-urgent

HTTP/1.1 201 Created
{"ok": true,
"id": "very-urgent",
"rev": "2-d13bda084accd9c47ecd176b9fe164b3"}

Einführung in CouchDB
Zurücklehnen und entspannen!
Views
• ermöglichen systematischen Zugriff auf
die Dokumente

• Map / Reduce
• konzeptuell zunächst ungewohnt
• werden in sogenannten »Design

Dokumenten« in der Datenbank abgelegt

Einführung in CouchDB
Zurücklehnen und entspannen!
Map
• Dokument wird als Variable doc übergeben
• Daten schreiben mit der Funktion emit
• Beispiel:
function (doc) {
emit(doc.request, doc.urgency);
}
Einführung in CouchDB
Zurücklehnen und entspannen!
Reduce
• optional
• zum Zusammenfassen von Dokumenten mit
demselbem Map-Ergebnis: muß einen Array
von Werten zu einem Wert reduzieren

• muß technische Bedingungen erfüllen
• vordefiniert: _count, _sum
Einführung in CouchDB
Zurücklehnen und entspannen!
Abfrage
http://localhost:5984/

Host

pazpar2-log/

DB

_design/log/_view/inits

View

?	

 startkey=[1327705875000]

ab wo?

&	

 group=true

gruppieren

&	

 group_level=2
Einführung in CouchDB
Zurücklehnen und entspannen!
Nützlich
• Dokumente mit Attachments
• Mehr View Features: _list, _show
• Weboberfläche unter _utils
• couchapp für Design Dokumente
• O’Reilly Buch: guide.couchdb.org
• Wiki: wiki.apache.org/couchdb/
Einführung in CouchDB
Zurücklehnen und entspannen!
Verfügbarkeit
• Manuelle Installation aufwendig
• Linux: Pakete für Ubuntu, ältere für SuSE
• Mac: Homebrew, älter: CouchDBX
• Windows
Einführung in CouchDB
Zurücklehnen und entspannen!

Contenu connexe

En vedette

Thomas metzler, wer nach minergie baut muss umdenken
Thomas metzler, wer nach minergie baut muss umdenkenThomas metzler, wer nach minergie baut muss umdenken
Thomas metzler, wer nach minergie baut muss umdenkenVorname Nachname
 
¿Por qué realmente renunció el papa Benedicto XVI? Luis Salvador Velasquez R...
¿Por qué realmente renunció el papa Benedicto XVI?  Luis Salvador Velasquez R...¿Por qué realmente renunció el papa Benedicto XVI?  Luis Salvador Velasquez R...
¿Por qué realmente renunció el papa Benedicto XVI? Luis Salvador Velasquez R...Luis Salvador Velasquez Rosas
 
gold im Mai – DAS STAR-MAGAZIN von Netto
gold im Mai – DAS STAR-MAGAZIN von Nettogold im Mai – DAS STAR-MAGAZIN von Netto
gold im Mai – DAS STAR-MAGAZIN von NettoNetto_Blogger
 
Ardennes
ArdennesArdennes
ArdennesCCDH75
 
Hat Ihr Blog eine Persönlichkeit?
Hat Ihr Blog eine Persönlichkeit?Hat Ihr Blog eine Persönlichkeit?
Hat Ihr Blog eine Persönlichkeit?ROHINIE.COM Limited
 
Für Ärzte & Therapeuten - Praxisvideos im Marketing /m.Richtpreisen
Für Ärzte & Therapeuten - Praxisvideos im Marketing /m.RichtpreisenFür Ärzte & Therapeuten - Praxisvideos im Marketing /m.Richtpreisen
Für Ärzte & Therapeuten - Praxisvideos im Marketing /m.RichtpreisenROHINIE.COM Limited
 
Energie sparen und Wohnkomfort schaffen durch richtiges Dämmen
Energie sparen und Wohnkomfort schaffen durch richtiges DämmenEnergie sparen und Wohnkomfort schaffen durch richtiges Dämmen
Energie sparen und Wohnkomfort schaffen durch richtiges DämmenVorname Nachname
 
IBS QMS:expertenkreis 2015 in Leipzig
IBS QMS:expertenkreis 2015 in LeipzigIBS QMS:expertenkreis 2015 in Leipzig
IBS QMS:expertenkreis 2015 in LeipzigTanja Böttcher
 
CARTA ALS REIS MAGS
CARTA ALS REIS MAGSCARTA ALS REIS MAGS
CARTA ALS REIS MAGSXeli Alcaide
 
Mendez karen
Mendez karen Mendez karen
Mendez karen Mendezlu
 
Treball cimoco
Treball cimocoTreball cimoco
Treball cimocosergirando
 
ROHINIE.COM: Marketing - Pinterest gegen Twitter: wer ist effektiver?
ROHINIE.COM: Marketing - Pinterest gegen Twitter: wer ist effektiver? ROHINIE.COM: Marketing - Pinterest gegen Twitter: wer ist effektiver?
ROHINIE.COM: Marketing - Pinterest gegen Twitter: wer ist effektiver? ROHINIE.COM Limited
 
Hallenfinder - Historie + Zukunft
Hallenfinder - Historie + ZukunftHallenfinder - Historie + Zukunft
Hallenfinder - Historie + ZukunftRobert Gogolok
 
Qualität bei Komfortlüftungen
Qualität bei KomfortlüftungenQualität bei Komfortlüftungen
Qualität bei KomfortlüftungenVorname Nachname
 

En vedette (19)

Gefällt mir?
Gefällt mir?Gefällt mir?
Gefällt mir?
 
Taller los secretos del abuelo sapo
Taller los secretos del abuelo sapoTaller los secretos del abuelo sapo
Taller los secretos del abuelo sapo
 
HSD Exclusive by POSLIGNE_de
HSD Exclusive by POSLIGNE_deHSD Exclusive by POSLIGNE_de
HSD Exclusive by POSLIGNE_de
 
Thomas metzler, wer nach minergie baut muss umdenken
Thomas metzler, wer nach minergie baut muss umdenkenThomas metzler, wer nach minergie baut muss umdenken
Thomas metzler, wer nach minergie baut muss umdenken
 
¿Por qué realmente renunció el papa Benedicto XVI? Luis Salvador Velasquez R...
¿Por qué realmente renunció el papa Benedicto XVI?  Luis Salvador Velasquez R...¿Por qué realmente renunció el papa Benedicto XVI?  Luis Salvador Velasquez R...
¿Por qué realmente renunció el papa Benedicto XVI? Luis Salvador Velasquez R...
 
TECNOCLASSISTEMAS 2
TECNOCLASSISTEMAS 2TECNOCLASSISTEMAS 2
TECNOCLASSISTEMAS 2
 
La educación en jovellanos
La educación en jovellanosLa educación en jovellanos
La educación en jovellanos
 
gold im Mai – DAS STAR-MAGAZIN von Netto
gold im Mai – DAS STAR-MAGAZIN von Nettogold im Mai – DAS STAR-MAGAZIN von Netto
gold im Mai – DAS STAR-MAGAZIN von Netto
 
Ardennes
ArdennesArdennes
Ardennes
 
Hat Ihr Blog eine Persönlichkeit?
Hat Ihr Blog eine Persönlichkeit?Hat Ihr Blog eine Persönlichkeit?
Hat Ihr Blog eine Persönlichkeit?
 
Für Ärzte & Therapeuten - Praxisvideos im Marketing /m.Richtpreisen
Für Ärzte & Therapeuten - Praxisvideos im Marketing /m.RichtpreisenFür Ärzte & Therapeuten - Praxisvideos im Marketing /m.Richtpreisen
Für Ärzte & Therapeuten - Praxisvideos im Marketing /m.Richtpreisen
 
Energie sparen und Wohnkomfort schaffen durch richtiges Dämmen
Energie sparen und Wohnkomfort schaffen durch richtiges DämmenEnergie sparen und Wohnkomfort schaffen durch richtiges Dämmen
Energie sparen und Wohnkomfort schaffen durch richtiges Dämmen
 
IBS QMS:expertenkreis 2015 in Leipzig
IBS QMS:expertenkreis 2015 in LeipzigIBS QMS:expertenkreis 2015 in Leipzig
IBS QMS:expertenkreis 2015 in Leipzig
 
CARTA ALS REIS MAGS
CARTA ALS REIS MAGSCARTA ALS REIS MAGS
CARTA ALS REIS MAGS
 
Mendez karen
Mendez karen Mendez karen
Mendez karen
 
Treball cimoco
Treball cimocoTreball cimoco
Treball cimoco
 
ROHINIE.COM: Marketing - Pinterest gegen Twitter: wer ist effektiver?
ROHINIE.COM: Marketing - Pinterest gegen Twitter: wer ist effektiver? ROHINIE.COM: Marketing - Pinterest gegen Twitter: wer ist effektiver?
ROHINIE.COM: Marketing - Pinterest gegen Twitter: wer ist effektiver?
 
Hallenfinder - Historie + Zukunft
Hallenfinder - Historie + ZukunftHallenfinder - Historie + Zukunft
Hallenfinder - Historie + Zukunft
 
Qualität bei Komfortlüftungen
Qualität bei KomfortlüftungenQualität bei Komfortlüftungen
Qualität bei Komfortlüftungen
 

Similaire à CouchDB

Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für EntwicklerCarsten Czarski
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickleroraclebudb
 
DOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubDOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubLoopback.ORG
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit RustJens Siebert
 
JSON in der Oracle12c Database
JSON in der Oracle12c DatabaseJSON in der Oracle12c Database
JSON in der Oracle12c DatabaseCarsten Czarski
 
Einführung in Elasticsearch
Einführung in ElasticsearchEinführung in Elasticsearch
Einführung in ElasticsearchFlorian Hopf
 
Javascript done right
Javascript done rightJavascript done right
Javascript done rightDirk Ginader
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Markus Flechtner
 
Einführung in Elasticsearch
Einführung in ElasticsearchEinführung in Elasticsearch
Einführung in ElasticsearchFlorian Hopf
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsChristian Gohmann
 
BI-System mit OData und SharePoint Online
BI-System mit OData und SharePoint OnlineBI-System mit OData und SharePoint Online
BI-System mit OData und SharePoint Onlineatwork
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Dirk Ginader
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEARCH ONE
 
Schöneres Web mit HTML5 + CSS3
Schöneres Web mit HTML5 + CSS3Schöneres Web mit HTML5 + CSS3
Schöneres Web mit HTML5 + CSS3ginettateam
 
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...OPITZ CONSULTING Deutschland
 
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfOSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfNETWAYS
 

Similaire à CouchDB (20)

Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickler
 
Oracle12c für Entwickler
Oracle12c für EntwicklerOracle12c für Entwickler
Oracle12c für Entwickler
 
DOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubDOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pub
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust
 
JSON in der Oracle12c Database
JSON in der Oracle12c DatabaseJSON in der Oracle12c Database
JSON in der Oracle12c Database
 
Einführung in Elasticsearch
Einführung in ElasticsearchEinführung in Elasticsearch
Einführung in Elasticsearch
 
Javascript done right
Javascript done rightJavascript done right
Javascript done right
 
Webapplikationen mit Node.js
Webapplikationen mit Node.jsWebapplikationen mit Node.js
Webapplikationen mit Node.js
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?
 
Einführung in Elasticsearch
Einführung in ElasticsearchEinführung in Elasticsearch
Einführung in Elasticsearch
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle Tools
 
BI-System mit OData und SharePoint Online
BI-System mit OData und SharePoint OnlineBI-System mit OData und SharePoint Online
BI-System mit OData und SharePoint Online
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
 
Rack-Middleware
Rack-MiddlewareRack-Middleware
Rack-Middleware
 
Schöneres Web mit HTML5 + CSS3
Schöneres Web mit HTML5 + CSS3Schöneres Web mit HTML5 + CSS3
Schöneres Web mit HTML5 + CSS3
 
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
 
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas GelfOSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
OSMC 2014: Icinga Web 2 kann mehr | Thomas Gelf
 

Plus de Sven-S. Porst

Metasuche mit pazpar2
Metasuche mit pazpar2Metasuche mit pazpar2
Metasuche mit pazpar2Sven-S. Porst
 
xmlinclude für DSpace
xmlinclude für DSpacexmlinclude für DSpace
xmlinclude für DSpaceSven-S. Porst
 
Metasuche mit pazpar2
Metasuche mit pazpar2Metasuche mit pazpar2
Metasuche mit pazpar2Sven-S. Porst
 
Germania Sacra Linked Data, SWIB13
Germania Sacra Linked Data, SWIB13Germania Sacra Linked Data, SWIB13
Germania Sacra Linked Data, SWIB13Sven-S. Porst
 

Plus de Sven-S. Porst (6)

Metasuche mit pazpar2
Metasuche mit pazpar2Metasuche mit pazpar2
Metasuche mit pazpar2
 
xmlinclude für DSpace
xmlinclude für DSpacexmlinclude für DSpace
xmlinclude für DSpace
 
Metasuche mit pazpar2
Metasuche mit pazpar2Metasuche mit pazpar2
Metasuche mit pazpar2
 
git Vorstellung
git Vorstellunggit Vorstellung
git Vorstellung
 
Germania Sacra Linked Data, SWIB13
Germania Sacra Linked Data, SWIB13Germania Sacra Linked Data, SWIB13
Germania Sacra Linked Data, SWIB13
 
xmlinclude
xmlincludexmlinclude
xmlinclude
 

CouchDB

  • 1. Einführung in CouchDB CouchDB Zurücklehnen und entspannen! http://slog.io Thomas Schrader (@slogmen) 12/2010
  • 2. REST-Interface • API über http GET, PUT, POST, DELETE • Browser und curl sind unsere Freunde: ➜ curl http://localhost:5984/demo/1dc6eece6526ad34c376a04dad0019e2 {"_id": "1dc6eece6526ad34c376a04dad0019e2", "_rev": "1-09ef435d312bbc80136ec750025a44d1", "urgency": "3", "request": "init"} Einführung in CouchDB Zurücklehnen und entspannen!
  • 3. Dokument anlegen ➜ curl -X POST -H 'Content-Type: application/json' -d '{"request": "init", "urgency": 3}' http://name:pw@localhost:5984/demo HTTP/1.1 201 Created {"ok": true, "id": "5fe5c3d8731379a5d0b4d4ae0e0046da", "rev": "1-09ef435d312bbc80136ec750025a44d1"} Einführung in CouchDB Zurücklehnen und entspannen!
  • 4. Dokument mit ID ➜ curl -X POST -H 'Content-Type: application/json' -d '{"request": "init", "urgency": 3}' http://name:pw@localhost:5984/demo/very-urgent HTTP/1.1 201 Created {"ok": true, "id": "very-urgent", "rev": "1-09ef435d312bbc80136ec750025a44d1"} Einführung in CouchDB Zurücklehnen und entspannen!
  • 5. Konflikt ➜ curl -X PUT -H 'Content-Type: application/json' -d '{"request": "init", "urgency": 10}' http://name:pw@localhost:5984/demo/very-urgent HTTP/1.1 409 Conflict {"error": "conflict", "reason": "Document update conflict."} Einführung in CouchDB Zurücklehnen und entspannen!
  • 6. Überschreiben ➜ curl -X PUT -H 'Content-Type: application/json' -d '{"request": "init", "urgency": 10, "_rev": "1-09ef435d312bbc80136ec750025a44d1" }' http://name:pw@localhost:5984/demo/very-urgent HTTP/1.1 201 Created {"ok": true, "id": "very-urgent", "rev": "2-d13bda084accd9c47ecd176b9fe164b3"} Einführung in CouchDB Zurücklehnen und entspannen!
  • 7. Views • ermöglichen systematischen Zugriff auf die Dokumente • Map / Reduce • konzeptuell zunächst ungewohnt • werden in sogenannten »Design Dokumenten« in der Datenbank abgelegt Einführung in CouchDB Zurücklehnen und entspannen!
  • 8. Map • Dokument wird als Variable doc übergeben • Daten schreiben mit der Funktion emit • Beispiel: function (doc) { emit(doc.request, doc.urgency); } Einführung in CouchDB Zurücklehnen und entspannen!
  • 9. Reduce • optional • zum Zusammenfassen von Dokumenten mit demselbem Map-Ergebnis: muß einen Array von Werten zu einem Wert reduzieren • muß technische Bedingungen erfüllen • vordefiniert: _count, _sum Einführung in CouchDB Zurücklehnen und entspannen!
  • 10. Abfrage http://localhost:5984/ Host pazpar2-log/ DB _design/log/_view/inits View ? startkey=[1327705875000] ab wo? & group=true gruppieren & group_level=2 Einführung in CouchDB Zurücklehnen und entspannen!
  • 11. Nützlich • Dokumente mit Attachments • Mehr View Features: _list, _show • Weboberfläche unter _utils • couchapp für Design Dokumente • O’Reilly Buch: guide.couchdb.org • Wiki: wiki.apache.org/couchdb/ Einführung in CouchDB Zurücklehnen und entspannen!
  • 12. Verfügbarkeit • Manuelle Installation aufwendig • Linux: Pakete für Ubuntu, ältere für SuSE • Mac: Homebrew, älter: CouchDBX • Windows Einführung in CouchDB Zurücklehnen und entspannen!