SQLite oder RDBMS als Datei(nicht Client/Server)

Status
Nicht offen für weitere Antworten.

schmeckzilla

Mitglied
Hallo,

ich suche eine SQL-Datenbank für die ich keinen Server installieren muss. Alle Daten sollen in einer Datei sein. Auf diese möchte ich per JDBC und SQL zugreifen.

Beim Googeln bin ich auf SQLite (http://www.sqlite.org) gestoßen. Hat damit schon jemand Erfahrugnen gemacht? Gibt es andere/bessere Datenbanksysteme die alles in einer Datei ohne einen extra zu installierenden Server speichern?

Die Datenmengen, die die Datenbank bewältigen muss, sind nicht groß. Meine Applikation soll ein virtuelles Trainingsbuch sein. Maximal 1-3 Einträge pro Tag.

Eine relationale Datenbank möchte ich auf Grund der besonderen Abfragemöglichkeiten haben.

Tschaui
Daniel
 

schmeckzilla

Mitglied
Hallo,

habe ich sogar gemacht. :shock:

Zu SQLite habe ich nicht wirklich was brauchbares im Forum gefunden. Eine Frage zu SQLite, die keiner beantwortet hat und eine Antwort, dass es SQLite gibt und HSQLDB auch csv kann.

Das beantwortet meine Fragen nicht. Sorry.

Auf Derby bin ich nicht von alleine gestoßen. Werde ich mir mal anschauen.

Ich möchte eine Datenbank in einer Datei ohne RDBMS in der ich mehrere Tabellen ablegen kann und auf die ich per SQL/JDBC zugreifen kann. Kann HSQLDB das auch, oder nur csv Dateien?
 

AlArenal

Top Contributor
schmeckzilla hat gesagt.:
Ich möchte eine Datenbank in einer Datei ohne RDBMS in der ich mehrere Tabellen ablegen kann und auf die ich per SQL/JDBC zugreifen kann. Kann HSQLDB das auch, oder nur csv Dateien?

Du willst ne Datenbank und SQL mit JDBC, aber ne RDBMS willste nicht? Wie passt das zusammen?

HSQL legt normalerweise pro Datenbank eine Datei an, optional kann das auch eine CSV-Datei sein. Ansonsten gibts auch JDBC-Treiber speziell für CSV-/Excel-/Sonstwas-Dateien.

HSQLDB und Derby sind nur zwei Vertreter der Fraktion der in Java geschriebenen In-Process-Datenbanken, es gibt da noch ein paar mehr, manchen von denen fehlt dann auch der Server-Modus, der aber gerade in der Entwicklungsphase sehr nützlich ist, weil man mit gängigen Tools auf die DB zugreifen kann.
 

schmeckzilla

Mitglied
Eigentlich will ich den Luxus einer "normalen" SQL-Datenbank ohne das auf dem Rechner ein Datenbankserver wie mysql o. postgresql installiert ist. Auf die Datenbank wird nur durch meine noch zu schreibende Anwendung zugegriffen. In der Anwendung selbst will ich mich aber nicht auf das Parsen und SQL-Kompatibilität kümmern, sondern einfach per JDBC auf die in der Datei gespeicherten Daten zugreifen und auch ändern können.

Auf SQLite bin ich gekommen, da ich darüber etwas im Zusammenhang mit Perl gehört habe. Mittlerweile habe ich mir derby etwas genauer angeschaut. Derby scheint das von mir oben beschriebene zu erfüllen, richtig?

Danke für den Tipp zu Derby. Habe mir auch gleich das Derby-Plugin für Eclipse installiert.

Da u.a. SQlite, HSQLDB und Derby diesen Zweck erfüllen, gibt es irgendwelche logischen Gründe die für oder gegen eine DB sprechen. (z.B.: X wird nicht mehr entwickelt, oder y erfüllt den ANSI SQL Standard, ...)

Zur Zeit würde ich mich auf Grund meines Bauchgefühles und da ich Apache-Projekte mag ( :) ) mich für Derby entscheiden.
 

