Futon

Das freie JavaScript-basierte Webinterface Futon ist eine sehr flexible und sehr einfache Lösung, um mit der dokumentenorientierten Datenbank CouchDB zu arbeiten und diese zu administrieren. Das graphische Administrationstool ist vergleichbar mit phpMyAdmin für MySQL-Datenbanken.

Um Futon zu starten, gibt man über die Adresszeile eines Webbrowser folgendes ein:

  • h t t p ://127.0.0.1:5984/_utils/
  • oder „[eine feste IP] : [Port]/_utils/“ für Remote-Zugriff

Futon unterteilt sich in die folgenden Bereiche:

Overview

Der Bereich Overview der sich über die URL http://127.0.0.1:5984/_utils/ erreichen lässt, verschafft einen Überblick über alle angelegten Datenbanken auf der CouchDB. Über das Menü rechts können alle Funktionen des CouchDB-Webinterfaces erreicht werden. Über den Button "Create Database" im oberen linken Bereich lässt sich eine neue Datenbank anlegen. Unten rechts lässt sich über den Link Login der Userlogin öffnen, um sich zu authentifizieren.

Ansicht Overview im Webinterface Futon
Ansicht Overview im Webinterface Futon










Datenbankansicht

Klickt man im Bereich Overview auf eine der angezeigten Datenbanken, gelangt man in die Datenbankansicht. Hier erhält man eine Übersicht über alle angelegten Dokumente der jeweiligen Datenbank. Für jedes Dokument lässt sich die ID und die Revisionsnummer ablesen. Über die Buttons im Bereich oben rechts können neue Dokumente erzeugt, verschlüsselt und gelöscht werden. Desweiteren lassen sich ältere Revisionen von Dokumenten löschen, um so unnötig belegten Speicherplatz wieder zu gewinnen. Öffnet man eines dieser Dokumente, gelangt man in die Dokumentenansicht (Fields) des jeweiligen Dokumentes. Views lassen sich über das gleichnamige Dropdown-Menü anlegen oder können, wenn bereits erzeugt, genauso ausgewählt werden wie ein einzelnes Dokument.

Datenbankansicht im Webinterface Futon
Datenbankansicht im Webinterface Futon










Dokumentenansicht (Fields)

In der Dokumentenansicht (Fields) lassen sich die Key/Value-Paare eines Dokumentes einsehen und abändern. Über "Add Field" können weitere Wertepaare eingepflegt werden. "Upload Attachment" ermöglicht das Hochladen und anhängen beliebiger Dateien, um diese so in das Dokument einzupflegen. "Delete Document" löscht das jeweilige Dokument. Bei Wertänderungen eines Dokumentes muss man mit "Save Document" immer bestätigen (Commit senden), damit die Änderungen wirksam werden. Der Button "Previous Version" ermöglicht die Einsicht älterer Revisionen des Dokumentes.

Dokumentenansicht (Fields) im Webinterface Futon
Dokumentenansicht (Fields) im Webinterface Futon










Dokumentenansicht (Source)

Wählt man in der Dokumentenansicht den Reiter "Source", wird das gewählte Dokument in Form der tatsächlich vorliegenden JSON-Struktur angezeigt. Hier kann die JSON-Struktur beliebig angepasst werden. So ist gewährleistet, dass komplette Dokumente auch in Form von JSON-Strukturen in die Datenbank mit einfließen können.

Dokumentenansicht (Source) im Webinterface Futon
Dokumentenansicht (Source) im Webinterface Futon










View

Sobald eine View über das Dropdown-Menü mit einer Bezeichnung angelegt wurde, lässt sie sich einfach über das gleiche Dropdown-Menü oder die Dokumentenansicht der jeweiligen Datenbank auswählen. In der View selber unterscheidet man zwischen den Bereichen Map und Reduce. Die Map/Reduce-Funktionen werden in Java-Skript geschrieben. Die Map-Funktion dient zur Selektion der Datensätze, vergleichbar mit einem SELECT-Aufruf. Die Reduce-Funktion wird zur Aggregation der selektierten Daten herangezogen, um die ausgewählten Werte z.B. nach bestimmten Kriterien zu summieren. Zur Anwendung der Reduce-Funktion muss der Haken im Menü gesetzt werden.

View im Webinterface Futon
View im Webinterface Futon










Replicator

Der Replicator dient zur Vervielfältigung und Synchronisation einer bestehenden Datenbank, auch über die Grenzen des CouchDB-Server hinaus, um so z.B. Datenbestände auf unterschiedlichen CouchDB-Servern zu replizieren. Für Verfahren wie Partitionierung und Skalierung von CouchDB-Servern reicht der Replicator nicht aus. Hierzu wird das Open-Source-Framework CouchDB-Lounge benötigt.\\\

Replicator im Webinterface Futon
Replicator im Webinterface Futon










Test-Suit

Der Bereich Test-Suit ermöglicht die Kontrolle der Grundfunktionalitäten einer CouchDB an Hand von Testszenarien, um Fehler schon vor dem eigentlichem Betrieb auszuschließen.

Test-Suit im Webinterface Futon
Test-Suit im Webinterface Futon










Configuration und Status

Im Bereich Configuration können die Einstellungen des CouchDB-Servers angepasst werden, wie z.B. die IP-Adresse oder die maximal zulässige Anzahl an Verbindungen zum Datenbankserver. Der Bereich Status gibt Auskunft über laufende Prozesse des CouchDB-Servers(ohne Screenshot).

Configuration im Webinterface Futon
Configuration im Webinterface Futon











Quellen:

  • Alle hier verwendeten Screenshots wurden eigens auf Basis einer Apache CouchDB Version 1.0.1 erstellt
  • Edlich et. Al.(2012), 2.Aufl.: „NoSQL – Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken„ , München: Carl Hanser Verlag, Seite 123 ff.
  • Lennon, J. (2009): „Beginning CouchDB„ , NewYork: Springer Verlag, Seite 63
  • Anderson, C., „CouchDB: The Definitive Guide“, O‘Reily Books, http://guide.couchdb.org/draft/tour.html, 05/2011

Kategorie: Neue DB-Entwicklungen, Dokument-DB, NoSQL, CouchDB, F,