HSQL-DB ohne/mit Server

annikaausbremen

Neuer Benutzer
Beiträge
1
Ich verstehe die Erklärung nicht - kann mir ungefähr einen Reim darauf machen. Würde gern wissen, ob meine Vorstellungen richtig sind

Erklärung:
"Das Paket bringt sowohl einen HSQL-Server mit, der SQL-Anfragen aus dem Netzwerk (per JDBC) entgegennimmt, als auch die Möglichkeit, die Datenbank vollständig ohne Server zu betreiben und damit in ein Programm zu integrieren. Die Kommunikation geht dann nur über API-Aufrufe und nicht über das Netzwerk vonstatten."

1. wo werden die Daten ohne/mit Server gespeichert?
2. verstehe ich es richtig, dass die API sozusagen eine Schnittstelle ist, die dann über das Internet auf den Server und die dortliegende DB zugreift?
3. DB ohne Server betreiben: Die DB ist dann auf dem Rechner installiert und deswegen kann ohne Server auf die DB zugegriffen werden?
4. DB ohne Server: handelt es sich dann um eine "In-Memory-Technologie"?
 
Zuletzt bearbeitet:
Werbung:
Konkret wüsste ich jetzt auch nicht mehr als das was bei Wikipedia steht. Man sollte vielleicht klar unterscheiden zwischen Datenbank (im Prinzip eine Datei) und DBMS (Datenbank Management System).
 
Werbung:
HSQLDB (oder eigentlich HyperSQL) kann in zwei Modi betrieben werden: "embedded" wo die gesamte Datenbank als Teil der JVM läuft die die Datenbank initialisiert. Oder eigenständiger Serverprozess (so wie auch "klassische" Datenbankserver wie z.B. PostgreSQL oder Oracle).

Der Java Code der die Datenbank verwendet unterscheidet sich nicht in den beiden Modi. Es werden immer SQL Befehle über JDBC geschickt und verarbeitet.

Wenn HSQLDB embedded ("in-memory") betrieben wird, dann wird über die JDBC URL bestimmt, wo die Daten gespeichert werden. Entweder wird alles im Speicher gehalten (und geht verloren, wenn man die Anwendung beendet). Oder man spezifiziert eine Verzeichnis in dem die Tabellendaten gespeichert werden, so dass die Daten nicht verloren gehen wenn die Anwendung beendet wird.

Im Server Modus gibt man dieses Verzeichnis beim Starten des Servers an.

Beim Anlegen einer Tabelle kann man definieren ob diese immer vollständig in den Speicher geladen wird, oder immer nur die Teile die benötigt werden (wie bei "klassischen" Datenbankservern). Nur mit den "CACHED" Tabellen ist es möglich, Daten zu verarbeiten die größer sind als der zur Verfügung stehende Hauptspeicher.
 
Zurück
Oben