PouchDB – CouchDB mit Javascript

Ich habe ja schon desöfteren verkündet, das man nicht alles mit MySQL todschlagen muss. Zum einen gibt es sinnvolle Key-Value-Stores, zum anderen Datenbanken in das komplette Dokumente abgelegt werden. Jetzt werden sich wahrscheinlich die ersten melden, die meinen das man das auch locker mit MySQL machen kann, aber der tiefere Sinn sei einmal dahingestellt. Stellt man sich nämlich einmal vor das man große XML-Objekte in einer DB speichern will, dann nutzt einem MySQL an der Stelle gar nichts mehr. Man besitzt eine Table mit zwei Spalten (Id und XML) und schaut dann erstmal doof aus der Wäsche, weil mit Indexen kommt man nicht weit und die Fulltext-Search von MySQL wäre der komplette Overkill – mal ganz davon ab das diese mit XML so rein gar nichts anfangen kann.

Screenshot von PouchDB bei GitHub

CouchDB versucht, eine dokumentenorientierte Datenbank mit den Vorzügen einer relationalen Datenbank zu verbinden. Apache CouchDB wird auch oft als Datenbank für das Web bezeichnet, da es JSON spricht und besonders darauf ausgerichtet ist, Browsertechnologien zu unterstützen. CouchDB ist im hohen Maße skalierbar und kann mittels Events Ereignisse bei Änderungen initiieren. Bei Ubuntu wird der Server zum Beispiel für die Synchronisierung der Bookmarks eingesetzt. CouchDB enthält die CouchAPP das ein komplettes Web Application Framework mit CouchDB als Grundlage zur Verfügung stellt.

PouchDB hilft nun bei der Replikation von Daten zwischen verschiedenen Instanzen von CouchDB. Braucht man nicht, braucht man ja bei MySQL schließlich auch nicht? ;) Tja, dummerweise habe ich grad vergessen zu erwähnen dass das mit PouchDB auch offline geht! ;) Die Javascript Library verwendet die HTML5 IndexedDB API und speichert die Daten lokal ab. Sobald man online ist synchronisiert die Library mit einem zentralen CouchDB-Server. Dies geht parallel auf mehreren Rechnern mit verschiedenen Datenbeständen ebenso, wie auf mehrere verschiedene Server.

Um wieder zu einem Beispiel zurückzukommen: bei einem solchen Konstrukt ist es logisch wie einfach zum Beispiel eine Synchronisierung von Bookmarks auf mehreren Rechnern – wie bei Ubuntu Standard – eingesetzt werden kann. MySQL ist inzwischen als relationale Datenbank nicht mehr die erste Wahl für alle möglichen Anwendungen, sondern es existieren durchaus sinnvolle Alternativen die dem Anwendungszweck besser angepasst sind.

Ähnliche Beiträge

Photoshop mit Javascript Zu sagen man kennt Photoshop nicht wäre als wenn ein Eisverkäufer mit der Gabel die Waffeln füllt. Erstaunlicherweise ist es aber so, dass nicht ein B...
Javascript spricht MP3 Nein, kein Scherz! ;) JSmad kann mittels der WEB Audio API von HTML5 MP3 in Javascript decodieren. Das funktioniert nativ derzeit nur im Firefox 4, in...
Autoresize von Textareas mit jQuery Textareas sind immer so eine Sache: egal wie groß man sie macht, der Kunde findet sie zu klein. Auch die Breite der Eingabe ist oft problematisch, da ...
Google Maps API – Geocodierung In den bisherigen Teilen des Tutorials haben wir eine Adresse immer mittels der Koordinaten übergeben. Wie schon festgestellt birgt das einiges an Pro...

Schreibe einen Kommentar