AlArenal

Top Contributor
schmeckzilla hat gesagt.:
Eigentlich will ich den Luxus einer "normalen" SQL-Datenbank ohne das auf dem Rechner ein Datenbankserver wie mysql o. postgresql installiert ist. Auf die Datenbank wird nur durch meine noch zu schreibende Anwendung zugegriffen.

Iss schon klar. So macht es z.B. BlogBridge (mit HSQLDB).

In der Anwendung selbst will ich mich aber nicht auf das Parsen und SQL-Kompatibilität kümmern, sondern einfach per JDBC auf die in der Datei gespeicherten Daten zugreifen und auch ändern können.

JDBC ist lediglich ein Vehikel, SQL brauchst du trotzdem und damit hast du automatisch mit dem SQL-Dialekt der Ziel-Datenbank zu tun. Je nachdem wie komplex und spezifisch deine Abfragen sind und ob du die DB um FUnktionen erweiterst, sind die Abfragen dann am Ende mehr oder weniger kompatibel zu anderen RDBMS. Stellt sich die Frage, ob Kompatibilöität zu anderen DBs überhaupt eine Rolle spielt.

Auf SQLite bin ich gekommen, da ich darüber etwas im Zusammenhang mit Perl gehört habe.

Dass SQLlite auf C basiert und damit eine native Anwendung ist, ist dir aber schon klar?

Mittlerweile habe ich mir derby etwas genauer angeschaut. Derby scheint das von mir oben beschriebene zu erfüllen, richtig?

So unspezifisch wie deine Anforderungen waren, erfüllen folgende DBs wohla lle deine Forderungen:

* Cloudscape/Derby
* Fositex
* HSQLDB
* InstantDB
* JDataStore
* McKoi SQL Database
* SimpleText Database
* SmallSQL Database

Da u.a. SQlite, HSQLDB und Derby diesen Zweck erfüllen, gibt es irgendwelche logischen Gründe die für oder gegen eine DB sprechen. (z.B.: X wird nicht mehr entwickelt, oder y erfüllt den ANSI SQL Standard, ...)

Klar gibt es Gründe für und gegen den Einsatz von RDBMS, darum gibt es wohl Anwendungen die welche benutzen und welche die es nicht tun. Ich weiß ja nicht was genau du alles in deine Anwendung reinpacken willst. Auf den ersten Blick würde ich sagen, dass man nicht zwingend eine DB benötigt, aber es vereinfacht später womöglich die Erweiterung, weil man schnell mal ne Volltextsuche zusammengekloppt hat, die man anderweitig selbst stricken oder auf Lucene aufbauen müsste...

Zur Zeit würde ich mich auf Grund meines Bauchgefühles und da ich Apache-Projekte mag ( :) ) mich für Derby entscheiden.

