CouchDB - angesagter Vertreter der "NoSQL"-Datenbanken

Seite 3: Installation

Inhaltsverzeichnis

Eine Installation von CouchDB unter Linux erfolgt über die aus anderen Apache-Projekten bekannten Installier-Skripte, die in der jeweils aktuellen Download-Version enthalten sind. Für die Windows-Plattform gibt es zum jetzigen Zeitpunkt eine Beta-Version eines Binär-Installers, für die noch manuelle Vorarbeiten durch die Installation von Erlang, Visual C++ Redistributables und OpenSSL erforderlich sind. Wem das zu aufwendig ist, findet eine vollständige Windows-Installer-Datei inklusive der Bestandteile außerhalb des offiziellen CouchDB-Projekts, etwa hier. Nach der Installation auf dem lokalen Windows-Rechner (unter einem Benutzer mit Admin-Rechten) ist CouchDB per Default über folgende URL erreichbar: http://localhost:5984. Wie kommen nun Daten beziehungsweise Dokumente in die frisch installierte CouchDB? Ein Grundsatz bei der Entwicklung von CouchDB war "ease of use". In dem Zusammenhang ist ein Blick in das Logfile der CouchDB unmittelbar nach Start der Instanz aufschlussreich. Man findet dort unter anderem folgende Angaben:

CouchDB 0.10.0 - prepare to relax...
Eshell V5.7.2 (abort with ^G)
1> Apache CouchDB 0.10.0 (LogLevel=info) is starting.
1> Apache CouchDB has started. Time to relax.
1> [info] [<0.1.0>] Apache CouchDB has started on http://127.0.0.1:5984/

Weboberfläche Futon

Entspannt kann man nun entweder manuell (zum Beispiel über curl-Aufrufe) oder über die mitgelieferte Weboberfläche Futon (siehe Abbildung), die über http://localhost:5984/_utils erreichbar ist, Datenbanken anlegen und anschließend Dokumente eintragen. Eine initialeAnlage von Tabellen oder Ähnlichem ist durch die Schemafreiheit nicht erforderlich. Das Anlegen einer Datenbank mit Namen my_first_db erfolgt entweder mit einer GUI über den CreateDatabase-Button in der Futon-Oberfläche oder über einen curl-Aufruf:

curl -X PUT http://localhost:5984/my_first_db

Ein neuer Eintrag in die soeben angelegte Datenbank erfolgt ebenfalls mit der Futon-GUI oder manuell:

curl -X PUT http://localhost:5984/my_first_db/4711
-d '{"title":"HelloWorldInCouchDB"}'

Es lässt sich ein Dokument mit der ID 4711 anlegen, das über die -d-Option in JSON-Notation angegeben ist. Das Auslesen des Dokuments ist über HTTP GET möglich, etwa wie folgt:

curl -X GET http://localhost:5984/my_first_db/4711

Das fragt gemäß den REST-Prinzipien die Ressource mit der ID 4711 in der Datenbank my_first_db ab, die Antwort lautet:

{"_id":"4711","title":"HelloWorldInCouchDB"}

Sowohl die Weboberfläche Futon als auch die Option, manuelle curl-HTTP-Befehle abzusetzen, sind für die Kennenlern- und Einarbeitungsphase von CouchDB-Neueinsteigern geeignet. In realen Projekten dagegen sind auch andere Zugriffsmöglichkeiten erforderlich. Neben diversen HTTP-Frameworks existieren einige Bibliotheken für Programmiersprachen, mit denen sich CouchDB-Anwendungen erstellen lassen. Beispielhaft sei JCouchDB genannt, mit dem man Java-Anwendungen erzeugen kann, bei denen sich normale Java-Objekte (POJOs) über die Svenson JSON Libary in das JSON-Format bringen lassen und dadurch CouchDB-kompatibel werden.