Verbinden
Datenbank verbinden oder anlegen
Um DuckDB zu nutzen, müssen Sie zuerst eine Verbindung zu einer Datenbank herstellen. Die genaue Syntax unterscheidet sich zwischen den Client-APIs, typischerweise übergeben Sie aber ein Argument, um die Persistenz festzulegen.
Ab DuckDB v1.5.2 können Sie das Quack-Protokoll für eine Client-Server-Verbindung verwenden. Quack ist derzeit experimentell und soll bis Herbst 2026 ausreifen.
Persistenz
DuckDB kann im persistenten Modus arbeiten, bei dem die Daten auf die Festplatte geschrieben werden, und im In-Memory-Modus, bei dem der gesamte Datensatz im Hauptspeicher liegt.
Tipp Sowohl persistente als auch In-Memory-Datenbanken nutzen Auslagerung auf die Festplatte, um Workloads zu ermöglichen, die größer sind als der verfügbare Speicher (Out-of-Core-Verarbeitung).
Persistente Datenbank
Um eine persistente Datenbank anzulegen oder zu öffnen, setzen Sie beim Herstellen der Verbindung den Pfad der Datenbankdatei, z. B. my_database.duckdb.
Dieser Pfad kann auf eine vorhandene Datenbank oder auf eine noch nicht existierende Datei zeigen; DuckDB öffnet oder erstellt die Datenbank an diesem Ort nach Bedarf.
Die Datei darf eine beliebige Erweiterung haben; .db oder .duckdb sind gängige Wahl, gelegentlich wird auch .ddb verwendet.
Ab v0.10 ist das Speicherformat von DuckDB abwärtskompatibel, d. h. DuckDB kann Datenbankdateien einer älteren DuckDB-Version lesen. DuckDB v0.10 kann beispielsweise Dateien der Vorgängerversion v0.9 lesen und damit arbeiten. Weitere Details zum Speicherformat finden Sie auf der Speicherseite.
In-Memory-Datenbank
DuckDB kann im In-Memory-Modus arbeiten. In den meisten Clients aktivieren Sie das, indem Sie den Sonderwert :memory: als Datenbankdatei übergeben oder das Argument für die Datenbankdatei weglassen. Im In-Memory-Modus werden keine Daten auf die Festplatte geschrieben; beim Beenden des Prozesses gehen daher alle Daten verloren.