Bachelorarbeit, 2015
54 Seiten, Note: 1,7
I. Abbildungsverzeichnis
II. Abkürzungsverzeichnis
1 Einleitung
2 Einführung in die NoSQL-Datenbanken
2.1 Definition NoSQL-Datenbanken
2.2 Historischer Rückblick
2.3 Typen von NoSQL-Datenbanken
3 Apache CouchDB
3.1 Dokumentbasiert
3.2 Attachment
3.3 RESTful JSON API
3.4 Futon
4 Installation von CouchDB
4.1 Installationsanleitung
4.2 Installation von cURL
5 CRUD-Operationen
5.1 Anzeigen der Datenbanken
5.2 Anlegen einer Datenbank
5.3 Anlegen von Dokumenten
5.4 Anzeigen von Dokumenten
5.5 Update von Dokumenten
5.6 Löschen eines Dokuments
5.7 Weitere CRUD-Tests
6 Importieren der Videodatenbank
6.1 Aktuelles Datenformat
6.2 Bereinigung der Daten
6.3 Laden der Daten in die Zieldatenbank
6.4 Weitere Importtests
7 Standardabfragen
7.1 UND- sowie ODER-Operationen
7.2 Array-Abfragen
7.3 Anzeigen von Datentypen
8 MapReduce
8.1 Daten summieren
8.2 Daten zusammenzählen
8.3 Ermittelung von Durchschnitten
8.4 Stats-Funktion
9 Fazit
Quellenverzeichnis
Abbildung 1: Verschiedenen Typen von NoSQL-Datenbanken (ED)
Abbildung 2: CouchDB-Logo (http://couchdb.apache.org/)
Abbildung 3: Screenshot Futon Beispieldokument
Abbildung 4: Installation CouchDB
Abbildung 5: Anzeigen von Datenbanken CouchDB shell
Abbildung 6: Anlegen von Dokument Rückmeldung shell
Abbildung 7: Anzeigen von allen Dokumenten in der CouchDB shell
Abbildung 8: Anzeigen von einem Dokument CouchDB shell
Abbildung 9 Dokument Darstellung Futon
Abbildung 10: Aktualisierungsbestätigung CouchDB shell
Abbildung 11: Update-Prüfung CouchDB shell
Abbildung 12: Löschbestätigung CouchDB shell
Abbildung 13: Zeichensetzung CouchDB shell
Abbildung 14: Fehlermeldung existierende Datenbank CouchDB shell
Abbildung 15: Screenshot Dokument Futon
Abbildung 16: Screenshot musik_datenbank Futon
Abbildung 17: Screenshot video_datenbank Futon
Abbildung 18: Auszug CouchDB Update shell
Abbildung 19: Update-Prüfung CouchDB shell
Abbildung 20: Fehlermeldung JSONlint (http://jsonlint.com/)
Abbildung 21: Darstellung leeres Feld Futon
Abbildung 22: Importprüfung CouchDB shell
Abbildung 23: Export Rückgabe txt CouchDB shell
Abbildung 24: Export Rückgabe json CouchDB shell
Abbildung 25: Abfrageergebnis CouchDB shell
Abbildung 26: Grafik MapReduce (ED)
Abbildung in dieser Leseprobe nicht enthalten
Für viele Unternehmen sind sie elementar wichtig, für Benutzer von Smartphones, Social Media-Anwendungen, Online-Shops sowie diverser Plattformen sind sie dagegen nicht von großer Bedeutung. Die Rede ist von ‚Daten‘. Da Daten aus Unternehmenssicht wichtige Informationen, wie z. B. das Kaufverhalten eines Kunden, reflektieren, spielen sie heutzutage eine wichtige Rolle bei der Gewinngenerierung. Beispielsweise versuchen Unternehmen anhand von verschiedenen BI-Lösungen, diese gespeicherten Daten auszuwerten, um eine Gewinnmaximierung zu erzielen.
Laut der Digital-Universe-Studie von IDC verdoppelt sich der komplette Datenbestand alle zweieinhalb Jahre und soll im Jahre 2020 in Westeuropa auf fünf Zetabyte anwachsen.[1] Die Studie besagt zudem, dass das Datenvolumen 2020 auf dem gesamten Globus 44 Zetabyte betragen wird.[2]
An einigen Beispielen lässt sich der explosiv wachsende Datenbestand aufzeigen:[3]
- Derzeit wären acht Jahre nötig, um alle Videos in YouTube, die täglich hochgeladen werden, anzuschauen.
- Es werden in Facebook pro Minute 2,46 Millionen Inhalte geteilt.
- Die Summe der Datensätze ist aktuell größer als die Zahl aller Sterne im Universum.
Solch große Datenansammlungen, die aufgrund des Web 2.0 entstanden sind, brachten vor einigen Jahren das Trendwort ‚BIG DATA‘ hervor. Die Entwicklung von Big Data brachte vielen Unternehmen nicht nur profitable Informationen, sondern ließ auch deren Datenbanken und Datenbank-Management-Systeme an ihre Grenzen stoßen. Herausforderungen, wie z. B. die schnelle Verarbeitung vieler Datensätze, sind aufgrund der Komplexität und der Datenstruktur von relationalen Datenbank-Management-Systemen nicht mehr leicht zu bewältigen. Diese Herausforderungen stießen den Durchbruch der NoSQL-Datenbanken an.[4]
Diese Bachelorarbeit befasst sich mit folgendem Thema: Implementation und Test einer kleinen Videodatenbank mit CouchDB.
Die Motivation zu dieser Arbeit ergibt sich aus der immer stärker anwachsenden Datenmenge und aus meiner Anstellung als Werkstudent, wobei ich im Geschäftsbereich BI ebenso mit der Präsenz hoher Datenmengen konfrontiert bin.
In der vorliegenden Arbeit werde ich am Anfang in die NoSQL-Datenbanken einführen. Dabei werde ich auf die Definition, den geschichtlichen Hintergrund sowie auf verschiedene Datenbanktypen eingehen.
Im nächsten Kapitel erfolgt eine überblicksartige Erläuterung von Apache CouchDB, wobei ausgewählte Begrifflichkeiten der Datenbank erklärt werden. In Kapitel vier wird die Installation vorgestellt. Eine kleine Schritt-für-Schritt-Anleitung soll eine reibungslose Installation gewährleisten.
Nach Installationsabschluss werden CRUD-Operationen getestet und dokumentiert. In diesem Kapitel wird erklärt, wie man eine Datenbank sowie ein Dokument anhand von cURL anlegt, anzeigt, aktualisiert sowie am Ende wieder löscht. Im nächsten Kapitel folgt das Importieren der Videodatenbank, hierbei wird analysiert, wie die Daten strukturiert, bereinigt und in die Zieldatenbank importiert werden. Nach dem Importprozess werden die vorhandenen Videodaten anhand von Standardabfragen getestet.
Im Kapitel 8 wird das MapReduce-Verfahren skizziert und anhand von ausgewählten Beispielen getestet und dokumentiert. Die Arbeit endet mit einem Fazit.
Im Zuge der Einführung in die NoSQL-Datenbanken möchte ich mich zunächst der Definition von NoSQL-Datenbanken widmen und anschließend auf folgende Fragestellungen eingehen:
- Was verbirgt sich hinter dem Begriff NoSQL?
- Wofür dienen NoSQL-Datenbanken?
- Was für Eigenschaften haben NoSQL-Datenbanken?
Unter dem Begriff ‚NoSQL‘ verbirgt sich nicht, wie die Bezeichnung suggeriert, die Bedeutung ‚kein SQL‘. Hinter dem Begriff ‚NoSQL‘ steckt vielmehr die Bedeutung ‚Not only SQL‘, was auf Deutsch so viel wie ‚nicht nur SQL‘ heißt. Die Benennung ‚Not only SQL‘ wurde durch EmilEifrem von Neo4j vorgeschlagen und hat sich mittlerweile vollständig in der NoSQL-Community durchgesetzt.[5]
Hinsichtlich der Fragestellung, wozu solche Datenbanken dienen, sind die Aspekte der Speicherung und der Verwaltung von großen Datenmengen als erste Priorität einzuordnen. So profitieren auch Unternehmen mit hohen Datenflüssen, wie z. B. Google, Amazon und Facebook, von NoSQL-Datenbanken. Ein bekannter Vorreiter ist das Unternehmen Google mit seinem BigTable-Datenbanksystem.[6]
NoSQL-Datenbanken besitzen wie relationale Datenbanken bestimmte Eigenschaften. Wie aus relationalen Datenbanken bekannt ist, verfügen Tabellen untereinander durch Schlüsselattribute über Beziehungen. Bei NoSQL-Datenbanken ist das Datenmodell jedoch nicht relational. Beziehungen werden nur anhand von Abfragen erstellt. Aufgrund der Verarbeitung von sehr großen Datenmengen sind NoSQL-Systeme auf eine horizontale Skalierbarkeit eingestellt. Horizontale Skalierbarkeit besagt, dass die Hardware bzw. das System bei einer zu hohen Belastung durch Daten die Last auf mehrere Rechnerknoten erweitert und so die Last verteilt werden kann.[7]
Schwache Schemaeinschränkungen von NoSQL-Datenbanken zählen zu den wichtigsten Eigenschaften. Die gewisse Schemafreiheit erlaubt es NoSQL-Datenbanken, flexibler zu arbeiten.[8]
In diesem Kapitel wird kurz zur Geburtsstunde und zum Durchbruch von NoSQL-Datenbanken Stellung genommen.
NoSQL-Datenbanken gibt es nicht, wie es vielleicht naheliegend wäre, seit der Entwicklung des Web 2.0 im Jahre 2000. Die erste Entwicklung solcher Systeme begann schon im Jahr 1979, als Ken Thompson eine Key/Hash-Datenbank mit dem Namen DBM vorstellte.[9]
Im Jahre 1998 präsentierte der Entwickler Carlo Strozzi ein relationales Datenbankmanagementsystem mit dem Namen NoSQL. Dies war zwar immer noch ein relationales Datenbankmodel, aber ohne einen SQL API. Der eigentliche Nutzen von NoSQL-Datenbanken kam erst im Jahr 2000 mit der Entstehung von Web 2.0 zum Tragen. Durch zahlreiche Datenansammlungen aufgrund des Web 2.0 wurden für Unternehmen wie Facebook, Yahoo, Google und Amazon NoSQL-Datenbanken zunehmend attraktiver. Verschiedene Arten von NoSQL-Datenbanken mit den Bezeichnungen MongoDB, Redis, Cassandra, Riak sowie CouchDB, wie wir sie aktuell kennen, entstanden zwischen 2006 und 2009.[10]
Unter NoSQL-Datenbanken können vier verschiedene Typen differenziert werden. Es handelt sich hierbei um folgende vier Kernsysteme: Dokument-orientierte DB, Spalten-orientierte DB, Graphdatenbank und Key/Value- DB.[11]
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1 : Verschiedenen Typen von NoSQL-Datenbanken (ED)
Da die verschiedenen Typen von NoSQL-Datenbanken kein wesentlicher Bestandteil meiner Bachelorarbeit sind, möchte ich an dieser Stelle nicht weiter auf diese eingehen.
Wenn das Wort CouchDB in den Raum geworfen wird, dann wird wahrscheinlich an erster Linie an ein gemütliches und breites Sofa gedacht. Dies ist am Logo von CouchDB auch sichtbar (siehe Abbildung 2). Es zeigt einen Mann, der in einer entspannten Haltung auf dem Sofa sitzt, wobei dies mit dem Slogan ‚ Apache CouchDB relax‘ umschrieben wird.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2 : CouchDB-Logo ( http://couchdb.apache.org/ )
Viel wichtiger ist es jedoch, zu erfahren, warum CouchDB die entspannte Haltung auf der Couch mit einer NoSQL-Datenbank verbindet. Um dies zu erfahren, werde ich die Funktionen von CouchDB darlegen und im weiteren Verlauf der Bachelorarbeit analysieren und testen.
Apache CouchDB ist ein dokumentenbasiertes und schemafreies NoSQL-Datenbankmanagementsystem, wobei die Daten im JSON-Format abgespeichert werden.
CouchDB besitzt außerdem die Funktionalität, Dokumente mit einem Attachment zu versehen. Die Datenbank verfügt über eine RESTful JSON-Schnittstelle, die Kommandos wie COPY, HEAD, DELETE, PUT, POST und GET zulässt. Abfragen werden durch die Funktion ‚MapReduce‘ generiert. Für eine benutzerfreundliche Bedienung besitzt CouchDB außerdem eine Webschnittstelle mit dem Namen Futon.[12]
In den folgenden Kapiteln werde ich erläutern, was diese einzelnen Eigenschaften bedeuten.
Alle Daten in CouchDB werden in sogenannte Dokumente abgelegt. Jedes Dokument besitzt für die Indexierung eine Dokumenten_id und eine Revisions_id. Wenn ein Dokument durch einen Befehl verändert wird, dann wird für dieses Dokument eine neue Revisions_id erzeugt. Durch die Revisions_id können Veränderungen an den Daten nachvollzogen werden.[13] Da Dokumente keinerlei Beziehungen untereinander besitzen, bringen das Erweitern sowie Löschen von Daten keinerlei Probleme mit sich. Hieran wird der Aspekt der Schemafreiheit sichtbar.[14]
Alle Daten, die in einem Dokument gespeichert werden, besitzen das Format ‚JSON‘. Wie die Daten im JSON-Format dargestellt werden, soll anhand eines Auszuges aus der Test-Videodatenbank darstellt werden:
Abbildung in dieser Leseprobe nicht enthalten
Damit sichtbar wird, wie die JSON-Daten in einem Dokument aussehen, habe ich anhand dieser Daten ein Dokument erzeugt und für die Visualisierung ein Screenshot aus Futon erstellt (Futon-Erklärung siehe Kapitel 3.4):
Attributbezeichner Attributwert
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 3 : Screenshot Futon Beispieldokument
Im JSON-Format gespeicherte Variable können folgende Typen aufweisen:
- Objekte,
- Arrays,
- Zeichenketten (String),
- Zahlen,
- Boolesche Werte.[15]
Wenn das Wort Attachment (= Anlage) fällt, dann denkt man vielleicht an erster Linie an eine Anlage in einer E-Mail. Dies ist aber nicht verkehrt, da das Prinzip genau so funktioniert.
„Attachments can be any data. It is easiest to think about attachments as files attached to a document. These files can be text, images, Word documents, music or movie files.“[16]
Diese Schnittstelle ermöglicht durch HTTP-Methoden wie COPY, HEAD, DELETE, PUT, POST und GET, mit dem Datenbankmanagementsystem zu interagieren und Daten zu definieren sowie zu manipulieren.[17]
Futon ist ein Administrations-Tool, das mit einem Internet-Browser aufgerufen wird. Somit ist Futon zugleich eine Web-Applikation. Mit Futon lassen sich verschiedene Datenbankoperationen durchführen, wie z. B. Datenbank erstellen, Datenbank löschen, Dokumente erstellen bzw. ändern, Dokumente löschen, Views aufrufen etc. Futon ist über die URL http://127.0.0.1:5984/_utils/ erreichbar. Anstatt der IP-Adresse kann auch nur localhost eingegeben werden, um zu Futon zu gelangen. Das Tool wird bei der Installation von CouchDB automatisch installiert.[18]
In diesem Kapitel wird die vollständige Installation von CouchDB beschrieben. Die Installationsdatei wird von der Seite http://couchdb.apache.org/ bereitgestellt. Dort findet sich die aktuelle Version 1.6.1 von CouchDB. Die Installation sowie die Nutzung erfolgen auf einem Windows Vista-Betriebssystem. Um die RESTful JSON-Schnittstelle mit den HTTP-Methoden zu testen, wird im Kapitel 4.2 die Installation des Kommandozeilenwerkzeugs cURL dargelegt.
Um einen reibungslosen Ablauf bei der Installation von CouchDB zu gewährleisten, habe ich eine übersichtliche Installationsanleitung verfasst. Folgende Schritte sind zu beachten:
(1) Navigieren Sie in Ihrem Web-Browser auf http://couchdb.apache.org/.
(2) Klicken Sie dort auf den Download -Button.
(3) Als Nächstes klicken Sie auf den Windows (x86) -Button.
(4) Es öffnet sich die Seite http://www.apache.org/.
(5) Auf dieser Seite klicken Sie bitte auf den ersten Vorschlag, der den Downloadlink als . exe Datei bereitstellt.
(6) Die Installationsdatei setup-couchdb-1.6.1_R16B02 (Größe 57 MB) wird heruntergeladen.
(7) Nach dem Herunterladen navigieren Sie in den Ordner, wo sich die Installationsdatei befindet, und führen diese aus.
(8) Es öffnet sich folgendes Fenster:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 4 : Installation CouchDB
(9) Klicken Sie anschließend auf Next.
(10) Im nächsten Schritt wählen Sie bitte ‚ I accept the agreement‘, um die Lizenz zu bestätigen, und klicken danach auf Next.
(11) Sie werden nun gebeten, einen Pfad auszuwählen, in dem Sie CouchDB installieren möchten. Wir belassen hier das Standardverzeichnis und klicken auf Next, ohne eine Änderung vorzunehmen.
(12) Bei der Auswahl des Speicherorts für einen shortcut lassen wir als Standard Apache CouchDB stehen und klicken auf Next, um fortzufahren.
(13) Sie werden nun gefragt, ob Sie CouchDB als Windows-Dienst installieren möchten. Vergewissern Sie sich, dass alle Optionen ausgewählt sind, und klicken Sie anschließen auf Next.
(14) Als Nächstes öffnet sich eine Zusammenfassung der Optionen, die wir während der Installation eingestellt haben. Überprüfen Sie als Letztes, ob alles korrekt ist, und klicken Sie anschließend auf Install, um mit der Installation zu beginnen.
(15) Wenn die Installation abgeschlossen ist, klicken Sie auf Finish, sodass der Installationsguide beendet wird.
Nun wurde DBMS CouchDB auf einem Windows-Betriebssystem installiert. Um zu überprüfen, ob die Installation korrekt durchgeführt worden ist, sollte der Ordner Apache CouchDB unter Programme als Verknüpfung existieren. Unter Dienste sollte nach der Installation der Dienst von Apache CouchDB als Windowsdienst gestartet sein.
Als letzter Schritt bei der Überprüfung kann im Web-Browser die URL http://127.0.0.1:5984 eingegeben werden, um zu sehen, ob Apache CouchDB bereits läuft. Als Rückmeldung vom Browser sollte dann eine Willkommensnachricht mit uuid, Version und vendor erscheinen.[19]
Um das Kommandozeilenwerkzeug zu nutzen, sollte als Erstes ‚Visual Studio 2010 C++ Runtime Redistributable‘ installiert werden. Hier muss darauf geachtet werden, ob es eine 32-Bit- oder eine 64-Bit-Installation ist. Ich habe die 32-Bit-Version installiert. Die Installationsdatei wird von Microsoft zur Verfügung gestellt. Folgende Schritt-für-Schritt-Installation zeigt, wie das Kommandozeilenprogramm cURL korrekt installiert wird.
(1) Rufen Sie in Ihrem Explorer die Seite ‚ http://curl.haxx.se/download.html ‘ auf, um dort das Installationspaket herunterzuladen.
(2) Klicken Sie unter Win32-Generic auf das Paket Win32 CAB. Der Download startet automatisch.
(3) Endpacken Sie die Zip-Datei mit dem Namen ‚ curl-7.40.0‘.
(4) Die exe Datei mit dem Namen ‚ CURL‘ verschieben Sie in das Verzeichnis ‚ C:\Windows\System32 ‘.
Um zu testen, ob die Installation erfolgreich war, wird der CMD-Modus geöffnet und dort wird ‚ curl –version ‘ eingegeben. Wenn cURL erfolgreich installiert wurde, erscheint eine Nachricht mit der aktuellen Version.[20]
In diesem Kapitel wird getestet, wie mit cURL-Operationen Datenbanken erzeugt sowie gelöscht werden. Auch Verfahren für das Erstellen, Aktualisieren sowie Löschen von Dokumenten werden analysiert und aufgeführt. Im vorliegenden Kapitel werden zudem grundlegende Operationen von CouchDB behandelt. Am Ende werden noch einige weitere Tests durchgeführt.
Um zu sehen, ob CouchDB bereits angelegte Datenbanken besitzt, hilft der Befehl:
Abbildung in dieser Leseprobe nicht enthalten
Die CouchDB shell liefert als Ergebnis zwei Datenbanken:
Abbildung in dieser Leseprobe nicht enthalten
Diese zwei Datenbanken sind bei der Standardinstallation von CouchDB bereits integriert. Es ist natürlich auch möglich, die vorhandenen Datenbanken mit Futon zu sichten.[21]
Damit es möglich ist, die Daten in eine bereits bestehende Datenbank zu importieren, ist es wichtig, zu wissen, wie Datenbanken mittels cURL angelegt werden. Folgender cURL-Befehlt legt in CouchDB eine Datenbank an:
Abbildung in dieser Leseprobe nicht enthalten
Die HTTP-Methode PUT erstellt die Datenbank mit dem Namen ‚video_datenbank‘.
Ergebnis:
Abbildung in dieser Leseprobe nicht enthalten
Dieser Vorgang wäre mit Futon ebenso umsetzbar gewesen. Um nochmals zu überprüfen, ob die Datenbank tatsächlich existiert, können alle Datenbanken angezeigt werden.[22]
Ergebnis:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 5 : Anzeigen von Datenbanken CouchDB shell
Damit es gelingt, ein Dokument zu erstellen, braucht jedes Dokument eine eindeutige ID. Die Vergabe einer ID ist durch CouchDB möglich. Für diese Generierung in CouchDB muss folgender cURL-Befehl ausgeführt werden:
Abbildung in dieser Leseprobe nicht enthalten
Der Parameter ‚?count=1‘ sorgt dafür, dass nur eine ID von CouchDB generiert wird. Sofern anstelle der Eins eine Drei stehen würde, dann würde CouchDB drei IDs generieren.
Ergebnis 32-stellige ID:[23]
Abbildung in dieser Leseprobe nicht enthalten
Wichtig bei der Generierung der UUIDs ist es, zu wissen, dass auch eine identische UUID generiert werden kann, die bereits an ein Dokument vergeben wurde.
„Die UUIDs werden dabei vom Server nur generiert, nicht aber auf Kollision mit schon bestehenden DocIDs geprüft. Erst wenn ein Dokument gespeichert wird, findet eine Verfügbarkeitsprüfung bezüglich der DocID statt.“[24]
Im nächsten Schritt wird mit dieser UUID ein Dokument erzeugt und in der Zieldatenbank abgelegt. Als Zieldatenbank kann zum Beispiel die im Kapitel 5.2 erzeugte video_datenbank Verwendung finden. Der Befehl für das Anlegen eines Dokumentes gestaltet sich wie folgt:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 6 : Anlegen von Dokument Rückmeldung shell
Bei der Speicherung des Dokuments mit der angegebenen ID erzeugt CouchDB automatisch eine Revisionsnummer.[25]
Da nun ein Dokument in der video_Datenbank existiert, kann dieses Dokument anhand eines cURL-Befehls mit der GET-Operation aufgerufen werden. Um ein Dokument aber in der CouchDB shell anzuzeigen, wird die ID des spezifischen Dokuments benötigt. Es wird folgender cURL-Befehl verwendet, um alle IDs einer Datenbank anzuzeigen:[26]
Abbildung in dieser Leseprobe nicht enthalten
Ergebnis:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 7 : Anzeigen von allen Dokumenten in der CouchDB shell
Da nur ein Dokument erstellt wurde, gibt die CouchDB shell lediglich eine ID zurück. Um das Dokument anzuzeigen und zu überprüfen, ob es tatsächlich alle vorgesehenen Attribute besitzt, wird folgender cURL-Befehl verwendet:[27]
Abbildung in dieser Leseprobe nicht enthalten
fde99fd8a283981ee0e6a85ee7000a84
Ergebnis eines Dokuments in der CouchDB shell:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 8 : Anzeigen von einem Dokument CouchDB shell
Alle Attributbezeichner mit den jeweiligen Attributwerten werden angezeigt. Es ist auch möglich, das erstellte Dokument mit Futon aufzurufen:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 9 Dokument Darstellung Futon
Beim Aktualisieren eines Dokuments ist es wichtig, immer die jeweilige ID und die Revisionsnummer anzugeben. Dadurch werden bei einem Mehrbenutzerbetriebs-Update Konflikte vermieden.[28] Um eine Aktualisierung durchzuführen, werde ich die ‚cass_laenge‘ von 240 auf 300 ändern. Der Befehl für das Aktualisieren kann wie folgt dargestellt werden:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 10 : Aktualisierungsbestätigung CouchDB shell
Um zu überprüfen, ob das Dokument aktualisiert worden ist, wäre es nun möglich, das Dokument mit Futon zu sichten oder in der CouchDB shell anzeigen zu lassen.
Update-Prüfung:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 11 : Update-Prüfung CouchDB shell
Um erstellte Dokumente zu löschen, wird die HTTP-Methode DELETE verwendet. Damit ersichtlich wird, wie das Löschen im Einzelnen funktioniert, wird das erstellte Dokument mit der ID = fde99fd8a28398lee0e6a85ee7000a84 wieder aus der Datenbank gelöscht.
Beim Löschen eines Dokuments ist es entscheidend, die ID und die Revisions-ID anzugeben.
Der Befehl für das Löschen sieht wie folgt aus:[29]
Abbildung in dieser Leseprobe nicht enthalten
Rückmeldung CouchDB shell:
Abbildung 12 : Löschbestätigung CouchDB shell
Bei der Rückmeldung ist auffällig, dass eine andere Revisions-ID zurückgegeben wird.
[...]
[1] Vgl. Hase: Digital Universe Studie von IDC (2013).
[2] Vgl. o. V.: Digital Universe with Research & Analysis by IDC (2014).
[3] Vgl. Holstein: Die Datenexplosion (2014).
[4] Vgl. Manhart: Datenbanktechniken für Big Data (2012).
[5] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 5.
[6] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 1.
[7] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 2.
[8] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 2.
[9] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 1.
[10] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 1.
[11] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 6.
[12] Vgl. Wenk/Klampäckel: CouchDB. Das Praxisbuch für Entwickler und Administratoren (2011), S. 26.
[13] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 103.
[14] Vgl. Wenk/Klampäckel: CouchDB. Das Praxisbuch für Entwickler und Administratoren (2011), S. 29.
[15] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 103.
[16] Vgl. Anderson/Lehnardt: CouchDB. The Definitive Guide (2010), S. 41.
[17] Vgl. Wenk/Klampäckel: CouchDB. Das Praxisbuch für Entwickler und Administratoren (2011), S. 31, 32.
[18] Vgl. Wenk/Klampäckel: CouchDB. Das Praxisbuch für Entwickler und Administratoren (2011), S. 59, 60, 64.
[19] Vgl. Wenk/Klampäckel: CouchDB. Das Praxisbuch für Entwickler und Administratoren (2011), S. 215.
[20] Vgl. o. V.: Run cURL commands from Windows console (2011).
[21] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 108.
[22] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 109.
[23] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 109.
[24] Vgl. Scheliga: CouchDB. kurz & gut (2010), S. 97.
[25] Vgl. Edlich et al.: NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken (2010), S. 109.
[26] Vgl. Scheliga: CouchDB. kurz & gut (2010), S. 87.
[27] Vgl. Scheliga: CouchDB. kurz & gut (2010), S. 90.
[28] Vgl. Wenk/Klampäckel: CouchDB. Das Praxisbuch für Entwickler und Administratoren (2011), S. 80.
[29] Vgl. Wenk/Klampäckel: CouchDB. Das Praxisbuch für Entwickler und Administratoren (2011), S. 87.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!
Kommentare