Login
Newsletter
Werbung

Mo, 24. Mai 2010, 15:10

CouchDB - kurz und gut

Das kleine und preiswerte Buch »CouchDB kurz und gut« des O'Reilly-Verlags ist sowohl als Einstiegshilfe für den dokumentenbasierten Datenbankansatz wie auch als Nachschlagewerk für den CouchDB-Praktiker gedacht.

Vorwort

Cover von »CouchDB - kurz & gut«

O'Reilly

Cover von »CouchDB - kurz & gut«

Kaum eine ernsthafte Anwendung kommt heute ohne Datenbank aus. Oft ist es eine relationale Datenbank mit SQL, die dabei zum Einsatz kommt. Man könnte daher leicht den Eindruck bekommen, dass relationale Datenbanken die IT dominieren. Doch das ist keineswegs so sicher. Datenbanken gab es schon, bevor relationale Datenbanken aufkamen. Und nach dem Entstehen von relationalen und objektrelationalen Datenbanken war die Forschung nicht beendet - neue Datenbanktypen wurden konzipiert, und momentan scheinen dokumentenorientierte Datenbanken besonders angesagt zu sein.

CouchDB ist eine solche Datenbank. Für Kenner von SQL-Datenbanken dürfte es zunächst einmal schwer vorstellbar sein, wie man damit Daten und sogar Relationen speichert und wie man sie wiederfindet - denn ein Schema gibt es genauso wenig wie SQL. Der Unterschied zu relationalen Datenbanken könnte also kaum größer sein.

Hier will das kleine und preiswerte Buch »CouchDB kurz & gut« des O'Reilly-Verlags Abhilfe schaffen. Laut Umschlagtext ist es sowohl als Einstiegshilfe für den dokumentenbasierten Datenbankansatz wie auch als Nachschlagewerk für den CouchDB-Praktiker gedacht.

Das Buch

Das Buch besitzt 11 Kapitel und keine Anhänge. Im Vergleich zu anderen Titeln der »Kurz & Gut«-Reihe, die in einem kompakten Format hergestellt wird, ist es mit 200 Seiten recht umfangreich ausgefallen. Nach einer kurzen Einführung wird in Kapitel 2 die Installation behandelt. Der Autor bezieht sich überwiegend auf Version 0.10 von CouchDB und warnt davor, dass die Information schnell veralten könnte, wenn die Entwicklung von CouchDB voranschreitet. Gelegentlich erwähnt er die aktuelle Entwicklerversion 0.11.0, die einige erweiterte Funktionen enthält. Nach dem derzeitigen Stand ist 0.11.0 ein Veröffentlichungskandidat für Version 1.0. Man könnte dieses Kapitel für entbehrlich halten, aber es gibt auf der Webseite von CouchDB keine Installationsanleitung und im Quellcodepaket nur eine englischsprachige.

Kapitel 3 beschreibt die Konfiguration. Wegen des begrenzten Platzes des Buches beschränkt es sich auf eine Auflistung der Optionen der Konfigurationsdatei mit minimalen Erläuterungen. Zumindest bei einigen weniger klaren Punkten wäre eine bessere Erklärung angebracht gewesen. Als Referenz für die Optionen dürfte das Kapitel allerdings nützlich sein.

Das nächste Kapitel gibt eine kurze Übersicht über die Entwicklungsumgebung, das sind in diesem Fall die zur Verfügung stehenden Bibliotheken in verschiedenen Programmiersprachen und die grafische Oberfläche CouchApp. Kapitel 5 widmet sich dem CouchDB-Server. Dieser ist interessanterweise in Erlang geschrieben und wird über das HTTP-Protokoll (mit einigen Erweiterungen) gesteuert. Das heißt, jede Anwendung, die HTTP-Kommandos absetzen kann (Browser, Kommandozeilenprogramme wie curl und wget oder eigene Software) kann mit dem Server interagieren. Dokumente werden im JSON-Format ein- und ausgegeben. Das geschieht nicht von ungefähr. JSON ist syntaktisch eine JavaScript-Datenstruktur, und Abfragen an CouchDB (Views) werden in JavaScript geschrieben. Außerdem ist JSON ein kompaktes Format, kompakter als XML. Das Kapitel beschreibt die erlaubten Datentypen in den Dokumenten, globale Abfragen des Servers und die vordefinierten JavaScript-Funktionen.

