© Teguh Jati Prasetyo/Shutterstock.com
Eine leichtgewichtige Datenbankalternative

Node.js-Module: lowdb


Datenbanken sind für die Persistierung von Daten in Node.js-Applikationen unerlässlich. Je nach Anwendungsfall können Sie auf die verschiedensten Implementierungen zurückgreifen. Eine schlanke Alternative zu schwergewichtigen Datenbanken ist lowdb.

Allen Datenbanken gemein ist, dass Sie die Datenbanksoftware installieren müssen und einen Serverprozess ausführen müssen. In einigen Szenarien bedeutet das allerdings einen unnötig großen Overhead. Gerade wenn Sie nur schnell etwas testen möchten oder Sie sich in einer Umgebung befinden, in der Sie keine zusätzliche Software installieren dürfen.

Eine leichtgewichtige Alternative hierfür bietet SQLite, eine dateibasierte SQL-Datenbank. Aber Sie müssen auch hier den Datenbanktreiber kompilieren. Um das zu vermeiden, existiert die Datenbank namens lowdb. Diese Datenbank basiert auf der Bibliothek Lodash. Die Daten werden in einer JSON-Datei festgehalten. Da die lowdb die Daten im Klartext ablegt, reicht sie keinesfalls an die Performance einer vollwertigen Datenbank heran, die die Informationen normalerweise in einem optimierten Binärformat speichern. Aus diesem Grund empfiehlt sich auch der Einsatz von lowdb im Produktivbetrieb nicht.

Installation und erste Schritte

lowdb kann über NPM und Yarn installiert werden. Für NPM lautet das Kommando beispielsweise npm install lowdb. Für den Zugriff auf die Daten kommt eine Adapterschicht zum Einsatz. lowdb liefert eine Reihe von Adaptern aus. Die wichtigsten sind FileSync und FileAsync für den synchronen beziehungsweise asynchronen Zugriff.

Bevor Sie mit der Datenbank arbeiten können, müssen Sie zunächst den Adapter initialisieren. Dabei übergeben Sie dem Konstruktor den Namen der Datei, in der die Informationen festgehalten werden sollen. Die Datei kann bereits bestehen und mit Informationen vorbefüllt sein. Ist die Datei nicht vorhanden, wird sie von lowdb angelegt. Die Objektrepräsentation des Adapters übergeben Sie anschließend an lowdb. Existiert die Datenbankdatei noch nicht, müssen Sie die Struktur der Datenbank vordefinieren. Hierfür rufen Sie die defaults-Methode auf und übergeben ihr die Namen der einzelnen Objektspeicher. Anschließend rufen Sie die write-Methode auf, um die Informationen zu persistieren. Listing 1 fasst diese Schritte für Sie zusammen.

Listing 1: Verbindung zur Datenbank aufbauen

const low = require('lowdb'); const FileSync = require('lowdb/adapters/FileSync'); const adapter = new FileSync('db.json'); const db = low(adapter); db.defaults({...

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