Login
Immer anmelden
SSL Login

 
Newsletter
Werbung
Shopping
International Shopping
 
 


Yatego Shopping bei über 10000 Händlern und über
3 Mio. Artikel.


Linux

:

Linux-Bücher

Handy
Shop

  und Computer.

Viele Services

:

Apple iPad Reader,


Ratgeber,

 

Techniktops,

 

Yatego Clicks

  & über 3000

Gutscheine.

 
Do, 8. Juli 2010, 15:58

CouchDB – Datenbank mal anders

Wenn von einer Datenbank gesprochen wird, denkt man normalerweise als erstes an relationale, SQL-basierte Datenbanken wie Oracle, MySQL, PostgreSQL oder SQLite. Aber es gibt auch einen völlig anderen Ansatz: die dokumentenorientierte Datenbank CouchDB. Der Name der Datenbank steht in erster Linie nicht für das besonders bequeme Arbeiten, sondern ist ein Akronym für Cluster Of Unreliable Commodity Hardware Data Base.

Arbeiten mit CouchDB

Im Folgenden wird ein kurzer Einblick in das Arbeiten mit CouchDB gegeben. Weiterführende Informationen zu allen Themen findet man im CouchDB-Wiki oder im freien Buch Relax. Ein Anwendungsbeispiel findet man weiter unten in diesem Artikel.

Welche der oben genannten Methoden man benutzt, um auf CouchDB zuzugreifen, ist prinzipiell egal. Besonders komfortabel ist es jedoch, wenn man auf die Weboberfläche namens Futon von CouchDB zurückgreift. Diese ist in der Standardinstallation von CouchDB enthalten. Futon ist über http://localhost:5984/_utils/ erreichbar, sofern an der Grundkonfiguration nach der Installation nichts geändert wurde.

Übersicht der Dokumente in der Datenbank

Jochen Schnelle

Übersicht der Dokumente in der Datenbank

Daten in die Datenbank schreiben

Datenbankeinträge bestehen immer aus einem Schlüssel-Werte-Paar. Auch wenn die Datenbank an sich schemalos ist, besitzt jeder Eintrag mindestens zwei Schlüssel: _id und _rev. _id ist ein eindeutiger Schlüssel, der innerhalb einer Datenbank nur genau einmal vorkommen darf und das Dokument identifiziert. Die ID kann händisch vergeben werden, wird ansonsten aber auch automatisch generiert. _rev ist die Revisionsnummer des Dokuments, diese wird immer automatisch erzeugt. Auf die Revisionierung wird später separat eingegangen.

Jeder Schlüssel kann ein beliebiger String sein. Um später Probleme oder unangenehme Überraschungen zu vermeiden, sollte man aber auch bei CouchDB auf jegliche Sonderzeichen außer dem Unterstrich im String verzichten. Der zum Schlüssel gehörige Wert kann, wie weiter oben beschrieben, jedes gültige JSON-Objekt sein. Zu beachten ist, dass bei JSON Strings immer in Anführungsstrichen (sogenannte Doublequotes) stehen müssen. Kommen im String Anführungsstriche vor, so müssen diese mittels Backslash maskiert werden.

Neben JSON-Objekten kann CouchDB auch beliebige Dateien speichern. Diese können, wie reguläre Daten auch, mit HTTP-Anfragen in die Datenbank geladen und auch wieder geholt werden. Es können mehrere Dateien pro Dokument vorhanden sein. Diese werden alle unter dem Schlüssel _attachments abgelegt. Genau so wie alle anderen Daten werden Dateianhänge revisioniert. Das heißt, wird eine (neuere) Datei erneut hochgeladen, erzeugt CouchDB automatisch eine weitere Revision des Dokuments. Weitere Informationen zur Revisionierung findet man im weiteren Verlauf dieses Artikels.

Pro-Linux
Newsletter
Neue Nachrichten