Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und relevantere Anzeigen zu schalten. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

CouchDB

420 Aufrufe

Veröffentlicht am

Kurze Vorstellung von CouchDB in der Großen Entwicklerrunde der SUB Göttingen zum Thema NoSQL Datenbanken im Februar 2012.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

CouchDB

  1. 1. Einführung in CouchDB CouchDB Zurücklehnen und entspannen! http://slog.io Thomas Schrader (@slogmen) 12/2010
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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!

×