Im Kapitel 6 geht es um Datenbanken in CouchDB: Wie man sie anlegt, verdichtet (weil sonst der Verbrauch an Festplattenplatz immens wird) und abfragt. Auch die Replikation wird behandelt, die in CouchDB bereits eingebaut ist und sicher zu ihrem Erfolg mit beigetragen hat. Kapitel 7 widmet sich den Daten in diesen Datenbanken, also den Dokumenten. Dabei stehen das Anlegen, Auflisten und andere Operationen sowie die Versionierung im Mittelpunkt.

Die für Neueinsteiger spannendste Frage ist sicher, wie Abfragen in CouchDB funktionieren. Diese wird in Kapitel 8 beantwortet. Dokumente besitzen Attribute, diese entsprechen im Prinzip den Feldern eines Datensatzes in relationalen Datenbanken, nur dass die Attribute beliebig komplex sein können. Mit dem Map-Reduce-Verfahren kann man nun beliebige Abfragen konstruieren und dabei Verknüpfungen zwischen den Dokumenten herstellen. Das Verfahren besteht aus zwei getrennten Schritten, Map und Reduce, die wie bereits angedeutet in JavaScript programmiert werden. Solche Abfragen definieren Views, die in der Datenbank - an beliebiger Stelle - gespeichert werden können.

Kapitel 9 gibt einen Überblick über die optionalen Transformationsfunktionen, die beim Speichern, Auslesen und Ändern von Dokumenten aufgerufen werden können. Der Sicherheit und Validierung widmet sich Kapitel 10. Eine einfache Beispielanwendung, die Aufgabenlisten für mehrere Benutzer verwaltet, bildet das letzte Kapitel. Ein kurzer Index rundet das Buch ab. Die verfügbaren 200 Seiten wurden nicht voll ausgeschöpft, so dass am Schluss noch einige leere Seiten zu finden sind.

Fazit

Man sollte von »CouchDB - kurz & gut« nicht zu viele tiefergehende Informationen erwarten, diese kann das Buch wegen der begrenzten Größe nicht liefern. Es eignet sich recht gut, um eine grobe Vorstellung von den Konzepten von CouchDB zu bekommen, und regt vielleicht sogar zu eigenen Experimenten an. Für die Nutzer, die CouchDB regelmäßig nutzen, ist es eine bequeme Referenz zu verschiedenen Punkten. Echte Mängel sind nicht zu entdecken, und seinen Preis ist es jedenfalls wert.

Wer das Buch als Einführung in CouchDB liest, sollte nach der Lektüre überzeugt sein, dass CouchDB kein Spielzeug ist, sondern eine professionelle Datenbank, deren Möglichkeiten mit relationalen Datenbanken mindestens gleichauf sind, wie Funktionen wie Replikation, ACID-Eigenschaften, MVCC, Zugriffskontrolle sowie das Äquivalent von Triggern und Stored Procedures belegen. Lediglich über die Geschwindigkeit schweigt sich »CouchDB - kurz & gut« aus. Ein konkreter Vergleich mit anderen Datenbanken bleibt wohl den Benutzern überlassen.

Fakten

Titel:CouchDB - kurz & gut
Jahr:2010
Autor:Mario Scheliga
Preis:9,90 EUR
Umfang:200 Seiten
Verlag:O'Reilly
ISBN:978-3-89721-559-7

  • Dieses Werk wurde unter der GNU Free Documentation License veröffentlicht. Das Kopieren, Verbreiten und/oder Modifizieren ist erlaubt unter den Bedingungen der GNU Free Documentation License, Version 1.2 oder einer späteren Version, veröffentlicht von der Free Software Foundation.

    - Weitere Informationen
Kommentare (Insgesamt: 3 || Alle anzeigen )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung