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

Tutorial Google Maps API – die Anfänge mit JavaScr... Wie versprochen kommt heute der erste Teil des Google Maps Tutorials, dass sich primär mit der API an sich und JavaScript beschäftigen wird. Bevor wir...
MyWebSQL – als Alternative zu phpMyAdmin (re... Meine Meinung zu phpMyAdmin habe ich ja schon ausreichend verkündet: es hat seine Zeit gehabt, nun ist aber auch gut. Leider setzen noch alle großen P...
LABjs – JavaScript On-Demand nachladen Wer kennt das Problem nicht? Schnell hat man beim Einsatz von jQuery 5-6 Skript-Tags im Header, die nicht unbedingt kleine Javascripte laden. Neben jQ...
DBKiss – eine weitere Alternative zu phpMyAdmin Meine Meinung bzgl. phpMyAdmin dürfte inzwischen hinlänglich bekannt sein, ich für meinen Teil benutze inzwischen fast nur noch Adminer für das Frank ...

Schreibe einen Kommentar