Mir wurde die Existenz eines sehr interessaten Projektes nahegebracht. Denn wie entwickelt man mittlerweile eine Web-Applikation? Datenbank -> SQL -> PHP -> HTML -> Javascript und das Ganze auch am Besten dank AJAX etc. auch wieder in die andere Richtung. Kein Wunder, das man sich fragen muss, auf welchem Layer hat man denn eigentlich eine Funktionalität implementiert?
Warum sollte man sich also nicht ein wenig ausruhen auf der Couch.
couchDB ist eine Datenbank und noch im sehr frühen Entwicklungsstadium, aber fällt durch zwei Besonderheiten auf, die für Webentwickler geradezu einladend sind.
- Es gibt keine Tabellen im klassischen Sinne.
- Sie wird nicht durch SQL angesprochen.
Wie bitte? Was ist das bitte für eine Datenbank? Die Entwickler nennen ihr Konzept “Document zentric”. In der Datenbank werden also keine Tabellen oder ähnliches abgelegt, sondern alles in Flatfiles. Jeder Eintrag erhält einen Unique Identifier und alles andere kann man frei wählen, also die Struktur, den ein Eintrag hat. Ein neues Feld hinzufügen? Klar, einfach beim nächsten Mal mitspeichern. Text, Bilder, was auch immer? Egal, einfach einen Eintrag anlegen.
Und das soll effizient sein? Jetzt kommt der nächste coole Part. couchDB speichert alle seine Daten als JSON. Und jetzt kommt der Clou, es gibt kein SQL, sondern alle Operationen werden per REST-API ausgeführt. Neuen Eintrag anlegen, einfach ein PUT gegen die Datenbank, Daten abrufen? Machen wir doch ein GET. Aber etwas ähnliches wie ein SELECT muss doch auch gehen? Klar, man schickt eine Funktion gegen die jeder Eintrag geprüft wird, quasi (vereinfacht)
if ( type == ‘news’) return
anstatt
“SELECT * FROM `news`
da ist nicht viel verloren.
Und jetzt werde ich mal ausprobieren, ob man ein Web-App bauen kann, die nur aus Javascript (extJs) und dieser Datenbank besteht…
Ähnliche Artikel:





