2010-08-26 8 views
16

Gibt es irgendwelche Bibliotheken, die Programme in Java erstellen, die eine Datei als Datenbank verwenden und Sie keine Datenbankdienste auf dem Computer installieren müssen, den Sie verwenden werden?Dateibasierte Datenbank in Java

Antwort

10

Derby und Hypersonic SQL können beide im Speicher- und Servermodus ausgeführt werden.

+3

+1. Dies sollte die Antwort sein, nicht sqlite, die plattformspezifische Bibliotheken benötigt. Fügen Sie einfach einige Links hinzu: http://db.apache.org/derby/ http://hsqldb.org/ http://www.h2database.com/html/main.html –

2

Derby kann wie oben erwähnt im Embedded-Modus ausgeführt werden. Es ist tatsächlich in Java 6 SE enthalten und heißt stattdessen Java DB (obwohl es wirklich nur Apache Derby ist). Es ist ziemlich einfach zu bedienen, obwohl das Standard-Datenbank-Tool (ij) nicht groß ist. Ich würde etwas wie SQuirreL SQL verwenden, um die Daten anzuzeigen.

2

Neben den bereits erwähnten eingebetteten relationalen Datenbanken gibt es auch nicht relationale eingebettete Java-Datenbanken wie exist (eine XML-DB) oder db4o (eine Objekt-DB).

14

Was ist mit H2?

H2 ist ein relationales Datenbankverwaltungssystem, das in Java geschrieben ist. Es kann in Java-Anwendungen eingebettet oder im Client-Server-Modus ausgeführt werden. Der Festplattenspeicherplatz (Größe der JAR-Datei) beträgt ca. 1 MB. (Wikipedia)

3

Wenn jemand für eine sehr einfache Datei-basierten Datenbank sieht versuchen, diesen älteren low-level database, die sehr einfach zu verstehen. Es ist ein Tutorial, aber Sie können den vollständigen Quellcode here herunterladen.

Im Grunde verwendet es eine einfache RandomAccessFile und Standard-Java-Serialisierung, so dass Sie alles serialisierbar speichern können und Sie keine spezielle Konfiguration oder Anmerkungen in Ihren Objekten benötigen, um es zu verwenden. Keine Notwendigkeit für Bibliotheken.

3

MapDB bietet gleichzeitige Karten, Sets und Warteschlangen, die durch Festplattenspeicher oder Off-Heap-Speicher gesichert werden. Es ist eine schnelle und einfach zu verwendende eingebettete Java-Datenbank-Engine.

https://github.com/jankotek/MapDB

http://www.mapdb.org/

+0

Unter den Schlüssel-Wert-Geschäften, [Chronik-Karte] (https://github.com/OpenHFT/Chronicle-Map) und [JetBrains Xodus] (http://jetbrains.github.io/xodus/) sind ebenfalls starke Alternativen (siehe [Leistungsvergleich, einschließlich MapDB ] (http://jetbrains.github.io/xodus/#benchmarks)) – leventov

Verwandte Themen