Ich würde eher mal die Alternativen abklopfen und mal mit allen rumspielen. Sonst schießt man schnell mal mit Kanonen auf Spatzen. Derby ist im Vergleich der o.g. Kandidaten schon ein "Brocken". Vermutlich ist SmallSQL für deine Belange schon mehr als ausreichend und dabei wohl der schlankeste Vertreter.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T SQLite Alternativen zu SQlite, dateibasiert, leicht verschlüsselbar, Nutzerverwaltung Datenbankprogrammierung 21
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
Maxim6394 JPA 3.2 & SQLite - LocalDateTime wird falsch geladen Datenbankprogrammierung 1
Maxim6394 EclipseLink + SQLite | Unable to acquire a connection from driver [null] Datenbankprogrammierung 6
J SQLite Abfrage fehlerhaft - komme nicht weiter - please help. Datenbankprogrammierung 3
thor_norsk SQLite Fehlermeldung Datenbankprogrammierung 4
N JDBC SQLITE und Cascading Datenbankprogrammierung 2
B SQlite Datenbank, trotz Statements wurden nicht alle Zeilen erzeugt? Datenbankprogrammierung 35
B SQLite Befehl bauen? Datenbankprogrammierung 4
D SQLite Datenbank in Android Studio (Java) durchsuchen Datenbankprogrammierung 3
thobren Projekt SQlite! Wie kann ich auf auf SQlite Daten zugreifen? Datenbankprogrammierung 4
Davee SQLite SQLite Datenbank lässt sich nicht auf anderen PCs öffnen Datenbankprogrammierung 8
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
D SQLite Collections oder Arrays in SQLite abbilden Datenbankprogrammierung 7
N ORM für Sqlite Datenbankprogrammierung 4
M SQLite Datenbank mit SQLite Datenbankprogrammierung 7
N Sqlite DB mit Java wird auf Linuxsystem nicht gefunden Datenbankprogrammierung 9
N SQLite Datenbankprogrammierung 2
S Daten von SQLite Datenbank nutzen Datenbankprogrammierung 5
B SQLite Frage zu SQLite Datenbankverbindung Datenbankprogrammierung 7
E Sqlite-jdbc Mitliefern Datenbankprogrammierung 4
X Sqlite Fks Datenbankprogrammierung 4
C JDBC und SQLite Datenbank Datenbankprogrammierung 8
X SQLite SQLite Programm beendet/führt nicht weiter aus Datenbankprogrammierung 12
Sam96 SQLite mit JavaFX Datenbankprogrammierung 1
T sqlite select Datenbankprogrammierung 12
V SQLite Performance: 1 Datei mit einzelnen Einträgen gegenüber SQLite Datenbankprogrammierung 7
F Java SQLite Error Datenbankprogrammierung 19
F Sqlite cannot commit Datenbankprogrammierung 2
H SQLite Sqlite Datenbank direkt einbinden. Datenbankprogrammierung 5
U Dom Parser und SQLite füllen Datenbankprogrammierung 5
D SQLite Datenkbank auf WebServer möglich? Datenbankprogrammierung 4
M Datenbankausgabe .jsp per SQLite Datenbankprogrammierung 7
J SQLite Login Datenbank Datenbankprogrammierung 2
M SQLite Einstieg mit SQLite, wohin mit der DLL? Datenbankprogrammierung 7
M SQLite Speicherpfad Datenbankprogrammierung 0
G SQLite SQLite Select für View vereinfachen/optimieren Datenbankprogrammierung 4
G sqlite innerjoin Datenbankprogrammierung 5
G SQLite Daten aus SQLite DB in andere SQLite DB importieren Datenbankprogrammierung 4
R sqlite UPDATE wirkt nicht aus Java Datenbankprogrammierung 7
G SQLite SQLite Abfrage Datenbankprogrammierung 4
F SQLite-Extensions unter Java Datenbankprogrammierung 2
H SQLite mit DefaultTableModel synchronisieren Datenbankprogrammierung 5
D SQLite Statement nimmt keine Namen aus getter-Methoden Datenbankprogrammierung 11
L SQLite fügt nur den ersten Datensatz ein Datenbankprogrammierung 2
S SQLite Ausführbares Jar mit SQLite DB Datenbankprogrammierung 4
F [SQLite] Mehrere Datensätze einfügen Datenbankprogrammierung 12
H SQLite Datenkbank erstellen Datenbankprogrammierung 3
S Abfrage auf SQLite-DB Datenbankprogrammierung 2
Kasoki SQLite SQLite oder doch XML!? Datenbankprogrammierung 2
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
G SQLJet (SQLite) - Mehrbenutzerzugriff auf Datenbank handhaben Datenbankprogrammierung 1
S SQLite in JAR Datenbankprogrammierung 8
J SQLite --> Java SDK Datenbankprogrammierung 7
P Datenbank für Java Anwendung wie SQLite ohne Installation Datenbankprogrammierung 4
P Sqlite API für JAVA ? Datenbankprogrammierung 9
feuervogel SQLite unter Linux mit Eclipse einrichten Datenbankprogrammierung 8
K SQLite Datenbankprogrammierung 5
M Datenbank Zugraff nach Umwandlung in .jar-Datei nicht mehr möglich Datenbankprogrammierung 4
D H2 schema-Datei ausführen Datenbankprogrammierung 22
L Oracle SQL Inserts via Client vs SQL Datei via ScriptRunner Datenbankprogrammierung 6
J JAR-Datei und Datenbank Datenbankprogrammierung 8
S Verbindung von einer Excel Datei zu Java Datenbankprogrammierung 2
J Jar-Datei stellt keine Datenbankverbindung her Datenbankprogrammierung 3
L CSV Datei mit DB Inhalt vergleichen Datenbankprogrammierung 20
F Auslesen einer .dbf-Datei, Zuordnung Index Datenbankprogrammierung 0
T Datei auf Desktop ausgeben Datenbankprogrammierung 22
W Daten aus einer Datei von einem VServer auslesen Datenbankprogrammierung 1
M HSQLDB .Script-Datei entfernen oder sperren Datenbankprogrammierung 18
M MySQL JSON-Datei auf Datenbank anwenden Datenbankprogrammierung 17
M Verbindung von Java Programm zur Acccess Datenbank (mdb-Datei) Datenbankprogrammierung 0
J SQL Datei einlesen/beschreiben Datenbankprogrammierung 0
F JPA persistence.xml mit EXTERNER Config Datei Datenbankprogrammierung 0
C VDF Datei als Datenbank genutzt!!! Datenbankprogrammierung 5
L SQL2SMO JAR-Datei zum Laufen bringen Datenbankprogrammierung 0
Androbin [Serializing] Mehrere Objekte in einer einzigen Datei speichern Datenbankprogrammierung 1
P Derby/JavaDB Csv Datei für dieses Musterprogramm Datenbankprogrammierung 12
D [xBaseJ] Datei kann nicht geöffnet werden Datenbankprogrammierung 2
L Werte in Datei speichern Datenbankprogrammierung 16
D Datenbank oder XML Datei Datenbankprogrammierung 3
M HSQLDB oder DERBY - warum SCRIPT Datei? Datenbankprogrammierung 0
S SQL-Abfrage, Filewriter .txt Datei Datenbankprogrammierung 2
T 3 GB Große CSV Datei einlesen und in SQL-DB schreiben Datenbankprogrammierung 12
T Datei import und Datumsformat Datenbankprogrammierung 4
D Derby Datenbank bei Export zu JAR-Datei nicht möglich Datenbankprogrammierung 8
K SQLite CSV-Datei einlesen in eine Datenbank Datenbankprogrammierung 7
E csv datei in JTable einlesen Datenbankprogrammierung 3
E Datei Zippen und an DB schicken Datenbankprogrammierung 7
N Oracle txt. Datei auslesen-> verändern-> einlesen Datenbankprogrammierung 7
I Zugriff auf Datenbank nach Erstellen einer Executable Jar Datei verweigert Datenbankprogrammierung 10
D MySQl Treiber in .jar Datei einbinden, Bukkit Datenbankprogrammierung 2
M Datenbank-Datei Datenbankprogrammierung 10
bluerob MimeMessage .getFrom()[0]; liest eml-Datei nicht Datenbankprogrammierung 7
achillesat ausgelesene Datei in Datenbank schreiben Datenbankprogrammierung 9
O MySQL sql Datei einzelner Tabellen erzeugen (über Java Programm) Datenbankprogrammierung 6
F Große Datei in MySQL importieren Datenbankprogrammierung 10
H Derby SQL-Abfragen in Datei abspeichern Datenbankprogrammierung 2
S passwortgeschützte Excel-Datei einlesen Datenbankprogrammierung 3
S Schnellste Methode Datei aus Datenbank herstellen Datenbankprogrammierung 7
C XLS Datei aus Datenbank erstellen Datenbankprogrammierung 14

Ähnliche Java Themen

Neue Themen


Oben