PickleDB – Leichte Datenbank für Python

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung

PickleDB ist eine leichte Schlüssel-Wert-Datenbank, die in reinem Python geschrieben ist und keine zusätzlichen Server oder Abhängigkeiten erfordert. Diese Bibliothek bietet eine einfache Lösung zum Speichern kleiner Datenmengen im JSON-Format und ist daher ideal für schnelle Prototypen, CLI-Tools, Konfigurationsdateien und Mikroprojekte.

Der Hauptvorteil von PickleDB liegt in seiner einfachen Handhabung bei gleichzeitig ausreichender Funktionalität für eine Vielzahl von Datenspeicher-Aufgaben. Die Bibliothek unterstützt verschiedene Datentypen: Zeichenketten, Zahlen, Listen, Wörterbücher und boolesche Werte.

Was ist PickleDB und wo wird es eingesetzt?

PickleDB ist eine NoSQL-Datenbank, die Daten als Schlüssel-Wert-Paare in einer JSON-Datei speichert. Die Bibliothek wurde als Alternative für Fälle entwickelt, in denen der Einsatz vollwertiger Datenbanksysteme wie PostgreSQL oder MySQL übertrieben wäre.

Zu den Hauptanwendungsbereichen von PickleDB gehören:

  • Speichern von Benutzereinstellungen und Konfigurationen
  • Zwischenspeichern von Berechnungsergebnissen
  • Aufbewahrung von Autorisierungs-Tokens und API-Schlüsseln
  • Führen einfacher Logs und Zähler
  • Schnelles Prototyping mit Datenpersistenz
  • Entwicklung von CLI-Anwendungen mit lokaler Speicherung

Installation und erste Einrichtung

Zur Installation von PickleDB wird der Standard-Python-Paketmanager verwendet:

pip install pickledb

Nach der Installation ist die Bibliothek ohne weitere Konfiguration einsatzbereit:

import pickledb

# Datenbank erstellen oder verbinden
db = pickledb.load('database.db', auto_dump=True)

Der Parameter auto_dump=True sorgt für die automatische Speicherung aller Änderungen in die Datei und gewährleistet so die Datensicherheit auch bei unerwarteten Programmabbrüchen.

Architektur und Funktionsweise

Datenstruktur

PickleDB verwendet JSON als Speicherformat, was die Lesbarkeit und Portabilität der Daten zwischen verschiedenen Systemen gewährleistet. Die Datenbankdatei ist ein normales JSON-Dokument mit folgender Struktur:

{
  "simple_key": "Zeichenkettenwert",
  "numeric_key": 42,
  "boolean_key": true,
  "list_key": ["Element1", "Element2", "Element3"],
  "dict_key": {
    "nested_field": "verschachtelter Wert",
    "nested_number": 100
  }
}

Speichermechanismus

Bei der Arbeit mit PickleDB werden alle Daten beim Initialisieren der Datenbank in den Speicher geladen. Änderungen werden am Objekt im Speicher vorgenommen und dann, je nach Einstellung, in die Datei geschrieben:

  • Bei auto_dump=True – Speicherung erfolgt nach jedem Schreibvorgang
  • Bei auto_dump=False – manueller Aufruf der Methode dump() erforderlich

Vollständige Referenz der PickleDB-Methoden und -Funktionen

Wichtige Methoden zur Datenverwaltung

Methode Beschreibung Anwendungsbeispiel
set(key, value) Speichert einen Wert unter einem Schlüssel db.set('name', 'Max')
get(key) Ruft den Wert eines Schlüssels ab name = db.get('name')
exists(key) Prüft, ob ein Schlüssel existiert if db.exists('name'):
rem(key) Löscht einen Schlüssel und seinen Wert db.rem('name')
getall() Gibt alle Schlüssel zurück keys = db.getall()
totalkeys() Gibt die Anzahl der Schlüssel zurück count = db.totalkeys()

Empfehlungen