© DrHitch/Shutterstock.com
Die Serverwelt von Node.js

3 Datenbanken mit Node.js


Für den Benutzer einer Anwendung spielt es oft keine Rolle, wo genau seine Daten herkommen und was sich technisch hinter den Kulissen abspielt. Wurden die Daten strukturiert gespeichert oder in einem Dokument? Sind die Daten nur flüchtig gespeichert oder persistent? Ist es nur eine Datei auf der Festplatte oder ein großes Datenbanksystem? Auf den Schultern der Entwickler lastet die Entscheidung über die richtige Art der Datenhaltung.

Im ersten Kapitel dieses Node.js-Shortcuts haben wir uns allgemein mit Node.js auseinandergesetzt und dabei grundlegende Tools wie npm, nvm oder eben Node.js selbst kennengelernt. Mit den ersten Funktionen konnten wir bereits einen kleinen Taschenrechner entwickeln, der sich über die Kommandozeile steuern lässt.

Im zweiten Kapitel sind wir einen Schritt weitergegangen und haben uns mit der Entwicklung eines Web-API beschäftigt. Dieses Web-API konnte einfache Kundendaten, bestehend aus Vor- und Nachname, verwalten. Es ist von jedem Client, der HTTP spricht, benutzbar. Allerdings wurden die Kundendaten nur In-Memory gespeichert. Das heißt, nach einem Neustart des Servers waren alle Daten verloren. Nicht gerade förderlich, wenn man hier seine Kundendaten speichern möchte. Das werden wir im Folgenden ändern und das Web-API dahingehend anpassen, sodass die Daten persistent in einer Datenbank abgelegt werden.

Am Anfang herrscht das Chaos

Eine einfache Art, unsere Daten persistent abzuspeichern, wäre das Speichern der Daten in eine Datei auf der Festplatte. Für jeden unserer Kunden könnten wir eine eigene Datei anlegen und dort seine Informationen abspeichern. Das heißt, unsere Datenbank wäre eine lose Ansammlung von Dateien in einem Ordner. Jede Operation auf den Daten erfordert einen Zugriff auf das Dateisystem mit einer Lese- und ggf. einer Schreiboperation. Möchten wir Daten verknüpfen, müssen wir unter Umständen weitere Dateien laden und schauen, ob der Inhalt unseren Selektionskriterien entspricht. Es ist allerdings offensichtlich, dass diese Art der Datenhaltung nicht gerade effizient und schnell ist.

Bleiben wir im unstrukturierten Bereich, sprechen wir im Zusammenhang mit Node.js recht schnell über NoSQL-Datenbanken. Anfangs stand der Begriff tatsächlich für „No SQL“, hinter dem sich zwei Konzepte verbergen. Das erste Konzept ist der tatsächliche Verzicht der Sprache SQL zur Datenabfrage und -manipulation. Das zweite Konzept ist das Abstandnehmen vom relationalen Datenmodell zugunsten anderer Modelle wie dokumentenorientie...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang